程序员基础知识
想要成为一个合格的程序员,扎实的基础是必不可少的。
想要成为一个优秀的程序员,对计算机的发展需要有深入浅出的了解。
那么不如我们说说其中某些方面的前世今生。
数据结构与算法
代码架构
代码评审
参考资料
服务器部署
网络知识
懂点设计
写点东西
程序员能把逻辑梳理出来,则也是另一大技能!
合格的PM
项目经理/产品经理,我觉得程序员在做任何一个项目的时候,理应把自己设想为一个PM,对自己的项目负责。技术人员本身需要对产品有深入的理解。除此之外,产品能力在做开源软件、共享软件、接私单和创业时都会让你受益匪浅,实乃居家必备。
团队合作
除了独立开发者,大部分技术人员还是要进行团队合作的。
可惜程序员大多数都喜欢单打独斗,不管难易如何,全部都要自己拿下。
一个好的程序员,不单单关注的是程序本身,还应该关注到整个团队,帮助大家协同合作,减轻自己的压力,也提高了团队的效率。
获取知识
程序员是一个活到老,学到老,还有三分学不到的职业。这就无形的要求我们要不断进取,不断学习。
既然学习是一个必然的过程,那么我们就要将这个过程变得高效和有趣。
关于书籍的选择,技术方面还是推荐英文资料,因为翻译质量的问题。你看中文可能10分钟的内容,理解却要1小时。而英文你看需要30分钟,理解只需要10分钟。
资源
这里特别提及一下技术学习的一些资源。我个人比较喜欢书本的理论知识结合视频介绍的实践。自己通过项目去学习。
提高技术的方式:
论坛
stackoverflow
github
reddit:Programming
视频教程
tuts+: 首推这家,资源多,质量好,不管视频还有文字教程。
Lynda: 同tuts+,看过几门课,很有条理。
Course Hero
关注健康
身体是革命的本钱,程序员本来锻炼的少,珍惜生命。
提升效率
我是个很在意效率的人,虽然可能执行力不那么强。但是能省的绝对不会浪费精力去做。
这里的效率也包含了如何获取信息,如何与人交流,总之是对个人有益的总结。
SOHO
Small office/home office (or single office/home office; SOHO) refers to the category of business or cottage industry that involves from 1 to 10 workers.
我觉得SOHO的工作形式,是未来的发展的一种趋势,但不是所有的人都适合的形式。在我能遇见的时间内,我觉得这是Geek生存的一种方式。但这也需要很大的自制力和执行力。
参考资料
awesome-remote-job: A curated list of awesome remote jobs and resources.
Hacker
参考资料
知道创宇:余弦
关于工作
找工作前需要思考的问题
原则与技巧
关于简历
其他方面