程序员的要求
扫描二维码
随时随地手机看文章
这里有篇文章说学习Java的http://blog.blogchina.com/article_193037.1424628.html,我结合自己经验也凑个热闹。
我个人曾经为公司招聘过程序员,如果手头有那样一个标准,那么我会修改如下:
1 首先看第9点。
2 其他的80%统统换成20%,因为很简单的20:80理论。当要碰到80%的不熟悉内容时,80%的程序员都应该可以用不到一个小时学会马上上手,不要浪费你的脑子多装60%的东西,Java类库下一个版本搞不好就有“重大更新”,你的知识很可能deprecated掉了。
你说优化?是的,即便Java也有很多Dirty Tricks,一不留神就会编制出效率比较低的代码。但是那是3.0版或者说第三期工程的事,1.0我们要完成功能,2.0我们要稳定,不管哪个版本我们都要保证简单直接的设计,最后再谈性能。我在读大学时听王选教授说过类似的原则,差不多是我大学中学到的有关软件技术最重要的一句话。
3 单元测试,是的,这很重要,这是一个习惯,但是我的公司会给你养成这个习惯的坏境,3个月后你自然会养成,否则你可以考虑不要做程序员了。另外,很多公司根本不给你这样的环境,大家可以考虑是否真的打算加入这样的公司。
4 工程管理之类,请你不要坚持自己的一套,一个像样的公司应该准备好一整套适应自身需要的自动化的工程管理坏境,并由专门的低薪系统管理员维护,你可以专心做开发工作,不要担心,也不要把你自己习惯的一套带进来,请搞清楚你应聘的是程序员还是装机器装软件的SA。
5 设计模式和重构,是的,这非常重要,这就是为什么前面要省出60%脑袋的原因。请做好十年的奋斗准备,四金刚那本书保护好,你可能会在第n次重读时把它翻烂。对不起,您说准备5年后转到项目管理领域,因为程序员老了不值钱?那么你可以现在就可以把书丢掉了。什么,曾经有公司问你设计模式懂不懂?你可以说,我基本了解,借助现代的开发工具也可以在工作中应用,但是我对技术的来龙去脉,也就是为什么要这么做的问题还没有很深的理解,我需要时间来积累经验。