导读:2019就此别过,2020好好度过!2019年注定是一个不平凡的一年,2020年又是一个积极进取,充满希望的一年!虽然整体环境大不如前,但是IT编程行业依然是薪资待遇相对较好的一个行业,在2020年,如果你想成为一名程序员,以下作为一名老程序员的经验分享,希望能帮助到你,指引你少走弯路!
从事编程并不容易。每年有许多人从各国的顶级计算机科学专业毕业,这是所有人都向往的有竞争力的职业之一。与此同时,编程也振奋人心。随着技术的进步,每天都有新的创新。对于喜欢编程,并立志从事编程的人而言,编程是其热爱且为之奋斗的事业。
本文的这个列表可以帮助新手答疑解惑,节省精力。即使目前某些内容可能暂时不需要,但是总有一天它会派上用场。
1. 从事编程无需学位,但需要有所了解。
编程是少数几个不取决于学位的职业之一。但是编程是一项知识密集型职业。如果你要从事编程行业,阅读一些基本的涵盖计算机科学的基本概念等书籍是必要的。除了编写功能代码之外,为你的技术打下坚实基础,对基本概念有一个深刻理解,这使得你能够赢得技术面试有助于与同事交流。
2. 在问题解决技能上,编程十分具有创造力。
大多数人都有这样一种先入为主的观念,即编程就是分析和解决问题的能力。这只说对了一部分。编程还涉及许多创造性。通常,可以使用多种方式编写给定的代码。当你设计出最简单有效的编码方式时,创造性就产生了。
3. 掌握所有编程语言是不可能的,诀窍是将一门语言学到极致。
世界上有数百种编程语言。有一些编程领域为特定的职业道路铺平了道路:Web开发人员,前端开发人员,后端开发人员,软件工程师,数据库开发人员等。明确希望成为哪种开发人员,然后学习该职位所需的技术技能。
4. 你不需要成为一个机器,保持作为人的状态就更好了。
请记住,你首先是人,其次才是一名程序员。初次编程时,很容易迷失在代码中。你是一个人,你需要笑,需要哭哭,需要减压,需要与人交谈。作为一名程序员,平衡生活,尽可能的发现工作之外的乐趣与激情将为工作带来更多创造性。
5. 编程是应用知识而不是死记硬背。
与发明和创造新知识领域的研究不同,编程就是应用现有知识。书籍,研究论文,在线文章和学习视频将成为经常使用的资源。没有必要记住所有知识。可以通过搜索资源找到答案。随着处理的项目增加,知识也会自然而然铭记于心。
6. 你每天都会与冒名顶替综合症对抗。
编程是所有“聪明”人都超同一个目标前进的行业。除非你是天才,否则你会每天都觉得自己不配取得成功。当你每天都为这种感受所困时,会试着想办法解决这一问题。你可以一直将其作为学习新事物的动力,正确看待问题。
7. 作为一名程序员,你还需要有工作之外的生活,否则,你只会沉迷于编程。
有段时间你可能会宅在家里不出门。但是,要成为一名快乐的程序员,必须主动寻求计算机屏幕之外的生活。职业生涯的成功往往取决于你遇到的人。人际关系对程序员而言必不可少。保持程序员之外的个性特征对于防止沉迷于编程至关重要。当你乐在其中而非强迫自己时,工作才会更加出色。
8. 与他人合作会学得更快。
在职业生涯初期,你会想要断开与外部世界的联系,沉溺于阅读这十本有关编程的书籍,以建立计算机科学基础。你猜怎么着?如果你找到一个学习伙伴,会学得更快。当你与他人合作,所有的编程“缺点”都会暴露出来。编写的代码会得到审阅。由于有第三方的存在,你将会学着编写高效的代码。由于伙伴也在学习,所以你会想找到最好的办法。当你从事程序员这一工作时,总会有人审查代码。你永远不是独自一人这是你需要习惯的。
9. 不需擅长数学和科学。
在技术行业会遇到各种超级明星程序员,他们在接受了长期的文科教育之后,发现了编程在逻辑思维方面的吸引力。有很多画家和作家在追求艺术的同时以编程谋生。成为一名优秀的程序员,你需要的是坚持不懈。编程很辛苦。但是,一旦有了恒心,任何人都可以通过阅读编程书籍掌握基础知识。在这个行业工作一段时间后有很多人重拾数学。最后他们甚至可以在没有接受正式数学教育的前提下理解实施复杂的算法。
10. 成为全明星“学习者”。
程序员的学习能力都很强。刚开始也许你的学习能力并不出色,但最终将会得到提升。有时,工作会要求你在六个月内学习三种编程语言。这就是技术创新的状态。作为程序员,每天都在学习。学习就像呼吸一样。即使你对每天都需要学习的状态不太舒服,你也会被迫习惯。
11. 你将对完成项目上瘾。
编码成瘾是真实存在的。在编程生涯中的某一阶段,你将经历通宵编程的马拉松。在完成项目之前,你都不会想要睡觉。由于大脑正在处理大量的信息,你会忘记吃饭,喝酒,甚至不会离开办工作。不要紧,工作做完后,就到外面散散步或者度度假吧。
12. 耗费一整天只为找一个小漏洞。
多数时候,在编程项目中许多部分彼此相互关联。通常,你会发现除非修复了系统中潜藏的一个小漏洞,否则无法继续进行下一步操作。作为程序员,除非找到这处漏洞,否则你会对整个项目倍感压力。你会整天坐在电脑夙夜难寐,只为找到这一漏洞。这种现象只有找到它后才会消失。
13. 你将花费大部分时间在谷歌搜索无人能为你解答的答案。
如果使用流行的语言编程,那么大部分的问题都能得到解答。但是,也有例外。有时,你也会出现别人碰不到的问题。在这种情况下,参考编程书籍并询问编程委员会通常会帮助你答疑解惑。
14. 阅读设计模式的书
是否毕业于国内外最好的计算机科学专业并不重要。在每个程序员的职业生涯中,都会坐下来仔细阅读Head First Design Patterns。它可能是新程序员最常阅读的书籍之一。还在等什么?赶紧拿起它并从头到尾阅读。
15. 学会专注于确切的拼写
在每个程序员的职业生涯中,都会用自己喜欢的语言编写足够的代码,以便按照自己的方式做事。这包括为变量,类,甚至数据库中的表提供的命名约定的准确拼写。仔细审查这一点。你最不想发生的就是因为拼写错误而产生的系统漏洞。记住,当理由充分时沉浸与值得关注事情是情有可原的。但是如果无据可依,那不过只是无意义的重复。
16. 你可能会放弃
有时你会遇到无法解决的问题。有时问题难到让你怀疑人生,只想要辞职。有时工作环境会让你想要放弃。激情取决于坚持。这时候质问自己,是要坚持还是放弃?当遇到挫折和困难时,你就把它当做港湾和下一次腾飞的跳板。
17. 重头再来
当你看到那些和从前的一样热爱编程的人,你会很羡慕接着发现自己无法放手。你不能放手。然后又会回到编程项目上来。你意识到在内心深处,和编程同呼吸共命运,这是你才成为一名真正的程序员。
18. 回到某种形式的学校教育,去学习系统的知识。
即使是从精英计算机科学硕士课程毕业的优秀的程序员也将在工作中学习。事实上,在职培训是大型科技公司工作的福利之一。公司将送你去学习“高昂”的课程和研讨会,以培训你使用他们希望使用的最新技术。如果碰巧在工作中没有学到足够的知识,你将接触到许多在线编码学院和免费视频教程,如php中文网,以提高你的技能。
19. 被不喜爱的公司聘用
即使你是一个平庸的程序员,某些公司也会需要你的技能。当他们面试你的时候,试着记住你也在面试他们。根据公司的文化,你可能会发现自己想对这份看似轻松地工作说不。作为程序员,工作时间很长。找到适合自己的公司文化几乎至关重要。幸福度会带来好的工作表现。如果你的技能无可替代,总会有其他公司排队挖你。非必要情况,不要轻易妥协。
20. 技术面试不合格
技术面试不是开玩笑。高级程序员经常以编写技术面试问题为乐。通常,出于某些原因,这些问题总是格外难。如果技术面试不合格,这也不是世界末日。这当然不能证明你的编程能力。它只测试你的知识库。试着想想积极的一面。如果个人技能出色,经理们会记住你。如果他们看好你的能力,然而你并不适合担任这个角色,他们仍可能会联系你,为你提供另一个职位。
21. 被告知你很出色
在职业生涯中,有时候你会觉得自己像个明星。经理需要依靠你完成项目,他们夸赞你很棒,以激起你的干劲。你会觉得自己处于世界之巅。注意了,这是在诱导你变得自负。请保持谦虚,毕竟学无止境,人外有人山外有山。
22. 被贬得一无是处
在职业生涯中,有时你会觉得自己一无所知。对项目没信心人会告诉你,你什么都不知道。也许他们这样做是为了让你了解自己身处的位置。但是,既然你正在阅读这篇文章,你就会大踏步前进。因为你知道的可能比你想的还要多。你所掌握的知识也会随着时间增多。一年后,人们会尊重你,所以请坚持下去。假以时日,甚至可能赢得那位曾经将你贬得一无是处的人的尊重。
23. 与你所欣赏的其他程序员竞争
编程最绝妙的方面之一就是竞争。当你编写一个你钦佩的程序员认为值得的代码时,会开心地像赢了彩票。编程竞争总是很有趣。精妙之处不在于谁是最好的而是互相学习。
24. 可能理解不了同事的话
一开始,这种情况可能是每周或每月一次。在新编程工作中,你可能理解不了同事刚刚说的话。可能以下两个原因。鉴于生活环境的不同,你可能听不懂他们的口音。在这种情况下,请另一位同事翻译。不能理解某人的言论并不可耻。很可能,其他同事也花了多年时间才得以习惯这种口音。另一个原因是同事刚才所说的完全超出了你的知识范围。那也没关系。毕竟,同事是专家。让同事以图片形式解释一下。你会想要拉把椅子坐下详听,因为这可能需要一段时间。
25. 看到去年写的面条式代码,你会感到羞耻
这事儿常常发生。开始时因为Perl代码,我被批评了。这是一个记录良好的代码,设计也很好。但我却用一种难以阅读的语言写出来。所以,我写了面条式代码。但是,每年,无论我怎么努力,我仍然会找到一些我清除由于快速完成工作而编写的面条式代码。这就是程序员的日常。我们解决问题并修补问题。不必觉得羞愧。当你意识到这是你写的,返回修正即可。
26. 当你厌倦了看另一行代码时,你将在数据库项目中躲避
当你进行一次精彩的编程攻关时会发生这种情况。已经两个月了。你需要休息一下。但是你喜欢这种势头,所以继续前进。然后你意识到SQL很有趣。无法弄清楚为什么你不能看另一行代码。但不知何故,将数据放入数据库并再其取出使你感到愉悦。你陶醉于完全逻辑语言的简单性。
27. 对编程马拉松又爱又恨
编程马拉松现在很常见。程序员加入团队并相互竞争。在这个过程中,他们会在几个小时内进行高密度学习。你会因为团队精神爱上编程马拉松,也会因为快速码字造成的腕关节综合症而讨厌它。你也会讨厌工作拥挤的房间以及在编程时感官的过度刺激。
28. 阅读研究论文时,会觉得一个字看不懂
你会说英语吗?好大多数人会说是的。但是,你可能会一遍又一遍地阅读一些研究论文,并发现自己一头雾水。对我来说,在学习基础数学之前,大多数关于算法的研究论文看起来都像是一片巨大的雾林。然后,突然间,一切似乎又都拨开迷雾了。
29. 购买耳机
在职业生涯的某个阶段,当你专注于代码时,会发现任何类型的噪音都会阻碍你的感官。买一个能够隔绝外部噪音的好耳机,可以让你在嘈杂房间内专心工作。在某些时候,还会发现音乐有助于编码。编码生涯的早期我就发现,音乐节奏有助于流畅地编码。即使是现在,需要提高工作效率时,我还会找些音乐来听。
30. 抓住与同伴交流的大好时机。
在职业生涯的某个阶段,你会成为公司非常重要的开发人员群体。这时你将被邀请到异地技术专业人员将在这里进行社交活动。高层管理人员会借此机会了解你。这并非是无忧无虑、享受的时候。相反是与同伴交往和交流的大好时机。有时,外出活动还包括与其他公司的技术专家的会议。
作者:吴军
翻译:php中文网
原文地址:https://medium.com/better-programming/30-short-things-i-wish-i-knew-all-this-when-i-started-programming-b17667e3df0c