我在某大型IT公司当任技术总监时,招聘软件开发人员,主要从以下几点考虑:
1、应聘人员的专业技术知识结构是否符合公司的产品开发方向。
2、应聘人员的实际开发软件的能力。
3、受教育的背景情况。
4、个人在软件开发领域的认识。
5、个人的再学习的能力等。
因此,对你所提的问题,应该是知识面尽可能广一些,但一定要有所侧重,应先考虑自已今后的发展方向,然后再在这一领域不断努力,这样一但有机会,你就很容易抓住。记住,对一个合格的软件开发人员,用什么开发工具及编程语言不是最重要的。C、C++、JAVA 等编程语言只是你的思维能力的一个载体,做到一定时候,用什么语言都差不多,都能实现你的逻辑思维,只是应用场合不同,开发的工作量及开发效率有所差别。
老实说如果以上你说的你全都精通(注意,是精通,不是毛皮),那你也是资深工程师了。你没有列出来的还有以下需要精通:数据库、设计模式、模板(彻底理解)、三维动画编程、编译器构造、多线程多进程编程......你自己考虑吧。
就算从长远来看,要全部精通也很难,比如说,做多媒体的和做驱动的完全就是两个领域。根据你要申请的职位,有所侧重是比较好的选择。实际上公司找你去,是要做事情的,你只要在要做的事情方面懂得多一些,应该就有机会的。