腾讯公司长年招聘程序员,一般要求三年工作经验,熟悉C++(或者C,Java),能独立承担编码工作。
程序员(英文Programmer)是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。
职责
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
怎么说呢,不同的程序员要求是不同的,我们以JAVA程序员为例子:三个基本要求:
(1)学历要求:大学本科以上学历(含本科),专业: 计算机相关专业本科以上;专科以上学历,计算机及其相关专业,3年以上相关岗位经验;
(2)工作经验要求:一年以上java开发工作经验;B/S项目开发经验2年以上;3年以上的Java, J2EE, XML等开发经验,1年以上架构设计经验(Windows环境);
(3)项目开发要求:具有一定规模的项目开发经验;
其实这三个要求,可以说,是目前大多数开发类技术岗位上,一定都有的要求。
学历来说,只是一个敲门砖,我们没有办法帮你,你达到基本要求即可,当然,如果你的要求不太合适,可以强调你的技术实力。
没办法,这个社会就是这么残酷,大多数公司,都不想花培养人的成本,都希望用熟手。
但另外一方面说,具有一定的项目开发经验,工作起点就会高很多,不管是收入,还是发展,你都会站在一个比较有利的位置上。
实际上,大学生也可以通过一定的训练,积累很多的项目开发经验,达到工作2-3年程序员的水平,这个我们另文专门再说。
1、代码能力代码能力是基本功,Java语言本身,包括语言的各个方面包括对并发的理解,对内存使用对理解,对Java运维的理解等等,语言本身外,社区里常用的框架是否可以十分清晰的了解,包括spring,包括他实现的ioc,aop,orm,web机制是否有清楚的认识,有丰富的经验等等。
2、对常用中间件的理解
毕竟在一个大系统中,各种中间件是是否常见的,缓存中间件,消息中间件,例如
redis、memcache、rmq这些,要理解常用中间件使用场景,使用姿势(例如redis的常用命令),甚至包括他的一些运维,一旦出了问题,除了专门的运维人员,也需要你参与问题的排查,因为有时候这些中间件出现问题,是不当的使用姿势引起的。
3、架构、业务落地能力
前面提到了语言本身,各种中间件,如果你有很好的业务抽象能力和架构思维,就可以把一款部门内部产品很好的设计并实施了,这点蛮难的,想必都有过接手现有项目的经历吧,有时候真恨不得把之前的设计者拿出来批斗,作为一个设计者,你能否做到当下一个接手它的人会说一句,这个系统设计的真好,稳定又可拓展,理解起来也很容易。
4、沟通协作
毕竟一个部门内部产品,是不可能由一个人完成的,所以需要沟通协作,把设计好的方案,要和2-3个小伙伴一起实施,包括同样身份的后端人员,前端人员,产品等角色,这个级别的人可能会参与带2-3个人,例如应届毕业等,所以你自己对知识的把握,分享精神,leadership都是很好的加分项。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)