前言:开发相关,请移步 东门兜的CSDN,里面包含了 iOS基础、 iOS问答、 iOS进阶、 iOS Arcgis。
我觉得程序猿最重要的是两点:思维和经验。共同目的都是为了减少工作时间。
先说说经验,可以认为是工作经验,我们在各大公司的招聘要求中都看过:要求两年开发经验、要求三年开发经验等等如此。那么问题来了,经验到底有什么用?你可能遇到过这样的情景:面试官问你做过支付没?本着程序猿10个中有8个老实(傻)的你会回答没有。面试官问你接触过……你的回答统统都是没有,这种情况除了令自己很尴尬外,面试官对你的打分也会降低不少,那么经验就是用来弥补这个方面。有不少同学竟然还在面试官面前回答:虽然没接触过,但是我可以学。XNMB,首先你的学习能力是不是很好还有待考究,即便你的学习能力再好,总得花公司的一些工作时间吧,那些都是公司的钱,那是公司给你的投资啊,凭什么?好,你说你学习能力强,你说你在家花时间学习。NMB,2天后就上线,你能不能弄好?如果你不是10个中的2个不老实的人,那我劝你还是算了。
综上,在平时的工作中,应该懂得积累,注意模块化。有些同学可能不太懂应该如何模块化,那么你可以看下各大公司的招聘要求,他们一般都帮你模块化好了,在平时的工作中好好积累这些内容,为你以后跳槽铺平道路。当然,这些也是为了你以后能够节省工作时间做准备。
谈完经验,我们再来说说思维,可以认为是解决问题或是学习的能力。经常会有面试官问你:当你遇到一个问题时,你怎么解决。一万个读者有一万个哈姆雷特,大家的观点不尽相同。那么,我通常是如何解决开发中遇到的问题呢?(问题其实还分为很多种,我就讲最普遍的)经常的,工作中your leader分配给你任务,那么接到任务了,这就是一个问题。那么你首先要想的是我如何在最短的时间内完成这个任务,这是最重要的,也是最先考虑的。这个任务之前公司内有没有人做过类似的?有的话,找那个人问问,并讲讲相关的代码逻辑,这通常可以帮助你快速定位,更快上手代码。如果公司之前的人都没做过,那么就想想自己以前闲来没事在网上乱逛的一些代码网站或者是平时和小伙伴们交流技术时有没有可以用到的,有了这些帮助,你的速度将得到提升。有经验的人,当然也可以找找自己以前写过的代码,拿过来复用就OK了。如果都没有,那么你可能要开辟自己的新领域了。(当今时代,很多代码其实网上都已经有了,你没有找到只是因为你搜索的姿势不对而已。你还想着同质化时代的破百度会给你带来满意的答案,Fuck your sister!)
当然,有很多乳臭未乾的小朋友,经常喜欢自己干,自己写,我个人是很不鼓励这么做的,这些小朋友通常有一个共同的特点就是自负(互联网众所周知的大神就另当别论了)。自己写的代码有什么危害呢?首先是花时间,工作地点不是你的个人研究室,你不仅花公司的时间在进行你的个人研究,其实你还是在占用自己宝贵的时间,更何况你研究出来的还是一坨屎。其次考虑不周全,自己写的代码通常考虑的点面比较狭窄,只能用于解决一些特定问题,或者经常在细节上处理不够,严重的甚至导致崩溃或页面缺失,还有就是维护困难等等。自己写代码和攻城一样其实都是下下策。
以上所讲只是思维的一小部分,两个程序猿面对同一个问题时,一个人花了10分钟解决,另一个人花了60分钟解决。假设两个人解决的质量差不多,那么显然前者才能在工作中更胜一筹,通常来讲就是工作不会那么累了。假如你是后者,那么你要学习前者的思维,而这种思维不分哪种程序猿,不分是网站程序猿,还是客户端程序猿等等(特别是那种一下班就走人,工作都妥妥完成的程序猿,本人不才刚好属于这种)。你要想尽办法试图撬开他从遇到问题到解决问题时的全部过程,这些都是最宝贵的财富。
思维和经验是程序猿最重要的两个方面,它们的共同目的都是减少工作时间,减少工作时间能干什么?做自己的事啊。假如你觉得程序猿这一行又苦又累,而且又不改变自己的精神层面和高度,那我劝你还是别干了。因为,程序猿是一群用双手改变生活的天才制造家。