`
flyfox1982
  • 浏览: 81518 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

年轻程序员如何快速成长

阅读更多

最近公司招聘了一批初级前端工程师,招聘之后就是开始培训和实习指导,培训过程中,思考了一些问题,包括如何更好的培训 指导 以及管理新人。也思索了新人程序员自己应该如何快速成长。

态度是第一位的

态度用于是第一位的,不只是新员工,老员工也是如此。不过对于新员工来说,更加重要。没有好的态度的员工,能力再强,企业也不喜欢。更何况,我很少见到态度不好的员工,有很强的能力的。

首先是要认真

在给新人做培训的时候,就会发现一部分员工很认真的听讲,并及时做笔记,而少数员工则是插着手在哪儿一听而过。为了解决这个问题,我在培训中直接定了规则,每个人都必须要寄笔记,并强制写培训总结。 这样也方便我从员工的培训总结中看出那些人的理解更加到位。当然认真的态度不至于培训阶段,在实际开展工作的时候也非常重要,这其中包括遵循公司的规范。比如写代码应该按照公司确定的好的规范来严格执行;作为的任务自己要认真检查;完成任务之后,需要发邮件;给客户发邮件,需要礼貌用语,并详尽的解释相关的事宜等等,每一个细节,都需要认真对待。

谦虚的态度

所谓谦虚的态度,首先要求大家有空杯心态,特别是一些有一定基础的员工,需要先对自己的认知清零,然后认真的听取培训老师的培训,在实际工作中,要多听取老员工的意见,建议。因为作为新人(至少是绝大多数),你在很多问题上的认知肯定要比老员工差,这个时候,就算你有自己想法,也要认真听取领导或者其他同事意见。就算是工作了很多年的我,现在都保持这个习惯,对于一个问题,我有了自己的想法,或者解决方案,我也会咨询其他人,或许其他人还有更好的解决方案呢。当然你有自己的想法,大胆的发表出来,也是很受欢迎的。谦虚并不代表一味的唯唯诺诺的态度,唯唯诺诺的态度,也不是谦虚,而且也是不受欢迎,对自己发展也不利的。大部分时候,我们希望员工有自己积极思考的态度。

积极的态度

包括几个方面。

  • 第一个,积极做事,工作中积极争取做更多的事情,如此自己能够有更多学习的机会,二来也能够给公司一个更好的印象,公司也便愿意提供更多机会给你;
  • 第二个,积极沟通,沟通能力是一个很重要的能力,对于人的成长技巧重要。后面会专门说道沟通。
  • 第三个,积极思考,遇到问题能够积极主动的思考解决方案,而不是消极等待或者排斥。

勤奋努力的态度

要想获得更快更长足的进步,勤奋努力是必须的,及时对于极有天赋的人。所以一般而言,我都会对新来的员工说:公司虽然不会强制大家加班,但是作为新人,你肯定要做到比别人更加努力,自觉投入更多的时间在学习上面。

变换你的心态

你不是一个学习者,而是一个执行者

对于一些刚毕业的新人来说(或者刚转行到软件行业的人),要意识到,公司招聘员工,是要求员工给公司创造效益的。 所以虽然前面提到新人需要努力的学习来提供自己的能力,但是新人需要意识到,学习不是最终目的,最终目的是为了解决问题,做出成果。 所以,新人要意识到:虽然学习是必要的,但是快速进入工作状态,而非一直处于学习状态,才是一个员工应该有的状态。因为进入公司,你就不在是一个学生。


培养沟通能力

很多程序员忽略沟通能力。认为做程序员,只要能够把代码写好就行。事实远非如此。作为程序员,需要和至少如下人员经常沟通:

  • 设计师 (沟通设计方面)
  • 产品经理或者客户 (沟通需求)
  • 其他程序员(沟通需求、技术、对接等等问题)

如果一个程序员不能很好的和以上人员沟通,很难想象他能够合格的完成任务,跟别说出色了。
那么作为新人应该如何培养自己的沟通能力呢。

好的沟通条件

在我看来,好的沟通一定有如下两个重要的条件:

  • 能够很好的理解别人的意图
  • 很好的表达自己的意图,以便别人能够理解。

积极沟通需求

一般在上司给安排了工作之后。
有的人就开始做了起来,但是实际上,可能需求不是很明确,而不明确的,也不会主动提问沟通。 而有的人会思考需求,然后把自己不明确和上司或者其他同事积极沟通清楚。
积极沟通需求

及时呈现工作成果

在完成一个任务之后,可以通过发邮件,图片,视频或者demo的方式多呈现自己的工作成果。

  • 能够肯定自己的劳动成果
  • 让人了解相关工作进度
  • 另外可以及时的让人看到所做工作的不足。

不要害怕呈现自己的缺陷

有的时候,新人不愿意沟通,是害怕呈现自己的不足。实际上恰恰相反,作为新人,不能害怕呈现自己的不足之处。只有你让别人看到了你不足的地方,才能够很好的帮助你改进,提高。而如果你一味的隐藏自己不懂的业务,技术。很可能,在很长一段时间之后你还是不懂。 一般而言,你的上司可以容忍一个新人刚开始不懂,但是不能容忍在一段时间之后,还有很多东西不懂,比如我就是这样的,最初你不懂,我可以理解,并给予你支持帮助,但是较长时间之后,一些基本的东西你还不懂,我可能就会有看法了。

合理的提问

当然,虽然我鼓励新人多提问,但是还是希望新人提的问题是搞水平的。而不是低质量的问题。一个问题,你需要自己先思考,先查你已知的资料,在此基础上,你在来提问。而不是一开始上来就提问。 另外提问之前要梳理清楚一个任务中的业务 技术点,在此基础上,提出你不懂的部分。 最好不要提出类似 “这个任务我不会,你能教教我吗”。 而最好是这个任务是干什么的,1,2,3 列清楚,然后当前技术 我自己知道了哪些,有几个技术点或者业务点不清楚,需要指导。 要知道,你的上司或者其他同事,可能很忙,不可能什么问题都来和你从新梳理一遍。
另外,你如果希望别人帮你调试解决某个问题,最好是把问题写出一个最小化的demo,让人来帮忙看。

尽快熟悉相关业务

沟通能力并不是单一的“沟通能力”。如果你能够尽快的熟悉公司的业务,那么沟通能力本身也会上升。

锤炼思维能力

调试能力

不会调试的程序员,不能称之为程序员。通过调试,发现数据,程序运行的规律,找到问题所在,并修复问题。可以说,一个程序员的大部分时间都是在调试,如果能很好的掌握调试技巧,将会是你的程序员生涯的巨大障碍。
调试本身也可以调高你思考问题的能力。
所以,学习各种调试技巧和调试思路,势在必行。

善于思考,反思,总结

在遇到问题的时候,需要自己做中总结和反思。 思考自己的解决方式,思维方式。如果遇到一些问题,自己没能解决,而在别人的帮助下解决了,不解要总结改问题的解决方案,还需要总结别人的思维方式。我从小上学数学不错,就是因为自己花了大量时间在这种思考、反思、总结上。遇到自己不会,老师指导了才会的问题,也一定要不断梳理思路,看自己应该如何“顺利”的就能想到这种解决方案。

记录,写文档

当然,如果你能够学习写作,把平时思考、反思、总结下来的东西记录下来,一定更好。写作其实也是一种重要的能力,对于每个人来说都比较重要。 把问题解决方案或者其他思路等记录下来,整理成文档,可以加深自己的记忆,也方便以后遇到类似的问题的查阅,同时还可以分享给他人,帮助别人解决类似问题。
所以写文档是一件当下利益不明显,但是长远利益巨大的事情。

猜测的能力

记得我当年高中的物理课,老师说:物理问题要大胆猜测,小心论证。对于一些问题,我们可能暂时文档 资料欠缺,在这种情况下,我们可能需要能够猜测。根据我们已经有的知识,猜测某个可能性,然后通过某个方式来论证猜测。
比如,以JS为例,我们遇到某个对象的API接口不明朗的时候,我们可以在控制台 遍历出相关的接口函数,然后更加函数名称,猜测某个函数是做什么的,选中我们需要的接口函数。
当然上面的举例只是一种简单的猜测 论证。还有更多复杂的情况。总之,在未知的情况下,不要害怕停止不前,而是多去猜测,尝试。说不定 就能够找到解决方案。
除此之外,在调试问题的时候,猜测问题的可能性也是一种很重要的能力。


提高学习能力

快速学习的能力

对于新人来说,感觉自己要学习的东西很多。这个时候我们在学习的时候要掌握技巧。要有“粗学”和“细学”的能力。对于很多文档或者知识点,先从整体理解,然后大致浏览一遍相关文档。,然后在实际中运用中,遇到相关的的知识点,再去细致的了解。而不是一个知识点一个知识点的细致学习,可能等你学完后面的,前面的已经忘记了。所以在“粗学”的过程中,以下两点比较重要:

  • 对于整体框架一定要有个很好的认识,理解框架的作用,架构思路,编程思想,代码风格。
  • 在“粗学”知识点的时候,以了解该知识点的作用和运用范围为主。

以解决问题为导向

前面提高了快速学习,实际上快速学习要能够真正落实,产生效用。 需要我们以解决问题为导向。遇到一些新手,喜欢看很多书,学习很多知识点,技术点,但是实际动手能力很差。 为什么我遇到一些参加培训的同学,培训出来之后的效果并不会很明显。因为,在培训过程中,你还是着重在学习,而这种学习,可能存在缺陷:

  • 学习的东西可能很快忘记了
  • 并没有提高你解决问题的能力
    我就遇到很多新人特别好学,不管什么技术,都希望自己能够掌握,要去学一学。 以为掌握了很多知识点、技术点就能成长的更加厉害。但是往往事与愿违。学了那么多知识,还是过不好这一生,哦,错了,还是解决不了稍微有点难度的问题。 所以建议新人的学习,应该多以解决问题为导向来学习:
  • 学习你近期工作最需要的相关知识和技术。
  • 培养相关的思考问题的方式,思维、架构能力,而不只是学习知识点。
  • 把工作内容涉及到的相关技术做到极致,而不是浅尝辄止,懂一点点就停止不前。

其他工作外的技术点要不要学,当然要学,多学习可以开阔自己的视野,从而潜移默化的提高你的认知能力和处理问题的思路和能力;但是时间上改如何分配和平衡,需要把握好。

解决问题的技巧

难的问题,80%也是简单的

如果看不清前方的路,那就一步一步走。

在遇到比较难的问题时候,我们往往会束手无策。我遇到一些员工,在遇到稍微难的问题的时候,就不知道如何下手。但是事实上,一个难的问题,可能难的部分只有20%,或者更少的比例。但是我们往往被难的部分给吓住了,然后不敢动手,或者不知道如何下手。其实,我们只要稍微把任务分解下,就会发现,还有很多部分是我们可以下手开始做的,这个时候,应该先忘掉难点的部分,开始着手我们会的部分。在做你会的事情的过程中,可能也发现了难点的解决方案。而即使没有发现难点的解决方案,这个时候也可以拿着你已经做出来的部分,去求助他人的帮助,这样别人在帮助你解决问题的时候也方便。

更多精彩内容,请关注公众号。

 

ITman彪叔公众号
ITman彪叔公众号
0
0
分享到:
评论

相关推荐

    《程序员入职锦囊妙计》 pdf

    书中主要讲述了刚刚走出校园的年轻程序员在面对新工作岗位和人生角色时可能遇到的种种迷茫和挑战,并通过真实的案例分析,讲述了快速适应职场的经验。作者徐海峰拥有八年的程序员工作经验,以及在一家知名电子商务...

    当程序员的那些狗日日子(txt)

    通过上述分析可以看出,《当程序员的那些日子》不仅记录了一位程序员的成长历程,更蕴含了许多关于职业发展、个人成长和心态调整等方面的经验教训。这些内容对于IT行业的从业者来说尤其宝贵,能够帮助他们在职业生涯...

    给程序员的话

    在当代信息技术高速发展的...中国的年轻程序员们,应该重视这些方面的培养和提升,以期在未来的全球技术竞争中占据一席之地。毕竟,知识的掌握不仅仅是为了个人的发展,更是为了整个民族的技术进步和国家的繁荣昌盛。

    我的程序员成长之路

    下面将详细阐述这九个阶段,帮助年轻的程序员理解成长路径并从中获得启示。 **第一阶段:入门阶段** 在这个阶段,程序员在学校里学习计算机基础知识,如数据结构、算法、操作系统原理等,同时掌握一种或多种经典...

    中国顶级程序员的技术人生.pdf

    从实习到毕业,从职业素养到技术栈,从不断学习到职业规划,每一个环节都对程序员的成长起着至关重要的作用。文章通过分享作者的亲身经历,为读者提供了一个对程序员职业发展的深入了解,同时给出了一些实用的建议和...

    程序员述职报告.docx

    近期,一篇名为《程序员述职报告》的文章,由一位年轻的Java程序员撰写,以报告形式详尽阐述了他在过去一年中的工作经历、技术成长以及个人发展的反思。这份报告不仅是对个人职业生涯的梳理,也为同行业的其他专业...

    讲座资料(2021年-2022年收藏的程序员个人述职报告多篇.doc

    【程序员个人简历】则为我们提供了另一个视角,它展示了一个22岁年轻程序员的专业能力和实践经验。简历中,除了扎实的C/C++编程基础,熟练的数据结构、算法知识和面向对象编程技巧,还体现了他对TCP/IP网络协议和SQL...

    程序员的九重境界,看看自己的位置

    根据给定的信息,我们可以推断出文章主要讨论的是程序员成长的不同阶段或者说“九重境界”。虽然提供的内容较为简略且存在非中文字符,但通过标题、描述和部分可辨认的文字,可以尝试构建一个关于程序员成长阶段的...

    程序员经验分享

    Java业界前辈的编程心得总结,对于年轻程序员的成长之路具有指导意义。编程学习中,最重要的是把握正确的学习方向,少走弯路。以下是根据提供的文件内容提炼出的关键知识点: 1. IT技术风潮不应追赶:文章提到,...

    程序员个人工作总结.doc

    作为一名程序员,每年的工作总结都是对自身成长和技术提升的一次反思与回顾。在202X年,我经历了许多变化,从对原有工作的不满,到积极寻找新的机遇,再到找到一份能激发我工作热情的新职位,这一过程充满了挑战与...

    程序员简历模板18.doc

    这名22岁的年轻人具备了6个月的实习经验,这在职场上是个不错的起步。他居住在科技气息浓厚的北京朝阳区,这为他提供了便利的信息和技术资源。联系方式也一目了然,方便招聘人员及时联系。 实习经历是简历中非常...

    大学生程序员实习报告.docx

    在当代社会中,互联网行业的蓬勃发展为大学生提供了广阔的实习平台,特别是对于有志于成为程序员的年轻人来说,实习是一条了解行业、提升技能、体验真实工作环境的重要途径。大学生程序员实习报告.docx不仅记录了...

    我这十年(一个顶级程序员自传)

    在科技快速发展的今天,程序员这个职业已经成为了人们心目中高智商、高收入的代名词。然而,成为一名顶级程序员的道路并不容易,它需要的不仅是对计算机科学的热爱,更需要不断的自我提升和适应时代的能力。在这篇...

    程序员35岁前成功的12条黄金法则

    《程序员35岁前成功的12条黄金法则》一文,深入浅出地为年轻的IT从业者们提供了宝贵的指导建议,旨在帮助他们在职业生涯的早期阶段就能找到正确的方向,实现个人与职业的双重成长。 ### 法则一:明确目标 文章开篇...

    程序呐的种业发展

    在当前的IT行业中,很多初入职场的程序员都会有一个共同的担忧:程序员这份职业是否真的只适合年轻人?针对这一问题,最近有一篇文章提出了较为深入的观点,对于理解程序员的职业规划和发展方向具有一定的参考价值。...

    程序员 杂志\05-03.pdf

    **描述**:介绍了Justin Frankel这位年轻的技术天才,他在19岁时开发出了著名的媒体播放器Winamp。尽管他取得了与比尔·盖茨相似的成功,但他并没有选择传统的商业道路,而是以其独特的个性和创新精神继续创作各种...

    软件工程师的成长与职业发展PPT学习教案.pptx

    3. **李开复对年轻人的忠告**:虽然具体建议未在文本中列出,但通常李开复会强调终身学习、敢于尝试、勇于创新的重要性,以及保持对新技术的敏感度,以便在快速变化的IT行业中保持竞争力。 4. **职业发展阶段**:...

    2022年试谈软件工程师的成长与职业规划(共23张PPT).pptx

    软件工程师的职业发展路线多样,可以从初级程序员逐渐晋升为高级工程师、架构师,甚至管理层。对于技术爱好者,可以专研某一领域,如人工智能、大数据、云计算等,成为该领域的专家。对于有管理兴趣的工程师,可以...

    The craftsman by Robert C Martin

    - **实践意义**:对于刚入职的年轻程序员来说,展现出积极的学习态度、对高质量代码的追求以及愿意接受挑战的精神是非常重要的。这不仅有助于他们在职业生涯早期建立起良好的声誉,也为未来的成长奠定了坚实的基础...

    高质量C++ C编程指南

    在现代IT行业,一个程序员的成长不仅仅局限于技术层面的提升。例如书中提到的Smith,他的困境是许多中年程序员所共同面临的挑战。随着年龄的增长,他们的学习速度可能不如年轻人,同时工作压力和行业的竞争态势也让...

Global site tag (gtag.js) - Google Analytics