A. 作为一个两年的程序员,很迷茫,应该怎么办
盐商总会经历一段时间的迷茫,不知所措。
其实作为程序员做了两年,那么一定是技术很不错的,也适应了这种生活和工作,就这个阶段就需要在进一步的努力突破,现在的技术水平有新的提升,像我那个时候做程序员也有迷茫的时候,后来我又报了一个专业班,进行全方位的进行和学习,从而突破了自己,那么就从这种迷茫期慢慢的走出来。
B. 如何才能修炼成一名不可替代的程序员,避免裁员危机
程序员,就是从事程序开发、程序设计、程序维护的专业人士。
作为一种专业性极强的技术性专业,程序员的工作难度非常高,只有专业技能水平高超的人才能在这个领域获得良好的发展前景。……那些实力不足的人,只能被最终淘汰。
因此,要想在程序员这一行里成为不可替代的人,避免自己被淘汰出局的情况,就必须具备以下几方面能力:
1,高人一筹的专业技能。
在职场上,要想确保自身生存,就必须具备一项专业技能。……要想确保自己不被淘汰,就必须具备高人一筹的专业技能水平。
因此,要想让自己成为不可替代的程序员,要想让自己避免被淘汰的情况,就必须确保自己的专业技能水平高人一筹。
2,强大的罗辑思维能力。
程序,是一个逻辑性极强的系统。
一个程序的各个部分之间、各项功能之间,都存在着极强的关联,也拥有着非常强的逻辑关系。
因此,要想编写出性能优异的程序,就必须拥有极强的逻辑思维能力。……这是确保自己拥有更强实力、确保自己不被淘汰的重要能力。
3,高超的数学水平。
程序的表象,是一段代码。而其核心,则是数学模型,是具体的算法。……只有具备高超的数学水平,才有能力编写出算法精妙、逻辑严谨的程序来。……这是自己具备更高水准的关键因素。也是自己高人一筹,不可替代的关键因素。
4,精通至少一门编程语言。
编程语言是程序员在编程时所用的工具。……只有熟练掌握手中的工具,才能让自己编写出优秀的软件。……编程语言有很多种,一个程序员不可能面面俱到。……但是一个合格的程序员必须掌握至少一门编程语言,这就是自己工作时最得力的工具。……运用这个工具,自己就可以编写出优秀的软件,就可以获得更好的业绩,最终成为不可替代的优秀人才了。……自己也就不可能被淘汰了……
C. 程序员小白都应该知道的30件事
作者 | 宋兰欣 廖馨婷
来源 | 读芯术
从事编程并不容易。每年有许多人从各国的顶级计算机科学专业毕业,这是所有人都向往的最具竞争力的职业之一。与此同时,编程也振奋人心。随着技术的进步,每天都有新的创新。对于喜欢编程,并立志从事编程的人而言,编程是其热爱且为之奋斗的事业。
本文的这个列表可以帮助新手答疑解惑,节省精力。即使目前某些内容可能暂时不需要,但是总有一天它会派上用场。
1. 从事编程无需学位,但需要有所了解。
编程是少数几个不取决于学位的职业之一。但是编程是一项知识密集型职业。如果你要从事编程行业,阅读一些基本的涵盖计算机科学的基本概念等书籍是必要的。除了编写功能代码之外,为你的技术打下坚实基础,对基本概念有一个深刻理解,这使得你能够赢得技术面试有助于与同事交流。
2. 在问题解决技能上,编程十分具有创造力。
大多数人都有这样一种先入为主的观念,即编程就是分析和解决问题的能力。这只说对了一部分。编程还涉及许多创造性。通常,可以使用多种方式编写给定的代码。当你设计出最简单有效的编码方式时,创造性就产生了。
3. 掌握所有编程语言是不可能的,诀窍是将一门语言学到极致。
世界上有数百种编程语言。有一些编程领域为特定的职业道路铺平了道路:Web开发人员,前端开发人员,后端开发人员,软件工程师,数据库开发人员等。明确希望成为哪种开发人员,然后学习该职位所需的技术技能。
4. 你不需要成为一个机器,保持作为人的状态就更好了。
请记住,你首先是人,其次才是一名程序员。初次编程时,很容易迷失在代码中。你是一个人,你需要笑,需要哭哭,需要减压,需要与人交谈。作为一名程序员,平衡生活,尽可能的发现工作之外的乐趣与激情将为工作带来更多创造性。
5. 编程是应用知识而不是死记硬背。
与发明和创造新知识领域的研究不同,编程就是应用现有知识。书籍,研究论文,在线文章和学习视频将成为经常使用的资源。没有必要记住所有知识。可以通过搜索资源找到答案。随着处理的项目增加,知识也会自然而然铭记于心。
6. 你每天都会与冒名顶替综合症对抗。
编程是所有“聪明”人都超同一个目标前进的行业。除非你是天才,否则你会每天都觉得自己不配取得成功。当你每天都为这种感受所困时,会试着想办法解决这一问题。你可以一直将其作为学习新事物的动力,正确看待问题。
7. 作为一名程序员,你还需要有工作之外的生活,否则,你只会沉迷于编程。
有段时间你可能会宅在家里不出门。但是,要成为一名快乐的程序员,必须主动寻求计算机屏幕之外的生活。职业生涯的成功往往取决于你遇到的人。人际关系对程序员而言必不可少。保持程序员之外的个性特征对于防止沉迷于编程至关重要。当你乐在其中而非强迫自己时,工作才会更加出色。
8. 与他人合作会学得更快。
在职业生涯初期,你会想要断开与外部世界的联系,沉溺于阅读这十本有关编程的书籍,以建立计算机科学基础。你猜怎么着?如果你找到一个学习伙伴,会学得更快。当你与他人合作,所有的编程“缺点”都会暴露出来。编写的代码会得到审阅。由于有第三方的存在,你将会学着编写高效的代码。由于伙伴也在学习,所以你会想找到最好的办法。当你从事程序员这一工作时,总会有人审查代码。你永远不是独自一人这是你需要习惯的。
9. 不需擅长数学和科学。
在技术行业会遇到各种超级明星程序员,他们在接受了长期的文科教育之后,发现了编程在逻辑思维方面的吸引力。有很多画家和作家在追求艺术的同时以编程谋生。成为一名优秀的程序员,你需要的是坚持不懈。编程很辛苦。但是,一旦有了恒心,任何人都可以通过阅读编程书籍掌握基础知识。在这个行业工作一段时间后有很多人重拾数学。最后他们甚至可以在没有接受正式数学教育的前提下理解实施复杂的算法。
10. 成为全明星“学习者”。
程序员的学习能力都很强。刚开始也许你的学习能力并不出色,但最终将会得到提升。有时,工作会要求你在六个月内学习三种编程语言。这就是技术创新的状态。作为程序员,每天都在学习。学习就像呼吸一样。即使你对每天都需要学习的状态不太舒服,你也会被迫习惯。
11. 你将对完成项目上瘾。
编码成瘾是真实存在的。在编程生涯中的某一阶段,你将经历通宵编程的马拉松。在完成项目之前,你都不会想要睡觉。由于大脑正在处理大量的信息,你会忘记吃饭,喝酒,甚至不会离开办工作。不要紧,工作做完后,就到外面散散步或者度度假吧。
12. 耗费一整天只为找一个小漏洞。
多数时候,在编程项目中许多部分彼此相互关联。通常,你会发现除非修复了系统中潜藏的一个小漏洞,否则无法继续进行下一步操作。作为程序员,除非找到这处漏洞,否则你会对整个项目倍感压力。你会整天坐在电脑夙夜难寐,只为找到这一漏洞。这种现象只有找到它后才会消失。
13. 你将花费大部分时间在谷歌搜索无人能为你解答的答案。
如果使用流行的语言编程,那么大部分的问题都能得到解答。但是,也有例外。有时,你也会出现别人碰不到的问题。在这种情况下,参考编程书籍并询问编程委员会通常会帮助你答疑解惑。
14. 阅读设计模式的书
是否毕业于国内外最好的计算机科学专业并不重要。在每个程序员的职业生涯中,都会坐下来仔细阅读Head First Design Patterns。它可能是新程序员最常阅读的书籍之一。还在等什么?赶紧拿起它并从头到尾阅读。
15. 学会专注于确切的拼写
在每个程序员的职业生涯中,都会用自己喜欢的语言编写足够的代码,以便按照自己的方式做事。这包括为变量,类,甚至数据库中的表提供的命名约定的准确拼写。仔细审查这一点。你最不想发生的就是因为拼写错误而产生的系统漏洞。记住,当理由充分时沉浸与值得关注事情是情有可原的。但是如果无据可依,那不过只是无意义的重复。
16. 你可能会放弃
有时你会遇到无法解决的问题。有时问题难到让你怀疑人生,只想要辞职。有时工作环境会让你想要放弃。激情取决于坚持。这时候质问自己,是要坚持还是放弃?当遇到挫折和困难时,你就把它当做港湾和下一次腾飞的跳板。
17. 重头再来
当你看到那些和从前的一样热爱编程的人,你会很羡慕接着发现自己无法放手。你不能放手。然后又会回到编程项目上来。你意识到在内心深处,和编程同呼吸共命运,这是你才成为一名真正的程序员。
18. 回到某种形式的学校教育,去学习系统的知识。
即使是从精英计算机科学硕士课程毕业的最优秀的程序员也将在工作中学习。事实上,在职培训是大型科技公司工作的最佳福利之一。公司将送你去学习“高昂”的课程和研讨会,以培训你使用他们希望使用的最新技术。如果碰巧在工作中没有学到足够的知识,你将接触到许多在线编码学院和youtube视频,以提高你的技能。
19. 被不喜爱的公司聘用
即使你是一个平庸的程序员,某些公司也会需要你的技能。当他们面试你的时候,试着记住你也在面试他们。根据公司的文化,你可能会发现自己想对这份看似轻松地工作说不。作为程序员,工作时间很长。找到适合自己的公司文化几乎至关重要。幸福度会带来好的工作表现。如果你的技能无可替代,总会有其他公司排队挖你。非必要情况,不要轻易妥协。
20. 技术面试不合格
技术面试不是开玩笑。高级程序员经常以编写技术面试问题为乐。通常,出于某些原因,这些问题总是格外难。如果技术面试不合格,这也不是世界末日。这当然不能证明你的编程能力。它只测试你的知识库。试着想想积极的一面。如果个人技能出色,经理们会记住你。如果他们看好你的能力,然而你并不适合担任这个角色,他们仍可能会联系你,为你提供另一个职位。
21. 被告知你很出色
在职业生涯中,有时候你会觉得自己像个明星。经理需要依靠你完成项目,他们夸赞你很棒,以激起你的干劲。你会觉得自己处于世界之巅。注意了,这是在诱导你变得自负。请保持谦虚,毕竟学无止境,人外有人山外有山。
22. 被贬得一无是处
在职业生涯中,有时你会觉得自己一无所知。对项目没信心人会告诉你,你什么都不知道。也许他们这样做是为了让你了解自己身处的位置。但是,既然你正在阅读这篇文章,你就会大踏步前进。因为你知道的可能比你想的还要多。你所掌握的知识也会随着时间增多。一年后,人们会尊重你,所以请坚持下去。假以时日,甚至可能赢得那位曾经将你贬得一无是处的人的尊重。
23. 与你所欣赏的其他程序员竞争
编程最绝妙的方面之一就是竞争。当你编写一个你钦佩的程序员认为值得的代码时,会开心地像赢了彩票。编程竞争总是很有趣。精妙之处不在于谁是最好的而是互相学习。
24. 可能理解不了同事的话
一开始,这种情况可能是每周或每月一次。在新编程工作中,你可能理解不了同事刚刚说的话。可能以下两个原因。鉴于生活环境的不同,你可能听不懂他们的口音。在这种情况下,请另一位同事翻译。不能理解某人的言论并不可耻。很可能,其他同事也花了多年时间才得以习惯这种口音。另一个原因是同事刚才所说的完全超出了你的知识范围。那也没关系。毕竟,同事是专家。让同事以图片形式解释一下。你会想要拉把椅子坐下详听,因为这可能需要一段时间。
25. 看到去年写的面条式代码,你会感到羞耻
这事儿常常发生。开始时因为Perl代码,我被批评了。这是一个记录良好的代码,设计也很好。但我却用一种难以阅读的语言写出来。所以,我写了面条式代码。但是,每年,无论我怎么努力,我仍然会找到一些我清除由于快速完成工作而编写的面条式代码。这就是程序员的日常。我们解决问题并修补问题。不必觉得羞愧。当你意识到这是你写的,返回修正即可。
26. 当你厌倦了看另一行代码时,你将在数据库项目中躲避
当你进行一次精彩的编程攻关时会发生这种情况。已经两个月了。你需要休息一下。但是你喜欢这种势头,所以继续前进。然后你意识到SQL很有趣。无法弄清楚为什么你不能看另一行代码。但不知何故,将数据放入数据库并再其取出使你感到愉悦。你陶醉于完全逻辑语言的简单性。
27. 对编程马拉松又爱又恨
编程马拉松现在很常见。程序员加入团队并相互竞争。在这个过程中,他们会在几个小时内进行高密度学习。你会因为团队精神爱上编程马拉松,也会因为快速码字造成的腕关节综合症而讨厌它。你也会讨厌工作拥挤的房间以及在编程时感官的过度刺激。
28. 阅读研究论文时,会觉得一个字看不懂
你会说英语吗?好大多数人会说是的。但是,你可能会一遍又一遍地阅读一些研究论文,并发现自己一头雾水。对我来说,在学习基础数学之前,大多数关于算法的研究论文看起来都像是一片巨大的雾林。然后,突然间,一切似乎又都拨开迷雾了。
29. 购买耳机
在职业生涯的某个阶段,当你专注于代码时,会发现任何类型的噪音都会阻碍你的感官。买一个能够隔绝外部噪音的好耳机,可以让你在嘈杂房间内专心工作。在某些时候,还会发现音乐有助于编码。编码生涯的早期我就发现,音乐节奏有助于流畅地编码。即使是现在,需要提高工作效率时,我还会找些音乐来听。
30. 抓住与同伴交流的大好时机。
在职业生涯的某个阶段,你会成为公司非常重要的开发人员群体。这时你将被邀请到异地技术专业人员将在这里进行社交活动。高层管理人员会借此机会了解你。这并非是无忧无虑、享受的时候。相反是与同伴交往和交流的大好时机。有时,外出活动还包括与其他公司的技术专家的会议。
D. 干货!给转行java程序员的建议
一、Java基础
学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。
学完以上内容以后,你应该对Java有一个基本的了解了,你可以用Java语言写出一些简单的程序,并且你用的是最简单的编辑器,比如记事本。这个时候,不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这些基础内容。
二、Web开发
等你写上几天程序以后,你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。这个时候你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。
这些内容主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。
它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),这部分内容你可以去上面的那个runoob网站上找。你可以试着自己写一些页面,当然,你可以尽你最大的努力让它变得最漂亮。这部分内容对于后端Java来说,理论上不是特别重要,但至少要达到可以自己写出一些简单页面的水平。
接下来,你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的,而且这个时候,你要学会使用开发工具,而不能再使用记事本了,可以选择eclipse。
三、开发框架
当你学会以上内容以后,这个时候你还不足以参加工作,你还需要继续深造。公司里为了提高开发的效率,会使用一些Java Web框架,因此你还需要学习一些开发框架。
目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。
关于干货!给转行Java程序员的建议,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。
E. 对于新入行的程序员来说有哪些好的建议
首先就是该明确自己的发展方向和道路,要是一直停留在舒适区,那就永远改变不了。另一个就是其实在互联网行业,是不是科班,本科或者专科,这些在几年后都没那么重要。更重要的还是能力。有能力就是学历低点也没什么。
在工作中发现知识不够用了,面临工作上的压力,不如先提升自己的技术水平和实际操作能力,这才能够在就业中起到一个实质性的推进作用。有的已经参加过培训的已经工作了的,这样的程序员也不能松懈,因为在工作中还是有很多东西是需要自己学习的。所以小伙伴们知道进入职场该如何做了吧!
F. 电脑软件、游戏制作。
重点在思维的训练和学习能力的培养,对知识的记忆是次要的。
做软件开发尤其需要强大的学习能力,因为新软件新思路涌进很快,跟不上步伐就会被淘汰。并不存在一个学了之后,就可以一直用的技术,除非你甘于做一个平庸的程序员。而掌握了学习能力,软件什么时间学都不晚。所以建议你把现有课程学好,学通,不是简单的当作知识来记忆。 为将来能更快的掌握新知识做好准备。 考上大学,进入计算机专业学习,然后再考虑出路问题。
由于你没有编程基础,游戏开发,可以简单看看Game Maker教程。
编程上,可以看看python, 这是最容易掌握的语言,然后再考虑C/C++。
G. 怎样成为一名无坚不摧的全能程序员
高级程序员是如何造就的,除多年编程经验之外,还有什么能区分一个程序员是“老手”还是“新手”?编程技巧当然是一部分,但它绝非是全部。
聪明的程序员可能比他们的同行拥有更出众的编程技巧,但那不足以说明他们就是“老手”。同样,仅仅因为拥有10年编程经验也并不意味着他们就是高手。在工作岗位上,拥有多年编程经验也不能说明问题。即便没被炒鱿鱼,那也不能提升你的价值。
下面列举的事情是大多数高级程序员都会做的。
1.至少掌握一门编程语言
我相信有些优秀的程序员只懂(并精通)一门编程语言,但在某种程度上而言,这其实会限制一个人的思维。就像当你手拿一把锤子时,任何东西看起来都像钉子。我认为,知道并成功使用至少一门编程语言,这是程序员从新手走向老手的重要一步。我要说的是,像javascript和sql这样的辅助编程语言,只有当你确实已经开发了完整的应用程序,并在其中使用这些编程语言时,它们才有价值。
2.工作之余也经常编程
我抱怨过把开源作为招贤的一项要求,但那仅仅因为许多充满激情的程序员把时间花在别的地方。除了对开源有所贡献,你还可以做兼职顾问,兼职创业,开发自己的产品或者创办自己的微型软件公司。当然,你也可以尝试从外部接些兼职项目,可参考伯乐在线的这篇《成功接项目需要注意的几个要点》。
注:misv即microisv,是一个只有一名员工组成的软件公司,是一种微型公司。
3.经历完整的软件开发过程,从概念设计到产品实现,再到产品维护
有的程序员希望不用自己动手就可以得到详细的设计说明,然后把缺陷代码交给测试/维护小组,这是平庸程序员的一个缩影。任何称职的程序员都会跟客户密切合作,去制定需求分析,然后编码实现,当然也要维护。如果你在编码实现阶段偷懒了,那你在维护阶段不得不付出代价。
4.不断创新
创新就是做一些你身边的人没有做过的事情,用来改善你的过程或产品。你不一定非得是世界上第一个做这件事的人,只要发现一个问题,找到解决方法然后实现它就行。
5.编写的软件能解决实际问题
有一副虚构的场景:一名黑客,仅仅是出于对技术以及自己所做事情的爱,一天到晚都在编写代码。但这几乎无助于成就一名优秀的开发者。事实上,我曾见过有些开发人员和客户争论,来采用更好但不太有助客户的技术。这会适得其反。你可以利用自己的时间来完善。但涉及工作时,你最好还是编写能实际改进并解决问题的代码,而不是使用那些不同寻常的算法或接口。
后话
这些问题对于任何想成为高级开发人员的朋友来说,都合情合理。因为这些问题和拥有多少年编程经验并没有关联。如果你能做到上面4-5条,那你就是高级程序员。如果只有1-2条,那你还需要加油努力。
H. 智力平庸能做程序员吗
当然可以,只要你有那个恒心就行了!
I. 程序员怎么去提升自己能力
二:信息采集器和笔记本
首先你要给自己设定一个目标,就如同一个公司会设定它的Vision。
目标要够大,这样你才能看到更多的风景。
目标应该设定在解决哪一类问题,而不是精通哪一类技术。技术只是手段,不是目的。
例如,“我要成为iOS developer中的达人”这个目标,就远不如“我要成为前端应用开发的专家”来得有意义。前者学到深处你可能会去钻研iOS framework里各种奇技淫巧,而后者你会开始关注视觉与交互设计,研究各平台间的差异与共同趋势。显然,后者更有助于你的个人发展。
不过即便有了明确的目标,选择哪一类技术学习,如何学习,在信息过载的今天依然是一个难题。常有的观点是应该学习最新的技术,因为老的已经过时,而反对的观点则是新技术还不成熟。我个人的观点是,当初入一个领域时,选择主流技术框架;当你有一定经验后,选择技术时更应该关注背后的推动者,我相信优秀的人和团队总能打造优秀的产品,无论是商业公司还是开源社区。不必太在意技术的新旧,因为可能很快都会成为过去时。你真正要学习的是技术背后的思想。有不少语言与开源项目会写它的Coding philosophy,这是很有意思的,你可以从它们的源代码中去验证这些编程理念。以Python为例,如果你执行import this就会看到它的理念,再如Python中一个着名的开源库Celery,在它的文档有专门一节讲述它的编程理念。它们对你的影响会比这些技术本身来得更深远,这是我给初学者们的一个忠告。
同理,我非常推荐读一些优秀开源库或是语言的源代码,例如Python的标准库绝大部分都是用Python实现的,而且可读性非常好。如果学习一门技术仅仅停留在用的层面上,你就还没有完全吸取其中的精华,而且学习的收益会随着技术的过时而消失。
我的另一个学习原则是,在选择学习一门新技术时,最大化它与你现有知识库的差异性。读起来可能有拗口,例如你会Django,接下去你应该去学习Ruby on Rails还是NodeJS?依据这个原则,你应该学NodeJS,因为它的异步IO模型在理念上与Django的同步模型差异很大,而RoR则与Django更多相似之处。但更好的选择是不要去学另一个Web framework,去学习ZeroMQ或是Redis,这两者对于Web development也非常有帮助,这样就做到了最大化差异。从构建一个程序员的技术理念角度,我会推荐每一个程序至少去了解Lisp或是一门Functional programming language,不管你是否会在可见的未来用到,它们能让你从一个不同的角度看待编程。
最后我建议每个程序员都应该经营一款自己的产品,它可以是一款app,一个网站或是一个开源软件。除非你是一个创业公司的早期员工,不然你可能没有机会将所有学到的技术或是理念都付之实践,有很多人想成为全栈工程师,最快的捷径就是打造一款自己的产品。任何一个设计师都会精心打造自己的Portfolio,但大部分程序员却不会。当评估一个程序员的Coding能力时,我会去看他的Github上是否有出彩的项目,可惜国内绝大部分程序员的Github空空如也,或者只有一些非常简单的程序。我建议大家好好经营自己Github上项目,这不但可以提高你的声誉,对你将来的求职也非常有帮助。当你报怨求职面试时又被问到各种无厘头的程序题时,有没有想过面试官也很无奈,因为他没有任何其他方法得知你的Coding能力究竟如何。如果每一个程序员都有自己的作品,我想程序员的面试会简单许多。
重视沟通能力的培养
当被问到“你觉得Junior Developer和Senior Developer最大的差别是什么”时,我最自然的反应是沟通与文档。沟通包括程序员团队内部的沟通,与其他团队的沟通,与Manager的沟通等等。我不认为自己有能力把这些问题非常概括地说清楚,不过我可以给一条建议,那就是先学会和你的Manager沟通,让他来教你其余的部分。许多公司都会设置Manager与组员的1:1,一个有效率的1:1应该大部分时间有组员来主导。这需要你在1:1之前花足够多的时间来考虑要问的问题,并且最好提前1天发给Manager,让他有机会思考答案。许多人对此不太重视,或者只问非常具体的问题而不是一些开放性问题,这样你很难在你的Manager身上学到东西。如果你渐渐懂得如何利用1:1的时间,它很会成为你在工作中单位时间投资回报率最高的活动。
累积你的人脉
每个人都明白人脉的重要性,但实际做起来却不容易。参加一些线下的会议或是活动,可能是最直接的扩展人脉的方式之一。可惜大部分人似乎只是去听了一场技术讲座就回家了。当然,这和不少活动的时间安排也有关系,讲座时间排得太满,茶歇时间短,加上有时嘉宾迟到或是没控制好时间,干脆就把茶歇取消了。而实际上,结识一两个同道中人远比听技术讲座有价值。下次去参加这类会议,不妨给你自己设个目标,比如至少加两个同行的微信。之后维系你的人脉可能需要花更多的时间,下了班或是周末找你的朋友们喝个咖啡吧?
另外我觉得每个人都需要一个职场导师,他可以是你第一份工作的导师或是Manager,也可以是你认识的其他前辈。你们需要维系一个非常长期的关系,不止于一家公司,最好贯穿你的整个职业生涯。每当你遇到疑惑时,都可以询求他的建议,我觉得这将是你最宝贵的一笔人脉财富。
寻找发挥你才华的平台
最后也是最重要的一步,找到适合你的公司。做为求职者评估一家公司可以看三个方面:
公司的发展前景(大公司的话,看所在部门的发展前景)
你将要加入的团队
薪资福利
所以在面试一家公司的时候,你要意识到面试是双向的,公司在面试你的同时,你也在面试这家公司。面试前你应该对这家公司做足功课,准备好一些有质量的问题,比如指出产品中的问题,询问开发流程或是如何做绩效评估。到时你也可以检验一下你的面试官是否合格。
每次选择公司对以上三个方面都应兼顾,但在职业生涯的不同阶段,侧重点不同。比如,在刚刚工作时,加入一个优秀的团队最为重要,他们可以教会你很多东西,提升你的能力。工作5年之后,你需要一个平台施展你的才华,体现个人价值,公司发展前景的重要性迅速提升。当你做出一番成绩,证明了自己的价值之后,逐渐进入收获期,就有了与公司要价的资格。另一方面,团队实力对公司的前景也有很大的影响。
对一个刚毕业,初入职场的同学,一个近几年被问了无数次的问题“我的第一份工作是去创业公司还是大公司?”我的回答仍旧是“加入一个优秀的团队最为重要”。一些知名的大公司,团队的素质是有一定保证,但创业公司则不然,团队素质参差不齐,所以如我前面所说你需要面试这个团队,做出自己的判断。不过除了团队因素之外,我想提一下毕业生去创业公司的几个好处。
首先,在刚毕业的一段时间内,经济压力小,是最自由最能承受风险的时期,而这段时间往往不长,所以应把握好这个去创业公司的黄金时段。其次,所有的学生进入大公司后,都会担任初级职位,某种程度上来讲是学校学习的延续,规范有条理,但缺乏独立性和创新性,而这正是中国大部分学生所欠缺的。这方面的能力在一家创业公司可以得到快速锻炼,而在大公司可能要等升到中级职位后才有这方面的机会。个人观点,仅供参考。
小结
我觉得步入职场的前3年对今后的发展尤其重要,希望此文能对年轻的程序员们有所帮助。欢迎评论?
如果想私信我的朋友可以加群,大家一起学习,一起学术分享,资料共享
J. 给程序员编写高效java代码的几条建议
张小喜告别996 实现高效编程 减少开发压力 开启Java高效编程之门(完整版高清视频)网络网盘
链接: https://pan..com/s/1kKaGzsXHu3Cy7MqvIY7r3g
若资源有问题欢迎追问~