从初级到中级,你需要做的10件事

  Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》,和我们一起分享怎么样才能完成程序员从初级到中级的蜕变,在这里翻译了一下转,希望给大家有所帮助。 在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成以下两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。这个观点是很不错是,对于程序员怎么从初级跃升到中级的资料是很少的。下面就是为了实现这种转变需要你去做的10件事。

  1.学习另一门语言 其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造为更好的程序员。能学会一门与你日常使用的语言风格迥异的 语言则更佳。打个比方,如果你是C#程序员,学习VB.NET或者Java对你的帮助就没有学习Ruby或者Groovy大。 我说“学另一门语言”的意思是要真正学会它。学习一门语言包括三个领域的知识:语法、内置操作符和库,以及“如何使用”。前面两个简单;我认为一名有经验 的程序员,根据语言的不同,能在半小时到几小时内掌握足以维护代码的语法知识。操作符和库只不过是知识逐步积累的过程,你什么时候想清楚要了解什么了,再 去查阅参考材料也不迟。只有第三项,“如何使用它”-要花上你几个月的时间去跟这门语言打交道,真正的奇迹就在此发生。我建议用这门语言的风格去做一个适 合该语言的项目。 真正学会了另一门语言之后,我敢保证你的程序员水平一定会突飞猛进。

  2.学习先进的搜索技术、手段和及策略 作为一名好的程序员,不仅仅是技能的问题了,而是你寻找信息的技巧,这个趋势越来越明显。对大部分人而言,仅仅输入“现代语言及开发框架”,这都是泛泛之 谈,记不住多少的。因此,你完成工作的能力通常取决于你的检索能力。不幸的是,了解到如何找到准确而高质量的信息可不仅仅是跑到TechRepublic 来找答案,或者在你选好的搜索引擎上敲几个字那么简单。 “技术(Techniques)”、“手段(tactics)”和“策略(strategies)”看起来是一回事,实际上并非如此。你需要学会的技术是 掌握你喜爱的搜索引擎的高级搜索系统;你需要了解诸如布尔操作符,如何过滤结果(像“非”关键字,域限制等等),关键字的词序扮演什么角色,等等。一句 话,RTFM(Read The Fucking Manual,读那些他妈的手册)吧。 你应该学会这些手段,诸如如何接近特定的搜索,以及了解自己实际上想查些什么。查错误很容易—只需查出错代码即可—但是许多搜索的关键字选择要困难得多。 至于策略,你需要学会的东西,包括像应该使用哪种搜索引擎(提示:普通的搜索引擎不一定就是最佳选择),使用普通搜索引擎前应该访问哪个网站,甚至是应该 到哪个论坛去寻求帮助,等等。

  3.帮助别人 教别人始终是学习一切东西的最好方法之一。相对而言,由于你在开发领域还是个新手,认为自己没什么可教给人家的,这可以理解。但这毫无意义。记住,你所学 到的一切都是你从别人或别处学到的;因此请尝试一下,成为另外一个人要请教的“别人”。每天尽量花一点时间试着回答TechRepublic上的问题,其 他网站的亦可。读读其他会员的回答,你也可以学到很多东西。

  4.有耐心,常练习 研究表明,要成为一名“专家”,需要花费10年,或者10000到20000小时的刻意练习时间。真的很久。还有,成为专家不尽然就是执行10年同样的任 务;通常这意味着要在特定领域内执行广泛的任务。需要花费大量的时间和精力才能成为“专家”;做几年程序员是不够的。想在30岁左右成为一名高级软件开发 工程师?要么尽早接受教育/培训,要么你得愿意在闲暇时间进行大量的工作、阅读和练习。我从高中开始编程,还牺牲了许多休息时间去跟踪行业发展、学习新技 能等等。结果,我获得中级和高级程序员的时间就比我的大部分同事都要早得多,随着时间的推移,这些就转化成为很多的金钱。

  5.对教条拒之门外 是时候开诚布公了:也许初级程序员了解的东西还不足以说出做某件事情有一种最好的方式。尊重朋友或者权威的观点是好的,但直到你更有经验之前,不要把他们 的观点说成是你自己的。很简单,如果你所了解的不足以让你独立地找出这些东西来,你又怎么会认为你知道哪一位“专家”是对的呢?话是难听了点,不过请相信 我;由于受某些愚蠢建议的蛊惑,或者追随某些根本不知道自己在说些什么的所谓专家,白白把自己的职业生涯耽搁了几年,这样毛头小伙程序员,我见过多了。这 一点有一个很好的例子,就是面向对象结构的滥用。比如说,许多初级者读了一些有关面向对象的信息后,突然间,他们那简单的应用程序的类图看起来就像埃菲尔 铁塔一样了。

  6.深入学习一点先进理念 成为一名中级程序员,很大一部分是要在代码里面体现出一些所擅长的概念。就我而言,是多线程/并行性,是正则表达式,以及如何对动态语言进行变化(后两个 在我离Perl渐行渐远后开始退化)。这是如何发生的?多线程和并行处理是因为我读了相关文章,觉得它看起来很有趣,然后再自己把它弄清楚了;然后我就一 直使用这些技术来写应用。我做过一件工作,是用Perl写的,里面运用了大量的正则表达式。我也用一个过程引擎模板和内置数据库系统写过我自己的电子商务 引擎;那时我几乎花了2年时间在这上面。 找到真正令你着迷的东西。也许是图像处理,也许是数据库设计,等等。即便你是一个入门级的程序员,也要尝试一下成为某一自己所关注领域的专家。这会让你相 当快速地进入到中级水平,一旦你到了那个水平,你的专家之路也走到一半了。

  7.学习你的领域里面的基本理论 写出“Hello World”,跟理解那些字是如何显示到屏幕上的是两码事。通过学习支撑你所从事的工作的“基础/底层工作(groundwork)”,你会变得更加在 行。为什么?因为你会理解事物为何会以这种方式运作,当东西坏了就能知道是哪里的问题,等等。通过掌握工作的底层机制,你变会得更出色。 如果你是Web程序员,读读HTTP RFC和HTML规范。如果你使用代码生成器,好好看看它生成的代码;如果你使用数据库工具,看看它生成的底层SQL语句,不一而足。

  8.看看高级程序员的代码 在工作中看看高级程序员写的代码,然后问一问事情是如何以某种特别的方式完成的,为什么?可能的话看看开源的项目。甚至即使其他程序员没有最好的编程习 惯,你也会学到许多编程经验。当然,要小心别学到坏习惯。我的意思是说不要生搬硬套人家的东西;你要能领会到哪些是能行的通的,哪些是有道理的,然后再模 仿人家。

  9.学习好的习惯 愚蠢的变量名,糟糕的缩进习惯以及其他一些凌乱的迹象就是一个没有经验的程序员的最好标记。一个程序员在学会如何编程时,却经常没有被传授到那些不那么有 趣的细节,像代码格式编排。甚至尽管学习这些东西并不会令你的代码更好,也不会令你成为更好的程序员,它也会确保你不被同事视为入门级的程序员。甚至即使 某人是高级程序员,如果他的变量是以他那97只猫的名字来命名,或者其函数叫做“doSomething()”的,他们看起来也不像是知道自己在干什么的 人。而且会令其代码在过程中更难以维护。

  10.要玩的开心 想要痴迷于单调乏味的工作?痛恨工作吧。要想升级为中级程序员可不仅仅是为了拿到不断增长的工资不达目的誓不罢休,而是要真正享受工作。如果你不喜欢自己 的工作,且还是初级程序员,你怎么会认为成为中级或高级程序员情况就会有所好转呢?换工作或改职业吧。反过来说,如果你喜爱所从事的工作,那就好!只要你 坚持下去,我保证你能成为一名更好的程序员。(Justin James)

时间: 2024-11-30 13:46:50

从初级到中级,你需要做的10件事的相关文章

注意!PHP 7中不要做的10件事_php实例

切记,在PHP 7中不要做的10件事 1. 不要使用 mysql_ 函数  这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现.   2. 不要编写垃圾代码  这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快.  为了理解速度有多重要,以及如何把事情做得更

各大创新公司保持业界领先地位常做的10件事

摘要: 美国著名的科技博客Business Insider近期发文,指出了创新公司保持业界领先地位所做的10大事情,这也是创新公司保持领先地位的10种方法.Business Insider的文章内容如下: 创新并不抽象, 美国著名的科技博客Business Insider近期发文,指出了创新公司保持业界领先地位所做的10大事情,这也是创新公司保持领先地位的10种方法.Business Insider的文章内容如下: 创新并不抽象,事实上,创新是一种业务技能,是一种可以让公司高管和员工都能够开发和

注意!PHP 7中不要做的10件事

切记,在PHP 7中不要做的10件事 1. 不要使用 mysql_ 函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现. 2. 不要编写垃圾代码 这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快. 为了理解速度有多重要,以及如何把事情做得更好,请看一

从现在开始,如果使用网络做这10件事就是违法犯罪!

      在各种电子软件为我们带来便利的同时,个人信息泄露的困扰也时有发生,<中华人民共和国网络安全法>6月1日起正式实施,这部法律将怎样影响你我的网络生活,又将如何为个人信息安全护航呢?现就以下这10件事为大家以案释法. 一.使用网络实施诈骗,违法! 身为高三学生,本应全心备战高考,山西交城的两名高考生却动起歪心思,在网上卖起了高考答案.他们建立了一个QQ群,随即在群内发布高考试题答案代理商信息,以能买到答案为由,先后实施诈骗活动5次,涉案金额2万元. 针对使用网络实施诈骗的行为,<

从现在开始,如果使用网络做这10件事就是违法!

在支付宝.微信等各种电子软件为我们带来便利的同时,个人信息泄露的困扰也时有发生,这不,<中华人民共和国网络安全法>于6月1日起正式实施啦,它们将怎样影响你我的网络生活,又将如何为个人信息安全护航呢?正义君现在就以下这10件事为大家普法,睁大眼睛看仔细咯! 一.使用网络实施诈骗,违法! 身为高三学生,本应全心备战高考,山西交城的两名高考生却动起歪心思,在网上卖起了高考答案.他们建立了一个QQ群,随即在群内发布高考试题答案代理商信息,以能买到答案为由,先后实施诈骗活动5次,涉案金额2万元. 针对使

当开发者产生一个伟大的想法之后应该做的10件事

当你正和家人享受一个悠闲的午后,一个不错的想法突然出现在你的脑海里.不管它是一个 App 还是服务,或是一个新的概念.只要你把这个想法付诸实践,它就可能会成为下一个 uber,甚至会改变世界. 那接下来你应该怎么做呢?这里有一个指南,会告诉你在决定把自己这个想法实现之后应该做的事情. 1. 起一个名字 在你决定开始之后,要做的第一件事就是为你的产品起一个名字,这个名字是有多重要大家心里都很清楚,如果你并不擅长起名字,你可以通过一些工具来扩展你的思路,如 visual thesaurus, Wer

安装Ubuntu13.10后必做的10件事

Ubuntu 13.10发布了,而且你已经升级了,然后你想知道现在要做些什么.不要着急,这里有10件安装完Ubuntu 13.10后必做的事. 我们以前为ubuntu每个版本整理了一个安装后核对表,但是因为新功能的到来以及不断的进步,我们建议的步骤也在不断改变和转换. 因此,升级到ubuntu 13.10后最好做哪些事情呢? 1. 加快速度 尽管Ubuntu 13.10相较于之前的发布版包含了较少的面向用户的特征,但是新的Smart scopes服务还是不可错过的. 2. 使用第三方驱动 Ubu

大数据不会“主动”为企业做的10件事

ZDNET至顶网CIO与应用频道 07月07日 专栏:很多企业都对大数据寄予厚望,希望它能够解决长期存在的业务问题,让公司更具竞争力并设计.制造出更好的产品.然而,这样的热忱很容易带来对大数据的高估,因为大数据"本身"并不会带来任何价值.本文列出了10个大数据不会"主动"为企业做的事情,除非企业对这些数据进行更加深入而细致的分析与挖掘工作. 1.解决业务问题 大数据并不会解决业务问题,业务依然需要人来解决.只有那些好好坐下来.在他们开始使用大数据之前想好希望从大数据

打造创业团队要做的10件事

在斯坦福商学院创业研究中心第二届创业校友会活动中,创业校友组织的同学们热烈讨论创业世界里各种有关雇用.解聘和提升的话题.以下是讨论后,包括创业研究中心联合主任 Grou *** eck教授在内的创业师生们的智慧结晶: 1. 遵循做老板的黄金法则:"如果你做的不好,我会告诉你的" 这是一条不成文的原则:如果你有什么要和你的雇员说,直接和他或她谈.这对于至少一部分的创业者来说是一个艰难的话题.其中的一位校友四年前收购了一家处于危机的企业,他雇用了在"勤俭持家"方面很在行