要想成为一名专业的程序员,仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为一名开发人员,下面就是一些你必须要掌握的最重要的技能(编码这个要求就不赘述了,这太理所当然了)。
学会并擅长沟通
虽然一些媒体上面将编程描述为一种“闭门造车”的行为,但事实上,它涉及到很多与人沟通和协作的事宜。如果你工作于一家公司,那么你会成为开发团队的一部分,并且得和其他人交流和合作。
然而,JeffBargmann,Lifehacker最喜欢Fences和Bins的开发人员强调,知道如何清晰可信地说话和写作对于那些独立的开发人员甚至更加重要:
学校课程一点也没有教我们学习必要的书面表达技巧。(就教我们编程,对不?)在你的职业生涯中——如果你以后想继续晋升的话——那么你需要花大量的时间用于清楚简洁、令人信服的沟通交流——从你需要发电子邮件给同事、经理、客户/合作伙伴、甚至有一天可能是高管仅这个方面想,就足够说服人的了。但是由于我们开发人员习惯于比其他人做事快两倍(我们都很聪明,对吧?!),所以令人沮丧的是,这样会导致需要多花上两倍的时间才能顺利地表达清楚。而作为一名独立的开发人员,用一句话来说就是“不在沉默中爆发就在沉默中灭亡”——再怎么难也必须掌握这重要的技巧。
Jeff也针对沟通技巧提出了一些建议:
要么跨过这个障碍,要么在过程中学习,总之你需要的是真实的社会实践(我们要想擅长编码也是如此!)。可以试着发布一些简短的文章、大声阅读电子邮件、勇于面对批评教育,创建适合自己的经验教训。
如果你现在还没有机会加入到一个团队中一起开发,那不妨考虑一下一些高校的沟通、演讲和写作班辅导。此外还有各种课外的网络资源供君采撷。
提升解决问题的能力
很多开发人员说了解一门编程语言只是编码的一小部分。解决问题则是另一个重要的技能,而这也是那些新手开发人员所缺乏的。如果将软件开发比作是一个巨大的谜团:那么你需要弄清楚如何将你的一个程序片段连接到另一个上面,而这一过程往往并不简单。有读者Jsimon作了如下解释:
我有碰到过那种据悉已经完全掌握整一门编程语言所谓的“牛人”,但是想出来的解决方案居然只能往废纸篓那里扔。最好的例子就是在大学中,那个时候我们正在开发一个项目。有人要我来看看某部分代码,因为这片代码的负责人不能将之连接到服务器的接口上了。原因是他竟然没有设置端口。所以说,解决问题的能力很重要。
不过,解决问题确实是一个很难学习的技能。实践是其关键所在。可以先拿小项目试手,比如说开发一个便签app、计算器,只要你感兴趣的都可以。在开发过程中,你需要