想成为一个码农之前,你还是要了解下国内苦逼码农的生存状况。
实际上大部分码农都是学习成绩不那么优秀的一个群体,这些人在大三时就直接开始找工作,在各种竞争层面上都显得没有优势的这些人,大部分都进了小公司实习。
而成绩较好的群体,则通过校招后,进入一些相对“高端”的IT行业公司,比较阿里、腾讯、百度等,这些公司往往更注重算法之类的知识,不是说这些公司不考逻辑等其它方面,而是说很多情况下的面试都需要以算法理论为基石的。
“高端”公司这样招人自然有他们的理由,但这不代表那些小公司不需要相对高端的人才。但现实中的两极分化确实使小公司很难,或者说也因为各种各样的原因(很复杂),无法吸收到那批在大学中表现优异的学生。造成了一个现象就是:小公司的在职人员普遍能力要弱于“高端”IT企业。
但无论做什么行业,优秀的人始终都是优秀的,成绩或者算法并不能代表一切,优秀的人总是会工作更加努力,更加善于在工作中总结自己犯下的错误并改正,更加主动的通过学习去加强自己的专业能力。
所以很多小公司才有机会成长为大公司,所以很多小白也要相信,你们是可以成为优秀的码农的。合格的码农要了解些什么呢?
客户需求。管理软件一定卖的是管理,而不是软件本身,客户说什么就做什么,那只会造成不停地返工,把自己累得半死。什么需求需要拒绝,什么需求需要延伸,什么需求需要改变,这些都是需要丰富的经验与技巧的。
合理设计。在把整个项目需求了解透彻的基础上,从开发时间,收益率,稳定性等方面去进行开发规划,还要对可预测范围内的需求变化有应对方案。绝对不能只是简单的把项目模块划清楚,数据字典做完就开搞程序。另外就是新技术使用有风险,最好评估了再上。
规范开发。选择自己最擅长的语言,选择一个强壮的框架,遵守代码规范,比如注解,比如统一命名等。
软件测试。开发完成后测试其实是非常重要的,但就我所知大部分人基本是不懂得如何去做完整测试的,而实际上在一些“高端”IT企业测试组的地位是相当高的。
作为一个同样从最底层往上爬的码农,我深刻理解所有人在学习道路上的苦恼与悲哀,这也是我写这些的目的之一,希望能够通过这些帮助大家明白自己的价值与目标。
如果非要以大学来划分,既然先天上我们已经落后,请在后天上加倍努力,也不枉活这一世。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。