【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 百科 » 正文

放弃培训班自学编程9 个月后我成为年薪 6 位数的软件工程师

放大字体  缩小字体 发布日期:2020-06-25 11:58:25    浏览次数:10
导读

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!  授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。  《原力计划【第二季】》第一期主题勋章 ,

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

  授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

  《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。

  在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。

  你们不都是程序员吗?自己编一个不就好了。C++编的吗,不就是操作显示器吗?最多加点数学。哎,原谅我一个门外汉不理解你们的心情。

  将介绍他是如何在 9 个月一边做全职工作,一边通过自学从一位经验为零的新手成长为斩获 6 位数年薪的软件工程师。

  每当阅读成功人士的故事时,我都会查看作者的背景,希望他们的背景与我的相符。我从来没有找到与我拥有相同背景的人,而且很可能我的情况也与你的不同。尽管如此,我还是希望我的故事能够对你有所启发,并作为一个有价值的参考,帮助你取得成功。

  9 年前,我在高中参加了 Visual Basic for Applications(VBA)课程。7 年前在刚接触工程课程的时候,我学习了 C、Python、Matlab 和 Labview。3 年前我获得了一所大学的化学工程学位,成绩还不错。 除了高中和大学里的课程学习以外,我没有接触过任何编程,直到去年我决定学编程。

  大学毕业后,我在一家炼油厂找到了一份工艺工程师的工作。在我转行从事软件工程之前,一直在那里工作。

  我喜欢解决技术问题,但我知道将来我想涉足商业或创业。我一直有读 MBA 的想法,但每当我看到名牌大学昂贵的学费时,我的兴趣就会减弱。

  2017 年 5 月 27 日,我再次在 Google 上搜索 MBA 时,不知怎的,偶然发现了软件工程。这似乎是一个完美的契机。

  软件工程师的需求越来越大,工资也很高,而且它是一个完美的行业,无需大量的启动资金也可以进入创业领域。你所需要的只是一台电脑,而你的机会几乎是无限的。

  首先你需要一个目标。特别是如果你想在全职工作的同时学习。如果你没有任何外部压力的推动,那么为了让自己坚持学习下去,就需要创造内部压力。你的目标应该简单并量化。为了制定一个合理的目标,你需要做足功课。我的目标如下:

  有了目标之后,你需要一个计划来帮助你实现目标。这时你需要尽可能多地阅读成功人士的故事。每个人的情况都与你的不同,但你可以从每个人那里获得一些建议。在制定计划时,我用到的资源包括:

  做出这个重大决定后,我顿时感觉充满干劲。每天下班一到家我就开始编程,直到上床睡觉。而且整个周末都在编程。Udacity CS101 可以显示出课程的完成百分比,这对我来说是一个很大的动力。每天在编程后我都会记录完成的百分比。我在 10 天内完成了第一个 75%。最后的 25% 讲解的是递归,对我来说有点难。总而言之,我花了 20 天才完成 Udacity CS101。

  在学习 Udacity CS101 的时候,我开始大量阅读 learnprogramming subreddit()。我读到,对于希望通过自学转行成为程序员的人来说,积极在线非常重要。所以我决定用我的全名创建新的 Twitter、Reddit、Stack Overflow、Medium 和 Quora 帐户,这样我就可以保持在线的状态。

  此外,我决定停止阅读分散注意力的媒体,比如 Instagram,Facebook 和与编程无关的 subreddits。我只会查看手机上与编程相关的新闻和帖子。这对于确保我找到最佳学习路径和学习资源至关重要。正因为如此,我才在 edX 上发现了课程 Harvard CS50。

  原本我只想上一个入门课程,但是似乎每个人都推荐 Harvard CS50,所以我决定深入研究。其他学校计算机科学系的学生也参加了这门课程,而且他们表示在 CS50 学到的知识比在大学计算机科学系一年或两年学到的东西更多。大家普遍认为,虽然这门课程很难,但很值得学习。到第 0 个月结束时,我完成了前 5 个讲座和作业。

  这个月过了一半的时候我完成了 CS50。我不会过多评论对 CS50 的体验,因为我写了一篇关于我的经历的帖子()。

  简而言之,这是一个很棒的课程,我强烈推荐。David Malan 是一位优秀的讲师,有大量的资源可以帮助你学习。 你从 C 开始学习,然后学习 Python,直到完成 Web 开发。课程内容非常多,而且还有很多材料,但我认为非常值得一看。

  在学习完 CS50 之后,我决定将在我的 XPS 15 上搭两个系统:Windows 和 Ubuntu。那个周末让我非常沮丧。我弄乱了我的分区,差点把我的笔记本电脑搞废掉。我恨不得把它扔了,换一个新的。

  我慢慢地让自己脱离 Windows,最终只使用 Ubuntu。我想强迫自己适应命令行,而且我觉得进展的还不错,但我还有很长的路要走。

  还好那是那个群体的第一次聚会。我很快意识到没有理由紧张。大家互相都不认识,没有人会对你评头论足,每个人都渴望学习。那是聚会狂欢的开始。我在之后的 9 个月内参加了 50 多次聚会。

  最终,我选择了网络开发,因为似乎这个领域的需求量很大,而且有很多在线资源。在确定了方向之后,我需要弄清楚下一步该做什么。有些人建议在这个阶段应该考虑想要构建的 Web 应用程序,然后开始动手。有人推荐了 Odin Project 和 freeCodeCamp。

  组织每周聚会的那个人很熟悉 Ruby 并想用 Ruby 做项目。这是我决定全力投入 Odin Project 的一个重要原因。

  这是走自学路线的缺点之一。前一分钟你以为你知道应该走哪条路,但第二天你开始怀疑这是否是正确的决定。

  随后,我开始阅读《You Dont Know JS》,因为每个人都建议将它作为 freeCodeCamp 的补充。有几个部分我不得不反复阅读,因为这本书的内容非常多,但如果你想掌握词法作用域、闭包、Promise 以及所有 Javascript 中你听说过想学却太难的概念的话,这本书是最佳选择。

  我完成了 freeCodeCamp 的前端课程。我创建的清单和预计的完成时间帮助我快速完成了这些课程。我迫不及待地想开始学习 React。但是,这也意味着我的项目只有最简陋的样式。我花了很大力气完成了用户故事中定义的需求,仅此而已。

  最终,我决定通过 freeCodeCamp 上的 React 项目来学习 React。那段代码很难看,但它确实让我更加了解 React。

  在我参加的每周的聚会上,他们决定用完整的 Javascript 栈来取代 Ruby 构建项目,他们决定第一个项目是为我们的聚会小组建立一个网站 CodeClub.Social()。

  我的工作是用 React 和 Meetup API 开发界面,允许用户在我们的网站上注册接下来的三次聚会。对我来说暂停 freeCodeCamp 的学习,来做这项工作有点困难,但我不能放弃这个机会。 我很高兴与一小群人一起开展一个项目。在此过程中我还学习了 Git 和 GitHub。

  我完成了 freeCodeCamp 中所有 API 的项目,但是我发现 freeCodeCamp 的图像搜索抽象层的项目有点偏离我的目标。

  我迫不及待地想创建全栈的 Web 应用程序,所以当我看到这个项目的标题时,我有了一个自己的想法。我可以创建一个节点应用程序,将随机图片的 URL 存储在数据库中,然后创建一个前端,输出用户指定数量的随机图像。有句话说的没错:当你根据自己的想法做一个属于自己的项目时,你会更加努力工作并取得更大的成功。

  所以我做了 Yeggle()。我使用 Node / Express / React 以及 Google Maps和Yelp API。 中间我遇到了一些我以为我无法克服的障碍,但最终还是完成了,我为我的应用程序感到非常自豪。然后我把它发布到 Reddit,结果却没有人关注。这有点令人失望,但我没有因此而气馁。

  但我确实开始并完成了我的下一个项目。我一直在阅读作为一名自学成才的开发人员找工作有多困难,所以我认为我需要做一些独特的事情。我记得有一个游戏中,根据道琼斯股票的趋势图表,你有一次买入的机会和一次卖出的机会,目标是击败市场。游戏的目的是向你展示击败市场有多么困难。

  我的想法是制作一个类似的游戏,但不是市场,而且与机器学习算法对抗。所以我创建了StockIT()。

  于是,我做了一个简单的线性回归模型。我以为这部分工作会很难,但事实并非如此。在 React 中结合使用 D3 与 jive 才是最难的部分。两个库都想控制 DOM。有一些库可以帮忙融合这两者,但我觉得这些库都太臃肿了。最终我利用 D3 生成 SVG 和 React 来处理DOM,这个方案进行的非常顺利。

  继 StockIT 之后,我开始了下一个项目。我想创建一个工作的发布台,在上面集中显示以科技为重点的工作列表网站,比如 Stack Overflow,GitHub 和 Hacker News。为了凸显该产品的独特之处,我决定根据用户想要的技术,以及他们对每种技术的需求度进行排序。

  例如,假设我想找的工作是:懂 Javascript、React 和/或 Python,我真的很想使用 Javascript 和 React,但我并不关心 Python。那么我可以将 Javascript 设置成 3,React 设置成 3,Python 则为 1,然后列表会相应地排序。

  在这个项目上,我遇到了各种困难,好几次不得不改变课程,但我最终得到了一个很满意的产品。我最终使用的技术栈是 React / Node / Express / MySQL。我将该项目发布到了 cscareerquestions subreddit(),并获得了 650 次观看。(后来这个产品被撤了下来,因为他们不允许个人项目)。

  我将 flexbox 添加到 CodeClub.Social,并实现了响应式。我改进了 jobSort() 的移动用户体验。我在 jobSort() 上添加了 mocha / chai /enzyme 等测试,enzyme 很难设置,易于上手,而且很难获得 100% 的覆盖率。

  到月底的时候,我申请了 63 个工作岗位。我认为这是一种自我评估。我的作品集和简历是否足够好?如果够好,那么我需要做些什么准备面试?起初,我申请了 Hacker News:他们正在招聘。

  这个月我的全职工作要求我连续上 40 天的夜班,而且要求加班:每周工作 6 天,每天工作 12 小时,下午 5 点到早上 5 点。我的天啊。

  我用 Redux 重构了 jobSort.tech,令人惊讶的是这没有我想象的那么困难。我听了很多关于它的播客,并阅读了很多博客文章,如果我一直不用它,那么它就对我没有意义。

  人人都说这是一个很难阅读的代码库,更不用说贡献了。但我需要脱颖而出,我需要做到独一无二。我知道我的贡献不会很大,但我仍然希望放手一搏。

  有一次,在参加聚会的时候,Anthony Ng 建议我尝试 Downshift,这是 Kent C. Dodds 编写的自动补齐库。这是一次重大的转折点。它很适合我的项目。难度很合适,帮助解决了一定的问题,不需要太多协作,维护起来相当方便,而且代码本身干净并经过了良好的测试。最重要的是,它为我在 jobSort() 应用程序中遇到的一些问题提供了完美的解决方案。

  这个对我来说很难,因为我觉得我与众不同。我以为我不需要通过调查市场就能了解应该做些什么。我以为我会知道什么时候准备申请工作。但我现在告诉你,你不知道什么时候开始申请工作。所以你现在就开始吧。但我不是说你还没有学习循环就疯狂地申请 300 家公司。但是你应该知道,了解需要学习的内容的最佳方式就是申请与尝试。

  CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

  如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱()。

  开发工作,当回过头来想一想自己,觉得特别想对那些初学术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊)。一、在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你更不要认为那些从事市场开发,跑腿的人,没有前途。不清楚你是不是知道,咱们中国有相当......

  每个程序猿敲代码常有自身的特点風格,有些人写的乱七八糟,有些人写的井然有序,好的编码自身也是最合适的表明word表格。以便认为这一目的,除开写成雅致的编码外,给编码们加上注解,都是出色程序猿的1个良好的习惯。因为注解不容易危害系统自身,因而被程序猿们搞坏了。有人用敲代码的方法来各类恶搞,许多人用敲代码的方法来发泄自身的压力大,也有人用于吐槽。程序猿压力太大,必须1个地区宣泄,可又不可以因而断掉思路,因此编码注解变成极佳的地区。就在上年,虾米音乐app

  第一次写博客,也不知道怎么写,啧啧,那便随心所欲的写吧,也许以后就会写了呢?至于文采?也就是能看懂的水平了23333~先简单的说一下自己吧,准大一,被一所三本院校录取(硬要说的话在三本里排第九?还算好的?)(←谁会关注这个啊,再怎么也是三本啊!!呵,虚荣心呀!)。至于补习的话,肯定是不会选择补了,再说,如果选择补习的话,现在就上开学了吧。 不想补习的原因?主要还是因为觉得耽误一年,会丢失......

  一个好的老师,不仅能给你学习计划,还能引导你走更快的捷径,老师不一定是某个人。三人行必有我师,如果

  ,最好就是找伙伴一起,不要孤军奋战,伙伴也是很好的老师所以重点是老师如何找到好的老师1.找身边的朋友,相互学习、督促2.加

  群,找同一起点的人来一起学习3.找到合适的老师,老师不一定是要培训机构的,可以是在外工作多年的技术人员,如果找老师一定要试听。三种学习模式一、java......

  “程序员必须会算法 ?”程序员对算法通常怀有复杂情感,算法很重要是共识,但是否每个程序员都必须学算法是主要的分歧点。很多人觉得像人工智能、数据搜索与挖掘这样高薪的工作才用得上算法,觉得算法深不可测。但是这些其实都不是具体的算法,而是一系列算法的集合。对初学者来说,为避免片面或抽象地理解算法,可根据几个问题评估自己是否适合学习算法:学习算法最重要的是什么?在学习算法的过程中,一能解决问题,......

  本文首发我的公众号 code小生 转载请简信前言 截止目前,有很多同学向我咨询过以下问题:现在正在读在校的最后一个学年,想毕业后从事

  ,但是感觉自己技术太差,应该是培训呢?还是去找实习?亦或是有更好的途径?对于 Android 目前的行业趋势,不知道自己该不该坚持?还是转其他行业?已经工作 1/2 年,感觉自己没什么提升?想要如何进阶?刚刚工作,心里各种念头(任务完不成怎么办?项...

 
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-319148.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4