招聘职位: |
程序员 |
年龄要求: |
20 至 35 岁 |
性别: |
不限
|
学历要求: |
本科以上 |
招聘人数: |
3 人 |
职位要求: |
对于一种计算机程序设计语言,我们将其分为语法、语义、语用三个层面。仅仅掌握语法是不够的,不算学好。但是很多人,在履历上写自己掌握(甚至精通)了某种语言,其实就是解了语法,会写简单的程序而已。这就是为什么我们行业特别不喜欢“精通”这个词的原因。
现代软件开发,规模都比较大,不是写个Hello World那么简单,也不可能每个项目每件事都从头开始造轮子,我们都是站在前辈、同行们的肩膀上工作的。也就是说,语言之外,还有“库”这个东西需要掌握,不然就寸步难行。库有语言级别支持的Build In的库,比如JAVA里面的util、concurrent,CPP的IOSTREAM、 STL等等;更多的更丰富的还有第三方提供的库,比如JDBC、Servlet、EJB的implementations等等。这些东西掌握了,干活儿才可能得心应手,不然寸步难行。
比Libaray更高层一些的,是Framework。框架的作用在于,将某一方面开发的Best Practices搞到一起,给你提供一个更易用的、不关注底层的脚手架。比如做企业应用的,Spring Framework是标配了;访问数据,Hibernate或者MyBatis也离不开,很少直接用JDBC去干活的了;做WEB的,各种MVC Framework起码得掌握一两个(spring mvc or struts 2 ?);做网络的,Netty, MINA怎么也得掌握一个......总而言之,框架是绕不过去的一个门槛。
然后呢,就是环境、辅助工具。应用服务器,怎么也得会调试配置那么两个吧。TOMCAT是入门标配,JBOSS,WEBLOGIC之类,起码要弄得跑得起来;针对不同应用场景,还要会选择。开发/管理工具,ECLIPSE是标配、GIT和SVN起码要搞熟一款;其它比如单元测试工具、Build工具、测试覆盖率、Code Review这些插件...也得知道怎么用。
最后,通用的,计算机科学的基础,不说多扎实,至少不能一窍不通。说起来就那几大件,操作系统、数据结构&算法、编译原理、体系结构。要懂一点点,你才知道你编的程序是怎么run起来的,哪儿可能存在效率问题性能瓶颈,除了问题知道怎么debug。如果仅仅把计算机当作一个黑盒子,那也不算学好了。
最最后,还有一样,就是你要训练一下,快速理解领域知识的能力。你参与做一个项目,你懂的只是上面这些专业知识,但并不懂客户的行业知识。如何尽快地理解业务,并用你手头的工具实现业务逻辑,这点对程序员而言是非常重要的,否则你做的东西客户总不满意,GET不到重点,很麻烦。
我觉得这是一个合格的程序员的基本要求。你看,我并没要求你懂需求工程、懂项目管理、懂架构设计、懂很多算法、模式,甚至更深的专业知识。
要学会这些,尤其是对于一个非专业的自学的人来讲,还是要花很多精力的,不太容易。当然你也可以选择一家正规的培训机构(诸如智递科技JAVA实训)来快速掌握这些,并且利用培训机构的项目实操优势来增加自己的项目开发经验。 |
|
|