专业的全职程序员可以通过不断学习他们的工作来做得很好。业余程序员如何训练成为一名优秀的程序员?
**如果您喜欢播放音乐或唱歌,可以这样做,因为这是您的爱好,并且您很感兴趣,因此您可以成为一名优秀的歌手或音乐播放器。但您无需成为专业歌手或唱歌来谋生。对程序员来说也是如此吗?有一位著名的业余程序员吗?
专业的全职程序员可以通过不断学习他们的工作来做得很好。业余程序员如何训练成为一名优秀的程序员?
**如果您喜欢播放音乐或唱歌,可以这样做,因为这是您的爱好,并且您很感兴趣,因此您可以成为一名优秀的歌手或音乐播放器。但您无需成为专业歌手或唱歌来谋生。对程序员来说也是如此吗?有一位著名的业余程序员吗?
Answers:
变得真正优秀的关键是在一个好的团队中工作。许多业余爱好者独自工作,所以他们只能做到这一点。在团队中,您可以向他人学习,并且可以自律,因为您的同伴会以其他任何有用的方式来打击您。
因此,我建议您加入一个团队,例如一个开源项目,或与一些朋友一起做一个爱好项目。
擅长编程的道路与唱歌或播放音乐相同:练习,练习,练习。如果您花费足够的时间定期开发软件长达数年,那么您很有可能会变得精通-无论是在工作时间内还是在工作时间之外。
现在,除了花费更多的时间练习外,还有另一个原因使得专业人士通常在某种意义上(在音乐以及程序设计方面)变得比业余爱好者更好。如果您是专业人士,则必须执行不必要的任务,但属于软件开发的更广泛的工作(例如,测试,与客户讨论,编写文档,设置开发/构建环境,编写构建脚本等)。 )。有时您还会被迫进入陌生的领域,学习新的语言或平台。作为一名业余爱好者,您不会被迫做任何自己不想做的事情,这很可能使您一生中都停留在舒适区内。换句话说,您可以轻松地将自己限制在最喜欢的一个或几个特定领域,
OTOH也有许多专业开发人员也加入了该行列,他们在同一家公司从事相同的日常工作,几十年来几乎没有学到任何新东西。因此,变得更好的关键是您的态度。如果您继续学习,并且有意识地寻找从舒适地带搬到陌生的新领域的机会,您最终将胜过那些逐渐僵化的“专业人士”。一个好的方法可能是对一些开源项目做出了贡献。
推荐阅读的书是《实用的程序员:从旅人到硕士》,其中有很多非常实用的建议,说明如何不断变得更好。
但是对于一个业余程序员来说,如何训练成为一个好的程序员呢?
通过学习,您会变得更好,这部分是在做,部分是在反思所做的事情。
因此,基本上,业余爱好者和专业人士之间没有区别,但是“陷阱”的安排有些不同。
业余陷阱,恕我直言
无论您是什么专业人士,完成项目的需求无论如何都不会那么强烈。这可能是一件好事,因为就质量而言,您不会像以前那样偷工减料,但是精加工(根本来说!准时甚至更好)是一项非常重要的技能,这对于业余爱好者来说更难训练,因为让一个项目终止然后再开始一个项目很容易。
良好沟通的需求并不那么强烈。在专业项目中,强烈地激励他们真正了解客户,即使他们完全无法就他们希望您解决的问题仅形成一个连贯的句子。如果您误解了他们,或者(通常情况下)没有注意到他们没有谈论您需要了解的内容,迟早会成为您的问题。一个业余项目由于无法解决他们的问题而很容易失去所有潜在用户,并以技术方式“完成”。
专业陷阱是
通常很少有动力变得更好。无论您是要找到治愈癌症的方法,还是只是以看起来有成效的方式喝咖啡,您每周都会有40小时的服务。学习是您主要为自己做的事情,通常,如果您尝试应用所学到的东西,就会有相反的作用(保守的集体思维,层次结构,甚至样式指南也可以用作改进的武器)。不仅要放弃职业,减少工作时间,并在生活中寻找其他目的,这需要专业人士的极大热爱。
通常没有什么可学的。是的,可以尝试将所有内容视为挑战,但是我们必须坦白:在使用意大利面条代码1年之后,您将不允许使用已经使用多年的语言进行重构(“您正在使其复杂化!”)。经验的积累可能会持续多久,唯一学会的就是建立对挫败感和公司政治的容忍度。
如果您播放音乐或唱歌,可以出于兴趣而播放,您仍然可以成为一名出色的歌手或音乐播放器,但无需成为专业歌手或为生活而唱歌。
您当然不需要,但是有多少音乐家会拒绝一个真正辞职并通过音乐赚钱的机会?
在IT领域,这些机会比在Music中更有可能,因此,我认为并不是不可能成为一名著名的业余爱好者,但通常,业余爱好者会发掘自己的工作(音乐家在不得不找出他们在商业和艺术之间的界限)
作为一名业余程序员,如今您有许多提高技能的可能性。在学习软件工程时,我做了以下事情来提高自己的技能。
当然,您还需要运用您的知识。通过实习,与朋友一起进行项目或学习课程来实现。有很多方法可以改善自己,您只是愿意投资自己的空闲时间。此外,玩得开心,学习新东西!
业余爱好者有可能成为一名优秀的程序员吗?
是的,有可能,但是需要很长时间:
在各个领域,包括国际象棋,音乐创作,电报操作,绘画,钢琴演奏,游泳,网球以及神经心理学和拓扑学研究中发展专业知识,大约需要十年的时间。关键是深思熟虑的实践:不仅要一遍又一遍地做,还要挑战一项超越您当前能力的任务来挑战自己,尝试一下,分析执行前后的表现,并纠正任何错误。然后重复。再重复一次。
业余程序员如何训练成为一名优秀的程序员?
同样来自同一来源:
作为一名业余爱好者,与许多专业人士相比,您有更多的选择来寻求更好的做法。专业人士经常承受着“只做就完成”的压力。
我还没有看过像我从那里学过编程的任何课程,但是我从我参加的大学提供的一些短期(1-3小时)免费课程中学到了东西。它们旨在使业务人员能够理解为他们编写的代码。这些课程提供了很好的书面代码(包括注释),解决了一个常见的现实生活问题。然后,对代码进行了审查,并解释了语言功能以及为什么在地方使用它们。我见过的全部语言课程都没有比我从该课程中学到的质量更高的代码。过了几年,我才开始学习计算机科学。
互联网和图书馆提供了大量资源和示例。我发现许多示例除了完成工作之外,对任何事情都不是很好。查看示例时,请先查看代码。您无需解释即可了解其目的和结构吗?如果是这样,您可能已经找到了一个很好的例子。
您应该学习并应用一些关键实践:
如果您喜欢演奏音乐或唱歌,可以这样做,因为这是您的爱好,并且您很感兴趣,因此您可以成为一名优秀的歌手或音乐播放器。但您无需成为专业歌手或唱歌来谋生。对程序员来说也是如此吗?有一位著名的业余程序员吗?
一点也不。这是软件工程。它不是基于“天赋”。成为优秀的程序员是基于多年的教育和多年的经验。您只能在实际项目中使用它。
考虑到实际字的本义(法国业余 “的情人”,源自古法语和最终源自拉丁语amatorem NOM。amator,“情人” -维基百科),一想就相信专业人士的也大量业余爱好者。如果您不喜欢自己的手艺,您会练习吗?
当然有可能-如果您喜欢编程,您将练习它,并且随着时间的流逝,您将变得擅长于此。(考虑到个人才能或缺乏才能,也许永远不会很棒),但至少是好的
我没有定义好的程序员。但是学习自己的东西并与一群人一起工作是不同的。充满热情的业余程序员真正致力于学习新事物和黑客技术。他们发现事情变得更有趣。但是与一群人一起工作只是一种纪律严明的行为,您可以在该领域进行协作,交流,共享/获取该领域专家的信息。
但是获得知识只是激情的问题。有些人花了很多夜来学习东西,最后最终带来了比尔·马克·马克·扎克(Bill G Mark Zuck)等世界新事物。但是如果您想成为一名更好的软件工程师(我不会叫Programmer),请加入一家公司或为其他人使用的一些好的产品工作。
最后阅读很多书,以提高您的技能,态度,行业动态,发展品味并满怀热情。事情将轻松跟随您!
问题是,“有没有业余程序员成名?” 答案是“是的,但大多数人并没有那样做。” 我能想到的最著名的例子是罗伊·菲尔丁(Roy Fielding),他做了一些他最重要的工作,而我(在我看来)在大学没有薪水(按定义,业余人员意味着无薪)。
具有专业素质的诀窍是要有一位或多位导师(例如,开源项目中的团队)和认真的时间专注于该主题。作为一名以前的专业音乐家,我的经验是,无论是作为专业人士还是业余爱好者,这两个方面都是必须的。有些可以通过书本来学习,但是如果没有一致的外部批评,就很难通过新手养成的不良习惯。
就是说,对于程序员而言,它比音乐家的学习起来要容易得多–根据我的经验,作为音乐家,作为音乐家,要看到您的教学错误要比仅仅看到代码困难得多。不起作用。另一方面,要成为一个好的开发商,还需要大量的时间投入。