主页 > B人生活 >十年前我还是个厨师,现在我想写一封信给有志成为开发者的你

十年前我还是个厨师,现在我想写一封信给有志成为开发者的你

2020-06-20 994浏览量
十年前我还是个厨师,现在我想写一封信给有志成为开发者的你

大约在 18 个月前,有人给我发了封邮件询问我关于如何开启软体开发大门的建议。他是一个在校学生,想从事软体开发的工作,但又怕做出了错误的选择。

我想我给他的回覆应该也适用于任何正打算从事软体开发工作的人,所以稍作修改放到这儿来与大家分享。

邮件内容:

以下是基于我的经历所得的几点主要建议:

1. 立于软体开发的大门前

在我确定可以胜任一个开发者的工作之前,我不得不花费两年时间从事非软体开发的工作,这也更加确定了我要做一个软体开发者的决心。

一旦你拿到一份软体开发的工作,这都是不错的开始。头两次的际遇可能会差强人意,但若不是有了这些经历,你也不会知道哪些问题是一个公司所摒弃的。

当然这并不是说只要有份工作你就应该接受,后面我会再说下这个问题。

2. 关于拟定长期目标

你是否一直有不知道选择何种开发方向的困惑?没事,习惯就好。就在此刻,正有一大批 Ruby 开发者因为 JavaScript 的强势袭来而倍感紧张。既然任何事情都不是既定的,那幺设定一个长期目标的想法简直傻透了。

想想真是疯狂。十一年前我还只是一个为人们做午饭的厨师,后来我做了一个决定:我要成为一名平面设计师。接着我就买了一台 Mac,把

显然,没人知道五年后自己会在做些什幺。你所要的只是一个平台,一个不变的原则,有了这些,你就能变成你想成为的那种人,做那些你觉得快乐的事。

可能在你这个年纪,你更想要多些丰富的经验,这样你就可以分析这些经验而学到那些激励你的东西。我不知道那些问出「你觉得 5 年后你会做些什幺」的人想表达什幺,这种问题显然是无法回答的。

我现在唯一确定的事情就是,五年后我不会再为别人工作。我善于帮助别人发现自己的闪光点,我喜欢创造事物,我喜欢科技。利用好这些特点有助于建立属于我自己的平台。在未来的某天,这些都有可能以意想不到的方式帮助到你。

3. 明白学历在职场生涯中的角色

这个话题由我来谈有点没说服力,但我仍然想和大家分享一下我的想法。我曾从社区大学中途辍学,这简直为我一生中想做的所有事都关上了门。当然,这也因人而异。

我现在为一个当初只想招募有研究所学历的 CEO 工作。如果你想成为一个核心开发者,一个硕士文凭是第一道门槛。但是也有特例,例如我,一个大学辍学的人,正在为我的硕士同僚们贡献着力量。当然我也曾经历过这些场景,比如有些人会说:「你的履历很适合我们公司,但很遗憾我们还需要一个学士文凭…」,而那些刚刚毕业的学生却也经常听到与之相反的说辞。

如果要我告诉你为什幺冒泡排序的效率很低或者怎幺实现一个二叉树查找演算法的话,我完全可以去问问那些花了钱上了学得到这些知识的人。

当今社会的教育问题越来越明显,我很难过地表示,学历现在只是一纸凭据而已。学校再也不能作为开拓新事物的源头,而这更可能出现在你的工作环境当中。

我认为最好的状态是:如果你在学校时拥有书本智慧,而出了校园能把它们变成街头智慧。那幺这个世界上还有什幺能够阻挡你前进的脚步呢?

4. 如何选择合适自己的文化氛围

那幺现在问题来了:怎幺成为你想成为的自己呢?每个人多多少少都要去迁就那些不一样的文化,我之前就职的公司在这方面更为严重,简直就像穿了件文化紧身衣。

其实开发者是一群幸运的人,他

们深谙自己喜欢哪种工作氛围。很快你就会发现自己会对很多场合说「不」了,我建议你根据以下这些斟酌一个公司文化氛围是否适合自己:

5. 寻找良师益友

诚然,我能通过在一些聚会中的提问获得很多好的建议,但这与你第一次工作经历带给你的收穫相比,一定会黯然失色。你要做的不是去告诉大家你需要一个导师,而是与那些聪明优秀的人一起工作,学习他们的方法和经验。

比起参加任何一种开发人员培训课,他人的奉献精神和耐心所带给你的好处无与伦比。

而真正把这些融合到一起的人是你自己,当然前提是你知道如何去做。

6. 学会展示

当我刚开始学习写程式时,我觉得我应该达到无所不知的程度,这样我就能给大家展现一些很牛叉的东西,现在看来这就是一个自尊心作祟的愚蠢想法。

记得有一次聚会,有个开发新手在向人们展示他的第一个作品,我几乎都要笑出声了,我只能说他太傻太天真,他做的东西架构简单,创意也不够吸引人。而当每个人都给他高度讚扬的时候,我才意识到我真该为自己的想法感到羞愧,对于一个新手,能把作品展示出来实在勇气可嘉。

如果你还没有学会所有的技能,或许你应该改变下自己的想法,俗话说得好,贪多嚼不烂。从基础做起会更好。不要过早担心设计模式,不要一开始就在想这个东西是不是完美的,不要一开始就担心程式是否足够优雅等等。

你是否正在对你的示例应用进行二次重构?第一个能够运行吗?秀一下吧。是不是运行的不是完全正确?那也秀一秀。界面太难看?没关係,秀出来。还没有经过测试?儘管秀出来。如果说它没有另你觉得难堪的地方,只能说明你秀得有点晚。

随着你技术的提升,完善一个产品的能力以及做出点可以让很多人用的东西的能力也会随着提升。在我看来,掌握这种能力远比学习如何使用 CSS 或者 TDD 要重要。

7. 学习不只是为了找工作

我极少给别人提很笼统的建议。但这里不得不提一个:上大学时应该尝试去学学那些你很感兴趣的东西。

随着时间的逝去,文凭的用处也逐渐消失。很多我喜欢的开发者之前是设计师或者作家,他们更喜欢从一种哲学的角度去写程式,而不选择针对特定问题的特定演算法。

如果你很擅长书面交流,作为一个开发者这是极好的,因为它们工作的方式如此之像。但是更重要的是,良好的沟通技巧实际将为你在软体界敞开大门,因为大部分的开发者更喜欢「让程式胜于雄辩」。

大学的社交地位已然成为了昨日往事,取而代之的是聚会、小组、Twitter 等等。如果电脑学科仍然如此打动你,儘管沉迷于它吧,但是如果你喜欢的是社会学,哲学,会计学或者其他学科,你应该追随自己的内心,而不是被你飘渺的职业目标牵着鼻子走。

最后,给出一条如何灵活利用学位获得工作的小知识:

HR 专员负责发布职位。他们通常总是把诸如学位、经验

、技术要求这些挂在嘴边,而实际上这些有时候根本就不足以说明一个人的能力。

如果你仍然在用这种传统的应徵管道:浏览人力银行 => 进入面试流程,你获得工作的机会将会非常小。虽然可能大部分人的第一份工作都是这样找到的。而从那开始,它会就像滚雪球一样,直到招聘你的人觉得只有你刚好非常适合某个岗位的工作,通常这种机率比较小。所以呢,对于那种你只会待一两年的公司,你压根不用煞费苦心的为了取悦 HR 而精心打扮自己简历上的学历。

8. 关于跳槽

在我看来,一个稍有天分的开发者能在 6-12 个月内精通自己所选的开发语言或框架。不要被那些有 5-10 年经验的老手吓到:很多人只是赢在 5-10 倍的经验上。

为了防患于未然,你现在就应该有计划的跳槽,至少是在从事第一份工作期间。慢慢你就会发现自己的经验更加多元化,自己的薪资也节节高。

综上所述:不要过分在意薪资,选择优秀,乐于助人的同事一起工作,规划好适合自己的技术之路。

谦虚诚实小技巧一则:

事实上,对别人来说,求职信中看到「诚实」、「谦虚」等字眼是属于消极字眼的。而消极是抑郁的前兆。很多抑郁症的发作都可以追溯到很久之前的某个悲观时刻,只是可能伪装成「诚实」而已。去买一本《Learned Optimism》吧!这本书也许不会帮你解决所有的问题,但是会开启你的心智,改变你的思维模式。

这种自我否定式的悲观主义也正是我的一个软肋。如果你想成为 10 年后的我,努力营造出自信的感觉吧,你要知道,你永远比你自己了解的要强很多!

下面这条建议不仅给你,也给我自己: 与其为自己所不知道的事情道歉,还不如努力一点去知晓这件事。

我建议你把这点深记于心,并在求职信中换上另一种说法。你是个聪明的家伙,真庆幸你还没发现自己的无限潜力,因为当你成为一个伟大的开发者的时候我可要沾沾光了,呵呵。

其实还有很多我能告诉你的,但是一时也想不起来这幺多。认识你很高兴,同时也祝福你前程似锦。

—–邮件完结—–

对于他来说,这些选择可能会影响他一生。工作的选择,求职的失败,是否继续深造等等,这些当时看起来事关重大的时刻,随着时间的流逝,态度的转变,一个人终究会泰然看待。

这个当时我知之甚少的人现在成了我最好的朋友之一,我想我当时所给的建议多少是有点用处的。

上一篇: 下一篇:
申博sunbet娱乐开户|热点新闻资讯|最具影响力的门户网站|网站地图 菲律宾申博官网备用网址_slw真人娱乐 菲律宾申博官网备用网址_万博体育官方主页