给未来程序员的留言

所以,你决定成为一名程序员。

也许您对创造新事物感兴趣。

也许高薪正在诱惑你。

也许您只是想改变您的活动领域。

不是重点。

重要的是你自己决定 成为一名程序员.

现在该怎么办?

给未来程序员的留言

有几种方法。

第一: 去上大学 攻读 IT 专业并接受专门教育。 最平庸、相对可靠、极其冗长、最基本的方法。 如果你还在完成学业,或者你有能力养活自己一年半(最好,如果你能赶上所有事情并可以在第二年开始工作)到四年(如果将工作和学习结合起来),那么它就有效。不是你的强项)年。

这里需要知道什么是重要的?

  • 有必要选择合适的大学。 查看培训计划、评级。 一个很好的指标是大学的竞赛。 如果大学团队至少定期在相对大型的编程奥林匹克竞赛中进入前十名,那么在大学编码将不会是一个雏形(尽管事实上你个人可能对奥林匹克竞赛根本不感兴趣)。 嗯,一般来说,常识规则:贝加尔州立大学布拉茨克分校不太可能让你成为一个强大的全栈人才。
    好的大学的例子:莫斯科国立大学/圣彼得堡国立大学(显然)、Baumanka(莫斯科)、ITMO(圣彼得堡)、NSU(新西伯利亚)。 尽管它们都很出名,但如果你的目标不是顶级部门,那么很有可能在预算有限的情况下进入它们。
  • 不仅仅是一所大学。 尽管事实上你将接受各种方面的全面培训,但这还不够。 由于官僚主义,培训计划几乎总是落后于现代趋势。 最好的情况是一两年。 最坏的情况是5-10年。 您必须自己弥补差额。 嗯,显而易见的是:如果您与其他学生一起学习材料,那么他们每个人都将是您平等的竞争对手。 如果你选择领先,你在市场上会看起来更好。
  • 尽早找工作。 我从第二年开始工作。 到大学结束时,我已经是一个相当中等的开发人员了,而不是一个没有经验的谦虚的大三学生。 我认为很明显,大学毕业后,赚100万比赚30万更令人愉快。 如何实现这一目标? 首先,参见 A 点和 B 点。其次,参加聚会、节日、会议、招聘会。 监控市场并尝试在任何您至少大约适合的公司找到一份兼职初级/实习生的工作。 不要害怕付费会议:他们经常为学生提供非常好的折扣。

如果你遵循所有这些要点,那么当你获得文凭时,你可以成为一名非常优秀的专家,拥有工作经验和丰富的基础知识,而自学成才的人往往由于不应用的性质而忽视这些知识。 好吧,如果你出国的话,地壳会有所帮助:他们在那里经常看到这个。

如果不遵守的话……好吧,顺其自然,连夜抄写备考,就能拿到分数了。 但你认为那时你的竞争力如何? 当然,我并不是说你需要每件事都得A。 你只需要获得知识。 使用常识。 学习有趣、有用的东西,不要在意成绩。

给未来程序员的留言

最主要的不是他们试图强加给你什么。 最主要的是有趣且相关的

-

此外, 第二个方法: 编程课程。 互联网上充斥着让您在短短 3 个月的课程中成为大三学生的优惠。 只要有一个作品集,他们甚至可以帮助你找到工作。 一个月也就10万吧
也许这对某些人有用,但纯粹是恕我直言:这完全是胡说八道。 不要浪费你的时间和金钱。 这就是为什么:

一个远离IT的人,3个月内是无法了解这个职业的具体情况的。 根本没办法。 有太多的信息需要吸收,太多的信息需要理解,而且还有太多的信息需要适应。

那么他们会卖给你什么? 他们会向你推销“机械技能”。 无需深入研究细节,他们就会向您展示需要编写什么才能获得准确的结果。 在详细的说明和老师的帮助下,您将编写某种应用程序。 一个,最多两个。 这是投资组合。 对找工作的帮助是向大公司的初级员工发送职位空缺,而你不太可能获得面试机会。

为什么会这样呢? 很简单:抽象思考对于程序员来说非常重要。 程序员解决的问题可以用十亿种可能的方式解决。 主要任务是从数十亿中选择一个,最正确的一个,并实施它。 根据说明创建一两个项目会给你一些编程语言的知识,但不会教你如何解决抽象问题。 打个比方:想象一下他们承诺教你定向运动,带你走几条简单的徒步路线,然后说你已经准备好独自在冬天征服针叶林。 嗯,什么,你被教导如何使用指南针并在没有火柴的情况下生火。

总结一下:不要相信那些承诺在短时间内“碾压”你的人。 如果可以的话,大家早就成为程序员了。

给未来程序员的留言

左:您将学到什么。 右:工作中对你有什么要求?

-

第三条道路 - 大多数人选择的道路。 自学.

最困难,但也许是最崇高的方式。 让我们更详细地看看它。

所以你决定成为一名程序员。 从哪儿开始?

首先,你需要回答自己一个问题:你为什么想要这个? 如果答案是 “嗯,当然,这不是特别有趣,但他们付出了很多”,那么你就可以停在那里。 这里不适合你。 即使你的意志力足以筛选一堆信息,写出数千行代码,忍受数百次失败,仍然找到工作,但如果没有对职业的热爱,只会导致情感倦怠。 编程需要大量的智力努力,如果这些努力没有以解决问题的满足感形式的情感回报来推动,那么大脑迟早会发疯并剥夺你解决任何问题的能力。 这不是最令人愉快的场景。

如果您确定对此感兴趣,那么您可以决定具体细节 - 您到底想做什么。 如果您不知道程序员之间有何不同,Google 可以帮助您。

我会立即写下第一条建议,这样你就不会忘记:学习英语。 需要英语。 没有英语你就去不了任何地方。 决不。 没有英语你就无法成为一名普通的程序员。 就是这样。

接下来,建议制定路线图:您将根据其制定的计划。 研究细节,看看你的专业的空缺,从表面上找出那里使用了什么样的技术。

后端程序员的示例路线图(当然,并不适合所有人,这只是可能的选项之一):

  1. html/css 基础知识。
  2. Python。 基本。
  3. 网络编程。 python 和 web 之间的交互。
  4. 发展框架。 姜戈,烧瓶。 (注:要了解它们是什么类型的“django”和“flask”,您需要查看职位空缺并阅读那里需要什么)
  5. 深入研究python。
  6. js 基础知识。

, 我重复, 一个粗略的计划,其中的每个点本身就很大,并且许多主题没有包括在内(例如,代码测试)。 但这至少是某种知识的系统化,让你不会对自己知道什么和不知道什么感到困惑。 随着我们的研究,缺失的内容将会变得更加清晰,并且这个路线图将会得到补充。

接下来:找到您将用于学习的材料。 主要可能的选项:

  • 在线课程。 不是那些“三天六月”的课程,而是那些教授某一特定事物的课程。 这些课程通常是免费的。 提供普通课程的网站示例: 斯泰皮克, coursera.
  • 在线教科书。 有免费的、共享软件的、付费的。 您会自己弄清楚哪里需要付费,哪里不需要付费。 例子: html学院, 学习.javascript.ru, Django 书.
  • 图书。 有很多很多。 如果你无法选择,三个建议:尝试读新书,因为…… 信息很快就会过时; O'Reilly出版社的质量水平相当高,呈现也正常; 如果可能的话,用英语阅读。
  • 聚会/会议/讲座。 就信息丰富度而言,不是那么有用,但就与同事交流、提出相关问题和结识新朋友的机会而言,却非常有用。 甚至可能找到一个空缺。
  • 谷歌。 很多人低估了,但简单地找到某些问题答案的能力非常重要。 不懂的地方可以自行Google。 即使是经验丰富的前辈也会这样做。 快速查找某事物信息的能力本质上与了解某事物相同。

好的,我们已经决定了信息来源。 如何与他们合作?

  1. 仔细阅读/聆听。 累的时候不要读书。 深入研究其含义,不要跳过看似显而易见的要点。 通常,从显而易见到难以理解的转变发生得很快。 请随意返回并重新阅读。
  2. 做笔记。 首先,当信息量很大时,你会更容易理解你的笔记。 其次,这样信息可以更好地被吸收。
  3. 完成消息来源向您建议的所有任务。 虽然不,但不是那样的。 做 所有 来源为您提供的任务。 即使是那些看似简单的事情。 尤其是那些看起来太复杂的。 如果您遇到困难,请寻求帮助 堆栈溢出,至少通过谷歌翻译。 写作业是有原因的;它们是正确吸收材料所必需的。
  4. 自己提出任务并完成它们。 理想情况下,实践应该多于理论。 您将材料固定得越紧,一个月后您就越有可能不会忘记它。
  5. 可选:在阅读时为自己做测验。 在单独的来源中写下棘手的问题,一周或一个月后,阅读并尝试回答。 如果不起作用,请再试一次。

我们对所研究的每项技术重复这 5 点。 只有这样(深入的理论学习和密集的实践)你才能建立高质量的知识基础,从而成为一名专业人士。

看起来一切都很简单:我们一一学技术,领悟禅,然后去工作。 事情就是这样,但事实并非如此。

大多数学习编程的人都是这样的:

给未来程序员的留言

图片确实是盗来的

在这里您需要更详细地查看每个步骤:

开始: 你的知识为零。 出发点。 目前还不清楚,但这可能非常有趣。 这条路一开始是上坡,但坡度不大。 很快你就会爬上去

愚蠢之巅: “万岁,你已经完成了你的前几门课程! 一切顺利!” 在这个阶段,第一次成功带来的欣喜蒙蔽了双眼。 尽管您仍处于旅程的开始,但似乎成功已经很近了。 当你努力争取成功时,你可能没有注意到你将如何快速掉入深坑。 还有这个坑的名字:

绝望之谷:所以你已经完成了基础课程,阅读了一些书籍并决定开始写一些你自己的东西。 突然 不工作。 似乎一切都已知,但如何将其组合起来使其发挥作用尚不清楚。 “我什么都不知道”, “我不会成功”。 到了这个阶段,很多人就放弃了。 事实上,知识确实存在,并且没有消失到任何地方。 明确的要求和支持就这样消失了。 真正的编程开始了。 当你必须在一个有目标但没有中间阶段的空间里机动时,很多人都会陷入昏迷。 但实际上,这只是学习的另一个阶段——即使前十次经过巨大的努力,一切都变得丑陋。 主要是一遍又一遍把事情完成, 至少以某种方式。 第十一次事情会变得更容易。 五十号时,会出现一个对你来说很漂亮的解决方案。 到了一百岁就不再害怕了。 然后它就会来

启蒙斜坡:到了这个阶段,你的知识和无知的界限就清晰地显现出来了。 无知不再可怕;人们知道如何克服它。 无需做出任何决定即可在太空中进行机动将变得更加容易。 这已经是终点线了。 已经意识到自己作为专家所缺乏的东西,您将完成并巩固必要的东西,并以平静的灵魂进入该领域。

稳定期: 恭喜。 这是终点线。 你是一位专家。 你可以工作,面对不熟悉的技术你不会迷失方向。 只要付出足够的努力,几乎任何问题都可以克服。 尽管这是终点线,但这只是更伟大旅程的开始。

程序员之路。

祝你好运!

可供选读的文学作品:
关于成为一名程序员和邓宁-克鲁格效应: TYK.
9个月成为程序员的硬核方法(并不适合所有人): TYK.
您在学习期间可以独立实施的项目列表: TYK.
只是一点额外的动力: TYK.

来源: habr.com

添加评论