程序员不是一个简略的作业,每年都有许多人从国内顶尖院校的计算机科学专业结业,这是任何人都能从事的竞赛最大的作业之一。同时,编程也是令人兴奋的。随着技能的进步,工业界每天都有创新。编程关于酷爱它的人来说是一项充满热情的作业。
当我 15 年前开端做程序员的时分,我希望有人能奉告我下面清单上的一切主张。这个清单能够为一切新手程序员节省许多的时间和精力,并且,你能够在编程作业发展的整个进程中都参考这些主张。即便这里面有些观念现在或许与你无关,但总有一天你会看到其中的智慧。
作为一名程序员,你正处在巨大的顶点。
你只要对自己要走的路途稍有了解就能够开端冒险了。
当你开始编程时,你需要知道的30件事图1
1.你不需求学位,但你需求常识
我和许多没有计算机科学硕士学位或计算机科学本科学位的程序员一同作业。编程是少量不依赖学位的作业之一。可是,编程是一项常识密集型的作业。假如你想开端编程生计,这是本基础书本你必读的。这十本书将包含计算机科学的基本概念以及如安在项目团队中作业。它们能够为你的技能打下坚实的基础,让你对基本概念有一个深刻的了解,并且让你有才能去编写功能性的代码,顺利进行技能面试并与搭档沟通。
2.创造性是进步处理编程问题才能的重要因素
大多数人都有这样的先入之见:编程都是关于剖析和处理问题的技能。这个观念并不是完全正确的,编程也十分需求创造力。一般,你能够用许多方法编写给定的代码。当你拥有了创造力,就能规划出最简略、最有效的代码时。
3.不要什么都学,通晓一部分常识
编程言语有数百种。有一些编程范畴有着清晰的作业路途:Web 开发人员、前端开发人员、后端开发人员、软件工程师、数据库开发人员等。你需求决定要成为哪种开发人员,然后学习该职位所需的一切技能和技能。
4.你不需求活的像机器人
记住,你首先是一个人,其次才是程序员。当您第一次开端编程时,很简略在代码中迷失方向。有时我在完结项目的一切里任务之前都不脱离电脑。可是你是一个人,你需求笑,哭,减压,和人交谈。管理好你的日子,最大限度地进步作业之外的兴趣爱好,这将程序员的作业带来更多的创造力。
5.编程便是运用常识而不是为了回忆
与研讨不同,在研讨中,你会发明和创造新的常识范畴,但编程便是运用现有的常识。书本、研讨论文、在线文章和学习视频成为您常常运用的资源。不需求记住任何东西。你总是能够查找资源来找到答案。随着你处理的项目越来越多,这些回忆会主动天然地出现。
当你开始编程时,你需要知道的30件事图2
6.你每天都要克服自己是“冒牌货”的心态
编程似乎是一切“聪明”人都倾向于做的一种作业。除非你是个天才,不然你会像我相同,每天都会置疑自己是个冒牌货。当你每天都阅历这些的时分,你往往会想出一个方法来处理这个问题。对我来说,我一直把它作为学习新事物的动力。我现已学会了站在正确的视点看待这个问题,并且满足于每天都有的一点点进步。
7.你有必要有程序员以外的日子,不然你只会沉迷于编程
有时你会在宅在家里。可是,要成为一个高兴的程序员,你有必要主动地在电脑屏幕之外寻找日子。你作业的成功往往取决于你遇到的人。当你是一个程序员时,社交网络是必不可少的。拥有程序员以外的日子关于防止自己沉溺于编程是至关重要的。当你编程是由于热情而不是被逼的时分,你就能做出最好的作业。
8.假如你和其他人共同完结一个项目,你会更快地学会编程
在你的作业生计刚开端的时分,你会企图把自己关闭起来,阅览关于编程的书来建立你的计算机科学基础。你猜怎么着?假如你找到一个朋友一同协作,你会学习得更快。我在和其他小伙伴协作完结一个项目的进程中看完了编程书本。当你和其他人一同协作时,你一切的程序缺陷就会暴露出来,你的代码将受到批判。你将学会编写有效的代码,由于有人在监视你。你会想找出最好的方法去做作业,由于你的朋友也在学习。当你做程序员时,总有人在检查你的代码。你永久不会单独编程,所以你需求习气这些。
9.你不需求拿手数学和科学
在科技行业,你会遇到各种超级程序员,他们在承受了一辈子的文科教育后发现编程的逻辑思维很有吸引力。有许多画家和作家在一边追求艺术,一边做着程序员。编程是一项艰苦的作业,做一个好的程序员所需求的仅仅坚持,任何人都能够通过编程书本学习基础常识。许多人在这个行业作业了一段时间后就开端学数学了。最终,这些人乃至能够了解和实现杂乱的算法,虽然他们并没有承受任何方法的正式数学教育。
10.你需求成为一个全明星的“学习者”
程序员是一个熟练的学习者。现在你或许不是一个大师级的学习者,但你会抵达那一步的。有时分你的作业会要求你在六个月内学会三种编程言语,这便是技能创新的现状。作为程序员,我们每天都在学习。对我们来说,学习就像呼吸相同天然。假如你对每天的学习感到不耐烦,你有必要逼迫自己去习气这一点。
当你开始编程时,你需要知道的30件事图3
<!--[if !supportLists]-->11. <!--[endif]-->专心于完结你的项目
编码是真的会上瘾。在你的编程生计中的某个时间,你将阅历一整晚的通宵编程。在完结里目标之前,你不会想睡觉的。你会忘掉吃饭、喝酒,乃至忘掉从工作桌上起来,由于你的大脑处理了太多的信息。不要紧,在做完后,到外面散散步,度个假吧。
12.你会花费整天找一个小 Bug
大多数时分,在一个项目中,许多部分是相互依赖的。一般,你会发现除非你修正了一个埋伏在你系统中的小 Bug,不然你无法持续前进。作为一个程序员,除非你发现这个错误,不然你会对整个项目感到有压力,你将整天坐在电脑前寻找它,再找到它之前你将在晚上梦见代码。
13.你将花大部分时间查找没有人能奉告你的答案
假如你用一种流行的言语编程,你将能够找到你在网上遇到的大多数问题的答案。可是,也有破例。有时,没有人遇到过你碰到的问题。在这种状况下,参考编程书本和在四处问询一般会为您指明正确的方向。
14.你会读一本规划模式书
你是否结业于最好的计算机院校关系不大。在每一个程序员的作业生计中,总有一段时间你会坐下来,自始至终地阅览 Head First Design Patterns。关于一个新手程序员来说,这或许是阅览得最多的书之一。那么,你还在等什么?把它捡起来,从头读到尾。
15.你将学会专心于精确的拼写
在每一个程序员的作业生计中的某个时间,您将用您最喜爱的言语编写了满足的代码,以便按照自己想要的方法来做作业。这包含为变量、类乃至数据库中的表按照你自己的命名约好进行精确的编写。你将对此进行完全的检查。你最不想看到的是一些由于你拼写错误而出现的 Bug。记住,假如理由满足,那么请专心于一件作业。但当你没有很好的理由而去做某件事,这或许仅仅重复性的行为。
16.你会抛弃
我抛弃了多少次?我现已数不清了。有时你会碰到你无法处理的问题,有时分会你会由于困难而想停止,有时分作业环境会让你想辞职。你的热情取决于你的坚持,这些正是考验你的时分。是留下仍是脱离?我每次都留下来了。有时,在几年没有写一行代码之后,我会作为一个准备好完结一个项目的新人回来。当你知道你酷爱你的作业时,它会变成一个家,你会愿意为之冒险。
17.重启你自己
假如你相信更高的力气,你或许会需求这个主张。我看到过许多人重新开端编程,一般他们都是由于酷爱,与钱无关。当你看到一个人像你以前相同对编程乐在其中时,你是嫉妒的,你觉得你也不能抛弃编码。然后,突然间,你又回到了一个项目中。你知道,在你的内心深处,你的日子和呼吸都离不开代码。这便是你知道自己是一个真实程序员的时间。
18.你将回到某种方法的“校园”学习“正确”的做事方法
即便是从精英计算机科学专业硕士结业的最好的程序员也会在作业后持续他们的学习。事实上,在职训练是在大型科技公司作业的最佳福利之一。公司会给你提供“贵重”的课程和研讨会,让你了解他们希望你运用的最新技能。假如或许,你在作业中学到的常识是不行的,你将参与许多在线编码学院,检查 YouTube 视频来进步你的技能。
19.你将被一个你不想为之作业的人招聘
即便你是一个平庸的程序员,某些公司也会需求你的技能。当他们面试你时,请记住你也在面试他们。由于公司的文明,你或许会发现自己想对一个轻松的 offer 说“不”。作为一名程序员,你将作业很长时间,因此,找到一个文明和你契合的公司文明至关重要。愉快的心境能让你更好地作业。假如你的技能适宜,其他公司也会来敲你的门,除非有必要,请不要随意换岗。
20.你会在技能面试中失败
技能面试不是恶作剧。高级程序员常常为了好玩而编造技能面试问题。一般,由于某种原因,这些问题是十分困难的。假如你没有通过技能面试,那并不是世界末日,它并不能证明你没有编程才能,它仅仅在测试你的常识库,试着往好的方面看。假如你的人际往来才能拔尖,司理们会记住你的。假如他们喜爱你,而你不适合这个职位,他们或许还会打电话给你另一个职位。
21.你会被奉告你很棒
在你的作业生计中,有时你会觉得自己是明星。依赖于你完结项目的司理会为了激励你,会奉告你你特别巨大。你会觉得自己在世界的顶端。记住,保持兢兢业业。总是有新技能需求学习,总是有比你更好的新程序员。
22.你会被奉告你什么都不知道
在你的作业生计中,有时你会觉得自己什么都不知道。对某个项目感到沮丧的人会奉告你你什么都不知道。也许他们这样做是为了让你安顿下来。可是,你完全不应该否定自己。由于你知道的或许比你幻想的要多得多。每过一天,你就会知道得比前一天多一点。一年后,人们会尊敬你的。请持续尽力,一段时间之后,你乃至或许得到那个奉告你你什么都不知道的人的尊重。
23.你会想和其他你钦佩的程序员竞赛
编程最棒的方面之一便是竞赛。我喜爱和我崇拜的人一同编程。当你能编写一段让你欣赏的程序员必定的代码时,你会像刚刚中了彩票相同高兴。编程中的竞赛是很有趣的,它并不是比谁最好,更多的是互相学习。
24.你不明白你的搭档刚刚说的话
在最开端,这或许每周或每月发作一次。在你的新编程作业中,你会不了解你的搭档刚刚说的话。这或许有两个原因。一个或许的原因是,你便是无法了解他们的口音。在这种状况下,能够请另一个搭档翻译。不能听懂他人的话并不羞耻,很或许其他搭档也花了许多年才习气这种口音。另一个原因是,你的搭档刚刚说的话完全超出了你的幻想。但这也不要紧,毕竟,你的搭档是专家。摆好椅子,请你的搭档以图片的方法解说这一切。很或许,你需求一段时间去习惯。
25.看到上一年写的杂乱无章的代码你会感到惭愧
这也是常常发作的。在最开端,我也由于代码不标准受到过批判。其时,规划很好且有着良好文档,但我是用一种难以阅览的言语写的。但直到现在,不论我多么尽力,每年我仍然会找到一些杂乱无章的代码,这一般都是由于我想很快地完结作业。实际上这便是程序员的作业,我们不停地完善和修改各种代码。这并不羞耻。当你意识到它们是你写的的时分,后退一步,假如能够的话,好好地修改它。
当你开始编程时,你需要知道的30件事图4
26.当你衰弱得不能看一行代码时,你将在你的数据库项目中找到保护
当你在进行一次愉快的编程之旅时,或许会发作这种状况。你现已连续作业两个月了,你需求休息一下。但你喜爱这种其时的状态,所以你持续前进。然后您会发现 SQL 很有趣。你不明白为什么你看不进去一行代码。但不知何以,将数据放入数据库并将其取出,是一件令人愉快的作业。你陶醉于这种完全符合逻辑的简略言语。
27.你对黑客又爱又恨
黑客进犯现在很常见。程序员在团队中互相竞赛,在这个进程中,好几个小时你都在高度紧张地学习。此刻的黑客进犯就想调味剂相同,你或许会十分喜爱。但有时,你会厌烦在高速敲键盘时被打断。你也会厌烦拥挤的工作室和喧嚣的活动。
28.在阅览研讨论文时,你会以为你一个单词都看不懂
你会说英语吗?好吧,大多数人的答复都是必定的。可是,我向你确保,有时你会一遍又一遍地读一些研讨论文,并意识到自己完全无法了解它们。对我来说,在我学会大学数学的课程之前,大多数关于算法的研讨论文都像是没有含义的森林。然后,突然某一天,一切似乎都有了含义。
29.你要买耳机
在你的作业生计中的某个时间,当你全神贯注于你的代码时,你会意识到任何一种噪音都会阻止你的感官。一个好的耳机能够消除外部噪音,这样在拥挤的工作室里你也会隔绝外部干扰。在某些时分,你也会发现听音乐能够帮助你编码。在我编码生计的前期,我发现音乐的节奏有助于我流畅地编码。即便现在,我也会凭借一些音乐来进步自己的生产力。
30.你将去一个新的当地,假如走运的话,它将是拉斯维加斯
在你的作业生计中的某个阶段,你会成为对公司十分重要的中心开发人员。这时,你或许会被邀请到异地,和其它技能人员进行沟通。高层管理人员或许会利用这个机会了解你。请别误解,这并不代表着你能够高枕无忧地喝醉酒了,而是你和你的同龄人往来和沟通的好机会。假如你走运的话,活动将会在拉斯维加斯。有时,还会有其他公司的技能专家来参与这些活动。