展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告。
1、自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。
由 于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个。还好户口没丢掉,其他都已经是乱了,好几个 城市里,都有交过三金,甚至是一个程序的2个区里交的都有,那些东西,10年后,会变得很重要。你买房子若有公积金,可以取出来,贷款利率也会比较低一 些,有孩子了,还需要上学,生病了还需要医疗保险。
2、读>写代码>读>写代码(日复一日)
关于如何高效学习编程我要给出的第一条建议是在阅读代码和编写代码之间循环往复。阅读代码(书籍,博客文章,开源代码)将帮助你查看解决方案,了解最佳做法,并大致了解语言或系统。但是在你这样做之后,你需要自己实际去写代码。可以是任何东西。可以是小的编码练习或业余项目,但确保你能将之付诸于实践,并用某种方式使用你学到的东西。如果你不这样做,那么你会发现自己面对编辑器会无所适从无从下手。
所有事情所花费的时间总是比你预期的要长
特别是在编程中,即使一切进展顺利,我们也很难对功能所需的时间做出正确的预算。并且,开发软件时碰到各种意想不到的问题是非常常见的。一个简单的合并操作会导致一系列小bug,一次框架升级意味着一些函数必须改变或者一些API不按照你想象的那样工作。
Hofstadter Law( 霍夫施塔特定律)其实道出了真谛:做事所花费的时间总是比你预期的要长,即使你在预期中已经考虑了 Hofstadter Law( 霍夫施塔特定律)。
先了解现有的代码
大多数的编码都需要以某种方式改变现有的代码。即使是新功能,也需要适应现有的程序。所以,在你加进去新的内容前,首先需要了解当前的解决方案。否则,你一不小心就很有可能会打破现有的功能。这意味着,阅读代码和编写代码都是必要的技能。这也是为什么看似微小的变化仍可能需要很长时间才能解决的原因之一,因为你首先必须了解上下文。
成为开发者社区的一员
当我还在大学的时候,我总是懒得参加各种社团和俱乐部活动。当我找到我的第一份开发工作时,最不乐意做的也是和其他开发者闲聊闲逛。
但是我错了。
同行聚会和进入开发群是很有趣的事情,是结识开发者伙伴的好地方。如果你想在这个行业里做到最好,就尽量不要消极被动。与坐在你旁边的人交谈,提供你的帮助,分享你的经验。每个人都喜欢谈论自己的经历,更何况你也许会遇到很多潜在的雇主。
在那里你会碰到许多需要教练的初学者团体,你可以指导新手,给他们提供练手的机会,甚至赞助活动。
当然,要学习别人的开发技巧并且勇于实践,要热情地欢迎不同意见的人讲话,勇敢地听取他们的意见。
编程并不是一件什么神秘的东西
编程跟其他东西一样,是一门技术。跟语言学习一样,有需要掌握的语法和词汇;跟数学一样,有解决特定类型问题的流程方法;像各种工艺和艺术创作一样,有技术、工具以及人们经年累月发展起来的最佳实践方案,专门解决各种不同类型的任务,你可以自由的使用、修改或弃之不用。
但是编程也不是每个人都可以学好学懂学会的,曾经面试过从培训班出来的新人,一问三不知,最基本的知识点都模糊不清,一问他以前的专业职业,原来是高中没毕业,去了工厂做工人,觉得太辛苦,后来看到培训机构说没基础也可以学习编程,就把挣的钱全送给了培训机构去学习编程。结果呢?很清楚,他选择了不适合他的道路,注定没有出路。
虽然编程不神秘,但是它和美术、音乐、艺术、销售、设计等一样,也分人,也不是每个人都能学会都能干的。
这是一场马拉松,不是百米赛跑
这三个月对我来说绝对不容易。这三个月,我每周都要辛苦六天用于找工作和学**。不过我还是把自己照顾得很好。
有的时候,我会和朋友一起学。有的时候,我会找个咖啡馆自己一个人学,或者去 Hack Reactor 提供的休息室学。每周我还会和教练报告我的进度。
在这个过程中很容易耗尽热情。那么就吃好,睡好,继续学。
而且会很容易感到孤单。和一群学友们在一起会好一点。
建议:要有长期作战的心理准备,照顾好自己的身体。
开发效率
开发效率可以用这些方式提升:
1 . 构建公用工具类,方便大家使用
2 . 使用开源的一些包,例如 ORM 思想的数据库等
3 . 可以很快的找到问题。开发中,找 bug 的时间,往往是很多的。我用的方法有3个: 使用 try catch; 拦截所有 crash 到我指定的地方;超多的 Log,Log 有统一的控制开关。
4 . 借力:数据上报用灯塔,崩溃上报用 bugly,公司 KM 上很多经验,拿过来用。
另外还有一点可以通过自身的学习来获取一大进步。
分享给超过5万的程序员朋友下载,这次我把所有干货重新梳理精简,免费分享给大家 。
免费领取资料:群号:283904828(你懂的)
友情链接: