发布于 2026-01-05 2 阅读
0

八年软件行业经验总结:1. 你比你想象的更优秀;2. 你没有你想象的那么优秀;3. 通过业余项目学习;4. 软技能很重要;5. 沟通至关重要;6. 放弃并不代表你是个失败者;7. 学习永无止境;8. 不要太较真。

从软件行业八年的经历中总结出的八条经验

1. 你比你想象的更优秀

2. 你并没有你想象的那么优秀

3. 通过副业项目学习

4. 软技能很重要

5.沟通至关重要

6. 退出并不意味着你是个放弃者

7. 学习永无止境

8. 不要太认真

最近,我在八年前毕业的那所大学做了一次演讲。看到计算机科学专业大三学生的反应和表现,感觉既有趣又好笑。我当然也经历过那个阶段,这让我开始思考,从那以后,作为一名全职软件开发人员,我学到了什么。

如果您更想观看视频,可以点击这里查看要点:

1. 你比你想象的更优秀

许多毕业生甚至经验丰富的工程师都会对自己的工作缺乏自信。例如,我们都听说过“冒名顶替综合症”。但相信我,如果你对软件开发充满热情,热爱编写代码,并且始终渴望学习更多知识,那么你已经掌握了很多,你完全配得上这份工作

软件开发领域,内在动力能让你事半功倍——我想其他任何职业都是如此。如果你的动力仅仅来自于编写代码,那就完全不用担心。你对编程语言、框架和新技术的兴趣,已经让你比其他人拥有了巨大的优势。

希望你毕业后仍然保持着这份热情。一定要坚持下去。你很可能找到第一份工作后,突然发现自己的工作速度比经验丰富的开发人员还要快。他们甚至可能希望你放慢速度。而且几乎可以肯定的是,当你提出修改或改进建议后,你会听到“我们一直都是这么做的”这句话。哎,这确实很伤人。但是,请不要气馁。保持好奇心,保持求知欲。积累经验,如果你无法融入当前公司的文化,那就另寻他处

2. 你并没有你想象的那么优秀

所有这些动力都改变不了这样一个事实:你在大学里学到的很多东西都只是理论,并不适用于现实世界。没错,画个UML图当然很好,但真的有必要吗?我是说,真的有必要吗?

测试驱动开发(TDD)是一种很棒的实践,但有时你就是没时间。我知道从长远来看,它能确保高质量的代码,但业内人士往往着眼于短期利益,或者只是急需某个功能。这确实令人沮丧,但这就是现实。即使你不想听,确保需求最终转化为高质量的代码也是你的职责。如果在规定的时间内不太可能做到这一点,你就应该向你的老板汇报。如果这些方法都行不通,也许是时候考虑换工作了。关键在于,如果公司不理解不良行为和打击员工积极性的后果,他们就永远不得不寻找新人。

作为毕业生,在过早评判雇主的企业文化之前,务必保持尊重和耐心。他们或许有自己的理由。

3. 通过副业项目学习

工作时写代码完全没问题,这没什么不对的。你有工作要忙,压力很大,理应在沙发上放松一下。

很多人通过副业学到了很多东西,甚至可能因为副业或在副业工作中获得的新技能而获得更好的工作机会。

举个例子,我对某些技术(比如 Web API 2 )很感兴趣,但工作上却用不上。他们用的都是老旧的单体应用,而且 Web 服务技术也相当过时。我尝试改进,也提了一些建议,但都无济于事。于是,我利用业余时间自学了 Web API 2,然后申请了一份需要这方面技能的新工作,结果真的成功入职了

但这不仅仅关乎找到一份更好的工作,学习一些你平时接触不到的东西。副业项目很有趣!你在做自己想做的事。你是自己的老板,只有你自己才能决定做什么、什么时候做。最终,你会有所收获,白手起家,创造出一些东西。我喜欢这种感觉。

4. 软技能很重要

我经常遇到这样的偏见:技术人员通常都待在地下室,见不到阳光,身上散发着难闻的气味,而且不善与人交流。我真希望能够改变人们对我们这类人的这种看法。幸运的是,世界正在发生巨大的变化。

不过,有时候自我提升确实会有帮助。我自认为是个内向的人,这一点永远不会改变。对我来说,这意味着我需要独处来补充能量。外向的人或许会在与人相处时获得活力,但我不是那样。这并不意味着我不喜欢和别人在一起,只是和人相处有时会让我筋疲力尽。所以我喜欢独处或者和家人在一起,因为那样不会消耗我的精力。我想你明白我的意思了。

总之,内向或害羞有时会阻碍你实现目标。这时,培养软技能就显得尤为重要。我强烈推荐约翰·索内兹(John Sonmez)的《软技能:软件开发人员的生活手册》(Soft Skills: The software developer's life manual)这本书。学会更加开放,多微笑,在咖啡机旁与人闲聊,掌握一些谈判技巧,并时不时地锻炼身体。所有这些不仅能提升你的日常幸福感,还能增加你职业发展的机会。

5.沟通至关重要

我之前已经提到过内向者和外向者的区别。这次我谈的不是在办公室里要更开放,而是要谈如何与团队成员和老板沟通。这一点我必须强调,沟通是软件开发各个环节的关键。

沟通贯穿软件开发生命周期的每个阶段。即使是内向的人,你也能与团队进行出色的沟通。谈谈你目前面临的问题,向同事们展示你最近的学习成果,或者告诉你的老板或项目经理,她的一些要求可能不太可行,但你已经有了解决问题的想法。

以我的经验来看,大多数大问题都是由于沟通不畅造成的。要么是需求不够明确,要么是任务分配不当,最糟糕的是,开发人员不敢承认错误。别再这样了!和你的团队成员沟通。这样你晚上才能睡得安稳。

6. 退出并不意味着你是个放弃者

如果你对工作不满意,或许辞职是更好的选择。当然,也有很多理由让你留下。你可能肩负着必须坚守岗位的重任。但或许你仍然有机会申请其他工作

但是,如果你完全靠自己,没有任何责任,那么除了害怕、懒惰或两者兼有之外,你真的没有任何理由辞职。

寻找其他机会然后辞职真的没问题。如果需要,可以权衡利弊。我只想强调一点,如果你觉得有更好的去处,就不要让别人评判你。我认识一些人,他们很痛苦,却不愿改变现状,还用忠诚之类的理由来为自己开脱。永远不要为了那种就算你真的死了,一周之内就会被替换的公司拼命工作。

这么多负能量,真抱歉,但有些人必须醒醒。有很多优秀的公司和雇主都乐意聘用你,并为你打造一个你每天早上都乐意进入的工作环境。(几乎每天早上都这样。当然,也有心情糟糕的一天。你懂我的意思。)

7. 学习永无止境

这是个简单的道理,尤其是在软件行业。技术发展日新月异,你必须不断学习新知识。保持好奇心,阅读文章,尝试新事物。

我相信你肯定已经需要利用工作时间通过阅读文章和观看视频来学习了。如果没有,那就从今天开始吧!利用工作时间来学习完全没问题。没有人会连续八个小时写代码。

这并不意味着你必须学习所有流行的编程语言或框架。知道这些东西的存在就足够了。如果你真的非常好奇,想要用任何新东西来启动一个副业项目,那就太好了!放手去做吧!

但大多数时候,做好日常工作,并在工作中学习新知识就足够了。我们经常会遇到新的挑战,克服这些挑战不仅会带来成就感,还能提升你的专业技能。

最糟糕的做法就是停留在目前的水平,因为不知道如何立即解决问题而拒绝任务。

8. 不要太认真

最终,这一切其实并不重要。人们常常把工作看得太重。对我来说,编写代码本身就是我的动力。我喜欢看到成果,也喜欢用代码解决问题。学习新技术对我来说乐趣无穷。我曾无数次接触不同的编程语言、框架、库和游戏引擎,每次都让我兴奋不已。

例如,在网页开发领域,从 jQuery 到 Knockout 或Angular 的双向数据绑定,这种飞跃令人惊叹。用 Unity 制作游戏让我感觉自己可以创造任何想要的东西。这就是一切的意义所在。

当然,有时候你不得不去做一些让你提不起劲的项目。但如果你仔细观察,或许还能发现一些有趣的东西,或者给自己一个新的挑战。别太较真,也别给自己太大压力。从长远来看,软件开发应该是一件充满乐趣的事情。永远记住:你会编程,他们不会。这简直太酷了

题图由 slidesgo 提供 - www.freepik.com


等等,还有更多!

文章来源:https://dev.to/_patrickgod/8-takeaways-from-8-years-in-the-software-industry-mc3