当前位置: 首页 > 科技观察

半途而废的学习编程,你能成为伟大的程序员吗?

时间:2023-03-15 15:42:07 科技观察

不说鸡汤,说说现实:中途转行做软件工程师的职场现状如何?1、你为什么想成为一名程序员?因为工作原因,在日常生活中,很多人向我咨询职业选择。他们中的大多数人对自己的职业地位不满意,打算学习编程成为一名程序员。我问,你为什么想做工程师?答案五花八门,其中“高薪”、“好找工作”、“职业发展”是很常见的原因。2、中途转行做程序员,就业市场现状如何?其他因素不谈,先说薪水:行业标杆BAT的薪水如下:百度:阿里:腾讯:但对于大多数半路决定做程序员的人来说,上面显示的薪水是很难达到的。大多数在培训课程中学习编程的人都会崩溃。在发达的就业市场,如果通过IT培训课程学习,必然会面临一个尴尬的境地:无论你的真实水平如何,在求职过程中都会受到“隐形歧视”。为什么企业不愿意提供培训班学员,甚至连面试机会都不愿意安排?在此摘录几位招聘人员对此的看法——某创业公司CTO:“X智X马的学生没有基础,实际工作缺乏后劲,学新东西慢。”某互联网巨头HR:“IT培训班老师本身水平参差不齐,编码能力强的人不会当培训师。”追根究底,“优秀人才率”是关键。企业招聘和发展就像在篮子里挑鸡蛋(人才)。像北邮这样的计算机名校就像一筐鸡蛋,劣质的只有10个;培训班就像一筐鸡蛋,优质的只有10个。如果你是公司的技术负责人和HR,在保持招聘效率的同时,你会如何选择?实际情况是残酷的:虽然很多培训班在招费时一再承诺“培训后找工作,月薪XXXX”,但很多培训班的学员进入就业市场后却一直找不到工作.在找到工作的人中,平均工资并不高。当然,也有很多优秀的培训班程序员或者自学程序员,他们的薪水并不逊色于北邮这样的名校学生。如何成为这样的人?3.不是名校出身,如何让自己脱颖而出?一个有趣的现象:有的去培训班的学员,其实是正儿八经的四年制本科计算机专业毕业生。为什么要去培训班?因为在大学四年里,他们并没有掌握应有的能力。相反,一些自学成才的人,也成了同事眼中的大牛。我举两个例子:A.中学时对计算机和数学感兴趣,大学时学的是数学。毕业的时候放弃了国外数学专业的offer,进了国内互联网巨头都是程序员。大学期间的ACM经历,和同学搭档做网站的经历,是他在应聘互联网公司拿到软offer的核心竞争力之一。B、他学什么都很快。他大学学的是工商管理,毕业后去了一家跨国软件巨头做销售,年收入几十万。后来突然学编程,就通过网络资源自学了。通过几个有影响力的个人项目,他成功申请到开发职位,成长也很快。通过以上两个例子,我想说的是:学习编程并不是一件容易的事。如果你已经对此感兴趣,或者有很强的学习能力和毅力,成为高薪开发人员并不难。如果你对编程不感兴趣,学习新东西效率低下,只是急着拿程序员的高薪(其实低薪的程序员很多)报个培训班学编程,那希望天生苗条。在能力突出且非研究生背景的情况下,可以通过有影响力的个人项目、闪亮的github个人页面、ACM等为自己的能力背书,也可以活跃在程序员聚集的社交网络中,得到其他人的认可大牛们,自然会愿意推荐你。4.半路学编程的前辈们,他们的成功经验写到了江民杀毒的王江民先生。工作以来,他已成为拥有20多项发明的机械和光电专家。38岁那年,蒋敏开始学习计算机。几年后,他成为中国最早的反病毒专家,创立了颇具影响力的江民反病毒。王江民先生就是我前面说的那种学什么都快,而且有毅力的人。这样的人无论做什么都能成功。王江民的故事大家可能已经耳熟能详了——那我就给大家讲一个22岁的程序员通过学习编程最终加入Facebook的故事。他的才华和阅历与我们普通人相去不远,是很好的学习榜样。原因是这样的:Quora上有人问,“如果我想成为顶级软件工程师,17岁开始学习编程,现在还来得及吗?”曾在Facebook做过开发者的DonPinkus在这个问题下说,分享了他从22岁开始学习编程的经历。查看原文Whenareyoutoooldtobecomeanengineer?,现译如下(DonPinkus自述视角):我,DonPinkus,22岁开始学习编程,以下是我学习过程中的里程碑经历:22岁——学会了什么是if条件判断语句;24岁——进入Facebook,成为分析师;25岁——我在Facebook的职位变成了工程师;26岁——业余时间做了一个小项目,赚了大钱。我想,如果我留在Facebook拿死工资,我永远赚不到那么多钱,所以我离开了Facebook,用那笔钱创办了一家初创公司,并从一家顶级风险投资公司获得了一笔大交易。投资。我今年26岁。我很幸运,但我并不特别。只要你和我一样,全身心投入一件事,就一定会成功。接下来,我将描述我的经历,希望能激发你做一些有趣的事情。永远不要因为你认为“太晚了”而放弃学习新事物的新机会。2007年(18岁):我作为一名新生进入瓦萨学院的医学预科班;2008年(19岁):大二转专业,开始学习经济学;2009年(20岁):三年前,我感染了单核病毒,大部分时间躺在病床上,无法上学;2010年7月(22岁):这一年,大学毕业,进入晨星从事数据分析工作。在我完全不会编码之前,我曾在一家金融公司Morningstar担任数据分析师;2010年8月(22岁):我有一个新晨星主页的想法,他们很喜欢。我提议为公司开发一个新的主页,公司的人非常喜欢这个想法,他们给我派了一个五人小组来做,尽管他们都是新来的兼职员工。我经常有新的想法,但我自己没有能力去实现,所以我不得不请其他团队成员帮忙。他们是兼职员工,除了我的项目之外还有自己的工作要做。我想加快我的项目,所以我开始学习编码。2010年12月(22岁):开始学习编程,项目:FindData开始学习HTML、CSS和Javascript,这三种语言都可以建网站,不管是博客,一般的网站,还是Facebook——都是写的在这三种语言中。我打开www.w3schools.com并开始学习。从这个站点开始,我掌握了HTML和CSS,并帮助开发了我父亲公司的主页。事后看来,主页做得太差了,我爸爸没用——哈,真是没脑子。然后我去了http://lynda.com并掌握了jQuery,它本质上是javascript。现在,我可以帮助制作网站的交互式原型。同样在lynda.com上,我又掌握了PHP和MySQL。这样我就可以把数据存到数据库里,网站就有后台了。至此,我已经成为一名全栈程序员,可以构建自己完整的网络应用。从对编程一无所知到能够构建一个完整的Web应用程序,我只用了两个月的时间。虽然网络应用程序看起来不够好,但至少可以使用。2011年(23岁):Morningstar没有使用我的项目。同时,这一年我完成了四个网站和项目:FindData、BarCraft、Morningstar图文交互、Amuse。我的产品FindData做完之后,Morningstar不喜欢,最后就不用了。后来才知道,这其实是一个明智的选择。即使我现在选择,我也不会使用这个不完美的产品。但当时,我沉迷于此。我申请调到一个新的团队,在新的工作中,我每天都要和Excel打交道。我真的不喜欢这种工作,所以我每周花一天时间做本职工作,其他四天用来学习编码。在五个月的时间里,我几乎每个月都完成了一个新网站。2012年(24岁):我以分析师的身份进入Facebook。项目:Tickur、Lookgr、Roomidex、Searchnwork我最初申请了Facebook的项目经理职位,但几轮面试后被拒绝了。幸运的是,Facebook的分析团队对我很感兴趣。也许是因为我痴迷于网站,我懂数学,而且我有金融行业的背景。经过几轮面试,他们录用了我。在Facebook期间,工作环境推动我快速成长。身边的同事都比我优秀,所以我要竭尽全力跟上团队的步伐。在Facebook,我了解了世界上最好的科技公司如何运作的秘密。马克·扎克伯格在做决策时,从不盲从“数据驱动”、“最小可行产品”等流行术语。白天,我学习如何经营一个产品、一个项目,甚至一家公司。晚上继续学习写代码,实现自己的想法。现在想起来,当时我的代码还挺烂的,但是代码水平进步很快。我从中得到了很多经验,建站的速度也越来越快。2013年(25岁):我成为了Facebook的一名工程师。项目:DataFinder,一个Facebook项目我不是一个伟大的工程师。虽然我知道什么是继承,并且在构建个人项目时可以用PHP来完成,仅此而已。我什至不知道sort是什么,对算法和数据结构一无所知。我所知道的只是:分析团队正在使用的内部数据工具,可以改进的地方,而且我知道如何改进。所以,我以工程师的身份加入了数据团队。虽然我写代码的速度可能只有专业出身的工程师的十分之一,但得益于我作为分析师的专业经验,以及我在交互和设计方面的能力,团队内对我的评价非常好.2013年4月:在业余时间,我创办了http://Blockspring.com。项目:Blockspring在业余时间,我和我的高中同学Paul合作了一个项目Blockspring。他是一个聪明勤奋的人,但他在编程方面比我更业余,只会一点点基础知识。那时,他刚刚辞掉顾问的工作,开始自己的事业。我们项目的其他创始人都是兼职的,Paul是第一个全职加入的。那时我已经做了很多私人工作,但保罗是我的第一个真正的合作伙伴。其他创始人经常为网站的设计和是否添加一些小功能争论不休,浪费了大量的时间和精力。我并不是想说我的第一批创始人不好,主要是我的错:我不知道如何与他们打交道,我不知道如何为每个人设定期望。当你管理一家初创公司时,你要做的最重要的事情之一就是为公司设定目标和所有权。最终,我们完成了Blockspring项目。2014年3月(26岁):为Blockspring找到客户我们尝试向许多公司出售Blockspring,但均以失败告终。我们在博客上介绍了这个产品,一个来自纽约的人认为它有潜力,所以我们飞到纽约推销他。我们仍然无法将产品卖给他,但他答应付钱让我们在纽约停留一周以继续开发Blockspring。我从Facebook休假一周,留在纽约继续从事Blockspring的工作。Facebook允许员工兼职工作。许多工程师都有副业或爱好,如果公司想留住那些有创业精神的员工,就必须允许他们追求自己的梦想。同时,你也可以让公司环境更有吸引力,让他们觉得比起兼职工作更喜欢这份工作——这不是一个很酷的主意吗?去Facebook工作并体验吧!但无论我是在推广Blockspring,还是花时间继续扩展其功能,它都会分散我在Facebook工作的注意力。我认为这对公司或团队不公平。如果我想继续在Blockspring上工作——即使该网站几乎没有用户——我将不得不离开Facebook。所以,我辞去了在Facebook的工作。感谢Facebook为我提供了世界上最好的工作,不仅有高薪和非常好的福利,还让我交到了很多好朋友。2014年6月:Y-Combinator我们加入了Y-Combinator,这是一个提供资源帮助初创公司快速成长的优秀孵化器。我们已经忙了三个月,每天工作16个小时。大多数人在连续为一个项目工作两天后会感到无聊。刚加入Y-Combinator的时候,我们在白板上写了一个数字:85。这意味着从那时到demo,我们总共只有85天的时间来完善产品。我们夜以继日地工作,终于在约定的时间内完成了产品,并因此获得了投资。2014年8月:回归正常生活我们结束了与Y-combinator的合作关系,搬到了旧金山的新办公室。我在周末请了一个月假去做自己的事情而不是Blockspring。现在又忙起来了,完善一些Blockspring相关的功能,学习图片、动画、博客等技术,在网上浏览别人的交流学习心得。以上就是我的全部经验,希望对你有所启发。