Leo,您好!
本人属于你说的“80后”,2005年毕业于某大学通信工程专业,现在上海工作,到这家公司的时间大概半年。这家公司是全球最大的笔记本电脑制造商之一(代工工厂)。我现在的工作是负责电脑测试所需要的一系列测试程序的联结和组合,以使它们能覆盖预定的测试范围,并使生产线操作员、电子工程师、维修人员等,能方便有效的使用那些工具来完成对电脑功能和性能的确认。
目前我最主要的困惑是不知道下一步该怎么走。在给您写这封信之前,我也曾作了很多思考和尝试。我想应该先把我的想法和目前的状况真实的告诉给您。
我自己觉得,“下一步该怎么走”这个问题牵涉两个方面:
一是对目前工作的认识。就是说我为什么必须离开它?不离开它行不行?离开它的好处和坏处?
二是对寻找理想工作和自身情况的分析。为什么想走却走不了?
首先我想说一下对目前工作的认识。我觉得目前的工作有下面一些方面我不太能适应:
1、 我个人认为这个工作事务繁琐且没有头绪。这个职位的实质也许应该是生产技术支持,这就涉及到要和方方面面的人沟通和协调,并完成好从研发向生产的转化。其具体处理和实施对我而言是非常琐碎的,我很难找到其中的规律。如果我把握不到一个事物的规律我就会显得非常不安,无从下手来改善自己的业绩,也就没有成就感。
2、 我个人认为这个的工作技术含量不高。一个普通的技术人员经过一段不长时间的了解完全可以胜任它。这份工作不需要花费时间和精力去学习C/C++语言和相关的IDE等等,只需要懂得DOS命令、批处理知识和并不深入的电脑硬件知识,能够读懂英文技术文档甚至都不需要领会,技术门槛很低,所以我的知识和特长得不到最好的发挥。作好它的关键不在于需要多么高深的技术,而在于要善于处理各种关系和危机,技术能力只是这种关系能力的附属。然而我也许并不具备这样的能力。
因为这两个主要原因,我肯定无法成为该领域内公司企业需要和钟爱的人才,也无法将它作为自己事业和前进的动力。这样下去对我的人生和职业生涯肯定危害是巨大的,因而我觉得我现在必须离开它。另外还有一些坏处,比如工作环境恶劣,我甚至没有正式的用来做软件开发的电脑,办公环境嘈杂噪音很大,周围没有技术能力相当的人可以互相交流,技术水平进步慢,接触不到核心技术。仍然留在这里的好处和优势是:我是部门里面对编程和软件开发了解最多最深的员工,我可以编制许多实用的可以有效提高生产效率的工具和软件,这将会得到领导和同事的敬重;因为工作并不复杂所以可以很好混,但我不想变卖我的青春年华。
我对理想工作的憧憬是,我希望做研发类的编程的工作,在我想象中那会是一件很惬意的事情,因为——用C/C++语言编写程序和工具我从不会觉得累;对那些编译错误或者bugs我并不厌恶相反我愿意并且能够井井有条的去处理它们,找到解决的办法;很乐意去学习那些能提高我编程能力和水平的知识;我希望看到我所写的程序在性能上功能上都得到别人的认同,并在编程中自觉的去为达成这样的而目标努力;研发人员有时间和资源去清理自己的思路,让所有事情变得有井井有条和有规律,这是我希望的情形。我想知道其他程序员是不是如此,如果不是,那么我觉得我真的很适合作一名程序员。
也许您会说,既然你如此喜欢程序,为什么进入职场的时候不锁定程序员的岗位呢?实际上,这并不是我的第一份工作。我毕业的第一份工作是在重庆某信技术公司任软件工程师,当时我所在的部门和职位正是研发预备岗位,职责是进行手机MMI界面设计,只是后来因为企业计划的调整,我们这个部门被裁员50%,所有新进的软件开发人员和企业解除了劳动关系。我所在小组的其他成员因为经验比我更丰富,找到了另外的设计岗位。我因为大学的专业是通信,对编程接触得比较晚,经验还不够丰富,所以没有能接着从事类似的设计研发岗位。
为了补充自己在软件设计上的知识,我花了8个月的时间来专门学习数据结构和Visual C++ IDE,应该说还是有很明显的效果。由于这些学习完全是自学,所以也许花了比别人更长的时间。之后,我选择了离开重庆来上海发展。出于先立足后发展的考虑,选择了进入现在的公司,工作至今。
来上海以后,常常在关注一些招聘。目前为止应聘了两种类型的岗位,一类是通信底层程序设计的岗位,另一类是应用型软件设计类型的岗位。您也许了解,这两类岗位虽然都是程序设计,但是二者有非常大的差别。
通信底层类的程序设计重视程序的效能、稳定性,因而更着重对C语言语法基础、数据结构和常用算法、技巧的考察。比如常常会遇到的面试题是找程序的漏洞和错误,C类型字符串处理等等。而应用型软件设计更重视软件工程,更着重考察C++语言对对象的抽象和表现,重视对类库使用和特定模块开发的熟悉程度。比如常常会遇到的面试题是,如何编写一个类,连接数据有哪些重要的步骤和函数,网络程序设计会用到哪些重要的步骤和函数。
然而其实我在两方面都不具备足够的经验——也许是他们高估了我两年工作经验所获得的经验,他们认为对于有两年开发经验的程序员来讲这些都是应该掌握和非常熟悉的东西。可我不是。我的第一份工作才让我刚刚进入程序设计的角色,第二份工作实际上才开始半年,并且还没有足够的项目让我去完善我的C/C++经验。所以两类岗位我都有失败的经历。
其实自己付出了很多努力,丝毫不比其他程序员少,我也不觉得自己是那种笨蛋,那种没有悟性的人。
也有成功的经历。去年十一月份我曾经应聘华为开发部,笔试面试都通过了,最后因为华为对社招人员要求工作经验必须在两年以上,而我如实告诉他们虽然毕业两年但有8个月的时间我以考研的方式去完善在程序设计方面的知识,最终失败了。
这些就是我的大致情况,一定让您感到很复杂吧。我自己却感到的确有这么复杂,也许是我无法理顺其中的关系,找不出问题的关键所在。所以很希望Leo先生您能帮助我。本来照理说我用不着写这么复杂,发一个简历您就可以一目了然。可是,一方面,我总觉得情况确实很实际,一份简历表达不出这么多的困惑;另一方面,其实我现在连简历都不知道该怎么写了。如果写“已毕业两年,寻求对经验要求不高程序开发工作”,显然会引起用人单位的怀疑和揣摩——这人毕业两年了做程序设计却没有两年的程序设计经验?智商有问题?如果写“刚毕业,有一定程序设计经验”,应聘的时候人家拿到我的毕业证学位证一看同样会引起怀疑和揣摩——明明是2005年毕业的啊,为什么要说刚毕业呢?这样的话,在现场很难跟面试官和公司领导讲清楚。所以,写简历现在是很痛苦的事情,完全不知道怎么写。
您对我的情况会有什么样的看法和指导呢?我真的不知道下一步该怎么走,简历都不太敢写。拖下去不是办法,只能对我造成更大的伤害。我根据您的资料对自己的个人特质、动机和知识作了衡量,其实在毕业的时候我就曾作过这样的衡量,我觉得我应该做的就是C/C++程序员,不知您会不会支持我的这种自我评估呢?
感谢您听完我的困惑和倾诉!痛苦中盼望先生的建议和指引,它会影响我的一生。
此致
敬礼
Jerry
Jerry,你好!
首先,非常感谢信任。下面,是我的回答。
积极思考是成长的开始
在收到了近千封网友来信中,你对现状的描述的、对自己的分析和对可能你生情况的展望可以排在前十。在生活和学习中发现问题并不难,但认真分析、积极思考才是成长的真正开始。不把问题抛给别人而是自己找出路想办法的人,越来越少了。看到你不但分析了自己问题,还明确了自己的职业目标,真地非常替你高兴。
职场之路就像是行船,只要有目标在前面,大风大浪还是有机会克服的。
先择业还是先就业
读了你的来信,我认为你问题还是“先择业还是先就业的问题。”这是职业生涯领域几个最古老的话题之一。我的意见是:如果生存压力很大,那自然要先就业解决吃饭问题(就像初到上海的你)。要看自己的经济实力和实际情况。有实力,能坚持到找工作的那就先择业,没好工作就不工作,总会找到合适自己、自己也满意的。我有个清华MBA的朋友,家里底子厚,就是要找500强的招聘经理职位,用了6个月时间终于得尝所愿,现在工作地很开心。
针对你目前的情况,我认为还是应该就事论事。如果不工作马上就会失去生活来源,还是边干边找开发工程师的职位比较好,虽然这样可能心里会有点自责,但吃饭要紧,无论干地有多不开心。如果经济条件还可以(能坚持几个月),那马上辞职开始自己的求职之旅,是个很好的选择。
相关工作经验不足,应该怎么办?
“虽然工作两年,但并是不是相关领域的工作经验,甚至完全不相关”这种如你信中提到的情况并不少见。在《32岁我还有机会转行做程序员吗?》一文里,我自己转行的经验希望对你有所帮助。
在此有想分享自己的另一个观点:足够诚实,但不要笨。我见过高中毕业生应聘开发工程师,简历里只写了开发的项目和自己从事的相关工作(如果可能建议你简历也这么写),并没有提及学历。此人通过笔试后,为自己赢得了面试机会,续而进入了公司。
公司最终还是看一个人的实力,只要实力到位,自己又能证明自己的实力,是不是有相关工作经验,是不是明牌大学毕业的大都不会被人看重。
祝早日实现自己的职业梦想!!!
《程序员羊皮卷》作者
Leo(张大志)
《程序员羊皮卷》作者签名版购买地址:http://www.china-pub.com/196049
当当购买地址:http://product.dangdang.com/product.aspx?product_id=20691986
程序员职业规划交流群:http://qun.qq.com/air/#69621422