0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位软件开发工程师的成长史

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-18 15:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

(邮件内容:)

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

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

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

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

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

2. 关于拟定长期目标

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

想想真是疯狂。十一年前我还只是一个为人们做午饭的厨子,后来我做了一个决定:我要成为一名平面设计师。接着我就买了一台Mac,把Photoshop和illustrator使用的炉火纯青。后来,我有了一个摄像机,我又开始学习使用Final Cut Pro软件,打算做一名视频剪辑师。再后来,我考取了MCSE(微软认证系统工程师),我又决定做一名系统管理员。然后我就开始写网站脚本,并且从事市场工作5-6年。终于我决定学学编程。没有人可以为自己的人生设定一个模式,告诉自己下一步可以做什么。

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

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

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

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

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

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

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

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

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

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

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

其实开发者是一群幸运的人,他们深谙自己喜欢哪种工作氛围。很快你就会发现自己会对很多场合说“不”了,我建议你根据以下这些斟酌一个公司文化氛围是否适合自己:

你在这工作时感觉舒适么?

这里有值得你主动去做以及珍惜的东西吗?

或者说你在这里需要伪装你自己吗?

5.寻找良师益友

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

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

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

6.学会展示

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

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

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

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

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

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

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

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

如果你很擅长书面交流,作为一个开发者这是极好的,因为它们工作的方式如此之像。但是更重要的是,良好的沟通技巧实际对你帮助更多,而大部分的程序员更喜欢单独倒腾自己的代码。

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

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

HR专员负责发布职位。他们通常总是把诸如学位,经验,技术要求这些挂在嘴边,而实际上这些有时候根本就不足以说明一个人的能力。

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

8.关于跳槽

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

为了防患于未然,你现在就应该有计划的跳槽(大约每18个月左右跳一次),至少是在从事第一份工作期间。慢慢你就会发现自己的经验更加多元化,自己的薪资也节节高。(但是不要过分沉迷于工资的多少,研究表明,薪资在超过75K以后反而会降低幸福感。)

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

谦虚诚实小贴士一则:

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

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

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

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

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

—–邮件完结—–

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1603

    浏览量

    71213
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SASETalk | 从车辆工程到ASIL D芯片安全:一位年轻工程师成长进化论

    “SASETalk”是磐时打造的深度访谈栏目,通过与企业内资深技术专家对话,记录他们亲历的技术历程与行业观察,从个人视角解读行业发展变迁,共同探讨未来技术趋势与工程师成长路径。本期嘉宾PROFILE
    的头像 发表于 04-02 18:03 2147次阅读
    SASETalk | 从车辆<b class='flag-5'>工程</b>到ASIL D芯片安全:<b class='flag-5'>一位</b>年轻<b class='flag-5'>工程师</b>的<b class='flag-5'>成长</b>进化论

    十年铸剑・共敲开市锣|一位工程师与美格智能的“A+H”新征程

    。庄重的仪式过程中,有这样幕让在场的许多人印象深刻:与其他公司的上市仪式不同,在最重要的8登台嘉宾中,美格智能的一位年轻工程师,作为全公司800多名
    的头像 发表于 03-19 19:05 1103次阅读
    十年铸剑・共敲开市锣|<b class='flag-5'>一位</b><b class='flag-5'>工程师</b>与美格智能的“A+H”新征程

    什么是BSP工程师

    任何软件的。BSP工程师需要结合硬件原理图修改从芯片厂商拿到的参考代码,调试板子,使板子上的操作系统能够正常稳定工作,从而提供个稳定的开发调试环境,这个过程叫做点亮板子,行话叫做Br
    发表于 01-13 06:54

    嵌入式软件开发的 10 个技巧分享

    :流程图第,实现第二 当工程师首次迈入软件开发领域时,会有种强烈的诱惑力促使他们立刻投入工作并开始写代码。这种做法就好比在电路逻辑图还未完成前就试图设计印刷电路板(PCB)。在着手
    发表于 12-25 06:04

    工程师变身AI“指挥者”,吉利与阿里云的软件开发变革实验

    1975年,IBM工程师Fred Brooks在《人月神话》中提出软件工程的核心难题:随着系统规模和团队规模增长,复杂度会呈指数级上升。他的结论是, 软件工程“没有银弹”,没有单技术
    的头像 发表于 11-13 10:43 484次阅读
    <b class='flag-5'>工程师</b>变身AI“指挥者”,吉利与阿里云的<b class='flag-5'>软件开发</b>变革实验

    招镶入式工程师1个,硬件工程师个,

    东莞市研生科技有限公司是家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发
    发表于 08-29 02:14

    电子发烧友工程师看!电子领域评职称,技术之路更扎实

    。比如一位电源工程师,评职称前主要做基础电源调试;评上 “高级电源工程师” 后,受邀参与电子发烧友 “电源技术研讨会” 做分享,还接到厂商委托的高功率密度电源开发项目,项目成果被平台推
    发表于 08-20 13:53

    基于瑞萨64MPU RZ/G2L进行32应用软件开发

    本文主要介绍基于瑞萨64MPU RZ/G2L进行32应用软件开发的介绍,用于解决客户32软件移植相关问题,供客户参考。
    的头像 发表于 06-26 15:48 2170次阅读
    基于瑞萨64<b class='flag-5'>位</b>MPU RZ/G2L进行32<b class='flag-5'>位</b>应用<b class='flag-5'>软件开发</b>

    【华秋DFM】V4.6正式上线:工程师的PCB设计“好搭子”来了!

    软件,更 是每一位工程师背后的“隐形助手” 。从设计之初的风险排查,到制造阶段的成本控制,再到装配环节的细节优化,我们始终致力于为工程师
    发表于 05-22 16:07

    如何成为名合格的KaihongOS北向应用开发工程师

    如何成为名合格的北向应用开发工程师 在快速发展的软件开发领域,北向应用开发工程师
    发表于 04-23 06:46

    硬件工程师手册(全套)

    §1.2.1 硬件工程师职责 个技术领先、运行可靠的硬件平台是公司产品质量的基础,硬件工程师职 责神圣,责任重大。yf-f4-06-cjy 1、硬件工程师应勇于尝试新的先进技
    发表于 04-22 15:05