给那些想转行做程序员的朋友的一些建议

1、你能吃苦吗?

为什么这么问?很简单,996大家听过吧,这是互联网行业奇葩工作时间。做程序员这行尤其是互联网企业里,加班是常有的事,遇到赶项目或者大事通宵也不是不可能,华为加班猝死,阿里大楼凌晨还有不少人加班、双十一通宵,腾讯加班,58的996等等。所以做这行你首先得有个很好的身体,肯吃苦,工资福利好,但是加班也不少。

2、你喜欢互联网吗、喜欢技术吗?

做程序员目前工资待遇最好的在国内无非就是互联网公司了,很多应届生都能拿10K以上,年底还双薪,还可能有股票期权,要是遇到一个好的创业公司可能IPO之后瞬间屌丝登上人生巅峰!但写代码需要一个相对来说比较能耐得住寂寞的人,如果你坐不住一般来说不会是个好的技术从业者。既需要有独立解决问题的能力,还要有团队合作的能力,并且大多数码农都是比较闷的,很少有很open的码农,这也许是技术从业者的诸多共性吧。

互联网公司更是发展迅速,这就更需要你去关注行业形势,关注技术发展,否则的话你很快就被淘汰了。

3、你有较好的数学、英语基础吗?

越是顶尖的程序员,对于个人天赋的要求就越高,对,做程序员真的需要一定的天赋,天赋是后天怎么样的经验都积累不来的。一般来说,一个优秀的程序员需要较好的数学天赋,数学能力强的往往具备较好的优势,一个好的算法太重要了。如果你从小到大数学都特别好,并且也很喜欢数学那我觉得至少你具备了较好的先天条件。英语为什么重要?因为计算机技术本来就是老美发明的,你需要的文本编辑器、集成开发环境、官方技术文档以及很多专业书籍都是英文的,甚至即使有翻译的材料和书籍你会觉得也许英文版会更好,所以随着学习深入英语必定是个很重要的工具。笔者就是因为中学时代对数学、物理的疯狂喜爱和还不错的英语水平选择的这个专业。

4、现在学还来得及吗?

程序猿一定程序上是个青春饭,并且学习的最佳时间也最好早一点,本来就是一个耗费脑力的活,尽早学习优势更大,在国外都提倡孩子从小接触一些简单的编程。比尔盖茨、扎克伯格、杰克多西、亚伦斯沃兹这些人都是从小都学编程的。但是国内比较特殊,毕竟应试教育压力很大,所以不太可能从小学,但是如果你说你快三十了才来准备学写代码转行做程序员我一定不会觉得你这样是认真的,因为真的是有点晚了,因为你不可能有20岁左右的年轻人思维敏捷!当然如果只是作为一个兴趣当然没问题。

5、你愿意不断学习、长足学习吗?

计算机技术可以说是更新最快的了,互联网行业更是日新月异。一个互联网公司可能几年就估值100亿美金,也可能一夜之间关门大吉。因此你需要不断学习长足学习,不断的接触新的知识和技术,不断的更新你对行业的了解,并且随着年长你不可能永远在一线写代码,那么就可能往上走,那么你就除了要学必要的技术知识,你还需要学一些管理、合作、沟通的能力,你需要了解很多产品原理,你需要学习更多的业务知识,逐渐成为一个业务理解上的技术专家,而不是只会在一线写代码。因为那种真正把技术做到极致永远只在一线写代码的的大神真的不多,阿里这么大的公司也只出了一个多隆,纯粹做技术还做到副总裁级别的高P大神,但人家是一个人就可以搞定N个牛人的活的那种。

6、到底要学些什么呢?

那么接下来就要谈一谈需要学些什么了。

首先我觉得你应该具有一定的数学基础,并且有一定的英语基础。

第二我觉得可以从一门特定的语言开始,我建议从C语言开始,不建议从C++开始,因为C++学习难度确实有点大,不是一朝一夕的事情。推荐一本书,书比较厚要有恒心!可能的话尽量买纸质书吧,比电子书效果好得多。推荐用codeblocks写程序,开源免费跨平台(但如果有条件的话MacBook pro对于一个程序员来说还是很有优势的,基于Unix你渐渐会懂的),这时候你没有必要用visual studio这种很强大的但同时也很笨重的IDE,也没有必要现在就开始学习Emacs、Vim这种门槛比较高的工具。

并且这时候一定要养成良好的代码习惯,学会做注释,学会合理的变量命名等等,千万不要成为一个程序痞子或者代码流氓!如果不知道怎样做好代码规范的,自己去网上搜大公司例如Google、Microsoft的代码规范!

要强调的是一定要多写多练多实践,看完不要看着答案敲习题的代码,这点非常重要!等你认真看完这本书后你绝对已经打好基础了,后续的话你可以慢慢看看K&R C这本书,毕竟C语言之父自己写的不用解释了吧。

然后你可以学习一门面向对象的编程语言,你可以选择时下比较火的一些语言。比如C#、Java、Python等都是不错的选择,主要是熟悉面向对象编程的思想。Python的中文资料比较少,单数语法非常漂亮,并且很多语言的设计哲学也逐渐在致敬Python,所以我觉得绝对值得一学。Java和C#就不用多说了,市场份额摆在那里。比如Java我推荐一本(卷一)就够了,高级特性别急后面来。然后你会渐渐发现有了C的基础你学Java会很轻松。随着学习的的进步,和都是很棒的书。

你可能感兴趣的:(给那些想转行做程序员的朋友的一些建议)