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

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

3天内不再提示

一位刚入行的软件开发工程师所必须要了解的几件事

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

扫码添加小助手

加入工程师交流群

我的软件开发生涯开始于15年前。

但是直到最近的5年,我才真正开始看到自己在软件开发领域的巨大进步。

这里有一些感悟是我希望能够在我进入软件开发领域时所知道的事情,如果我早一些领悟到,相信会比现在更加成功,也更节省一些时间。

软件开发工作没有“正确方法”

在软件开发生涯的早期,我曾经浪费了大量的时间在学习和争辩,错误的相信有一条“绝对正确的方法”能够应付软件开发的很多方面。

结果证明我曾经认为关于软件开发的每一件正确的事情到最后都是错误的。

但是更重要的是,我发现很少有事情是黑白分明的。在写代码和开发软件时所做的几乎每一个决定都取决于当时所处的环境。

我曾经讨论过关于技术的宗教式信仰是如何对软件开发者不利的,但这个话题已超出技术范畴。

没有万能的最佳实践方式,这句话很对。甚至像“是否应该进行单元测试”、“敏捷开发和瀑布模型哪个最好”这种高热度的话题都不会有一个直截了当的简单答案。

在我的职业生涯中,我已经浪费了大量时间在这种“正确方法”上以至于最终一无所获,而不是探寻可以让我走更远的“实用主义”道路。

一页一页看书不是最佳的学习方式

当我第一次想提升自己的编程水平和各种技术水平时,我花了非常多的时间一页一页地读具体的技术类的书。

读书并没有错,但是要有选择那些重要的书和重要的章节读。

比如,我记得我曾经读过一本非常厚的关于Visual C++的书(我非常确定是《Beginning Visual C++ 2012》的早期版本),总之,这本书是一本包含了海量知识的好书,但是一页一页读并不是学习Visual C++的最佳途径。

早知道我就应该像过流水账一般地粗略地看下这本书的所有章节,以了解Visual C++包括哪些知识点,然后再考虑哪些部分是最重要的,是应该首先读的。

如果我坐下来实际练习下书中的基础练习题而不是仅仅看过或跳过这些例子的话,会有更多的收获。除非你实际用你的所学解决了实际的问题,否则算不上你学会了这门技术。

深入学习特别技术是浪费时间

我不仅仅浪费时间在一页一页的读书,还经常选择了那些错误的书读。

曾经的我花费了大量的时间读诸如ASP.NET或Hibernate等特别技术的书,而不是读像《代码大全》、《代码整洁之道》、《敏捷软件开发:原则、模式与实践(C#版)》(顺便说一句,如果你还没有读过这些书,我推荐你读一读)。

比起知道你所用的技术的重要性,成为某一特别领域的专家是不重要的。知道某一个具体API调用一点好处都没有,当你需要它的时候只要查询下就好了。

我曾经花费大量时间深入学习的许多技术中,到最后要不这技术逐渐没落,要不就是太过技术以至于我自己放弃了它。这些特别技术中的绝大多数最终都证明是在浪费时间。

只要是我正在使用,无论什么语言,成为这种编程语言方面的专家都是很重要的,因为在一门特殊语言方面的专业知识能够让你活跃在软件开发领域许多年。当然,我仍然在花时间深入学习C++、C#和JAVA,但是,对于现在的我来说,可能多花一点时间在C++的各种纷繁难懂之处并没有什么好处。

技术社区在软件生涯中及其重要

在我早年的职业生涯中,我犯过的一个错误就是没有投入到技术社区中求助或帮助他人。

我总是乐于帮助我的同事,并和我所接触的各类职业打交道,但从来超出我所在公司的人员和岗位范围。

曾经我花了大量时间将自己投入在所在公司的职业生涯中,而没有在软件开发社区中投入一点时间,这点非常的不划算。

曾经我花时间致力于内部技术建设的分享或实践原本也可以在技术社区中做同样的分享和交流,也同样会给我带来工作上的认可。

我也错误的认为我没有什么有价值的事情贡献给技术社区。

现在的我会和很多软件开发的新手们聊天,有时候我想相比我们他们一定花了很多精力贡献在技术社区,因为和其他新手相比较,他们看起来没有懂的更多,也没那么抓狂。

如果时光能够倒流,我确信年轻时候的自己一定会投入很多时间在技术会议和用户群组上,我会尽早地开始写自己的博客并创建自己的项目和资源与其他人分享,而不是呆呆地读书。

永远有编外项目在做

影响我职业生涯最大的选择可能就是杜绝看电视、《无尽的任务》和《魔兽世界》游戏了,取而代之的是将这些时间用在我的编外项目上。

在过去的生活中我已经浪费了很多时间在做娱乐活动,而不是那些能够充实我生活的事情。

在大约3-4年前,我已经基本和看电视这种活动决绝了,现在的我甚至都很少看电影。看电视和看绝大多数电影都是一种时间浪费,浪费那些原本可以做一些有用之事的时间。多数的电视游戏也是如此,但至少玩电视游戏收获的也不仅仅只是无用信息。

我非常喜欢玩电视游戏,而且恐怕也不会有停手的那一天,但是我着实希望我能够把花费在玩游戏、看电视的时间投入在自有的项目上。

不幸的是,我真正开始自己的第一个项目却是在大约3年以前,那时的我开始着手创建一个Android应用程序。

当你为别人工作时,能够花时间在自己的项目上非常重要,否则就是在牺牲自己的精力为别人建造帝国。

在过去的几年间,我不仅从编外项目中学习到了不少东西,而且也从其中得到了巨大的利益。事实上,其中的一个编外计划:创建Pluralsight课程,是我现在正全职在在做的事情。

将所学揉合起来

以上所说是少数我后悔没有在自己职业生涯开始时不知道的感悟,但从一开始我仍然做了很多正确的事情。

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

    关注

    1

    文章

    91

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    车载音频开发避坑指南:从杂音、断音到无声,资深工程师教你键排查!

           在车载音频开发中,“听不见”“听不清”“听着吵” 堪称三大顽疾。无论是入行的新人,还是资深工程师,都难免被杂音、断音、无声等问题反复 “折磨”—— 调试到深夜,却发现杂
    的头像 发表于 11-18 11:16 103次阅读

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

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

    入行的采购与工程师:值得了解的气密性检测仪知名厂家与品牌推荐

    在制造业的质量管控中,气密性测试仪是类非常关键的检测设备。无论是消费电子的防水测试,还是汽车零部件的密封性验证,正确选择合适的品牌和厂家,都能帮助企业有效降低质量风险。很多入行的采购人员和
    的头像 发表于 09-23 10:35 1000次阅读
    给<b class='flag-5'>刚</b><b class='flag-5'>入行</b>的采购与<b class='flag-5'>工程师</b>:值得<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 1612次阅读
    基于瑞萨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

    如何成为名嵌入式软件工程师

    如何成为名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些
    发表于 04-15 14:37

    步进电机选型时必须要了解什么?

    步进电机选型时,必须要了解以下几个方面的信息以确保所选电机能够满足特定的应用需求: 1. 转矩需求:    ● 步进电机的保持转矩类似于传统电机的“功率”,但物理结构和输出特性有所不同
    的头像 发表于 04-14 07:38 878次阅读

    硬件系统工程师宝典—完整版

    资料介绍: 这是本硬件工程师的必备书,介绍了硬件工程师必须些知识,例如EMC、SI、PI
    发表于 03-22 15:47

    嵌入式软件工程师就业好不好?

    、智能医疗设备等,都离不开嵌入式软件的支持。预计2025年,物联网设备的数量将呈爆发式增长,这将为嵌入式软件开发工程师带来大量的就业机会。 薪资待遇具有竞争力 由于嵌入式软件开发
    发表于 02-20 10:19

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

    在快速发展的软件开发领域,北向应用开发工程师个专注于系统级应用开发的高需求职位。 以下是成为
    发表于 01-10 10:00

    嵌入式工程师常用的开发工具有哪些?

    仿真器可以模拟复杂的微控制器和外设,帮助工程师在早期阶段进行软件开发和调试。这大大缩短了开发周期,降低了开发成本。 总之,嵌入式工程师需要
    发表于 12-20 15:29