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

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

3天内不再提示

软件开发工程师眼中难做但又必须做的9件事

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

扫码添加小助手

加入工程师交流群

在外行人眼里,软件开发工作就跟看天书一样难——但是程序员往往会一脸苦哈哈地表示“还有更难的呢!”在Quora上面的一个讨论中,我们总结了9件最让程序员糟心的事——简直就是分分钟让我们精神分裂啊!!!

9.设计解决方案

任务:给出一系列要求,设计出可实施的方案,包括设计数据和代码结构、功能算法和应用程序流程。

难点:确保你设计的解决方案得满足客户的要求,并且按时完成。

网友的话:

“如何始于此终于彼可谓是最难的部分了。”——misconfiguration

“过于臃肿的设计会崩溃,过于浅薄则没有用。”——nvteighen

“不去一个个试一试,就不知道什么样的方案才适用……。”——jpkotta

8.写测试

任务:编写单元测试,以确保每一部分代码都能正常运作。这些测试不但有助于在开发早期找出bug,还能方便后续的回归测试。很多开发方法论甚至鼓励我们在写代码之前就可以先写好测试程序。

难点:选择和编写测试的过程是既辛苦又繁重的,有时候会让人感觉是在做无用功。

网友的话:“我就是不喜欢写测试,你能怎么滴。”——Anonymous

7.编写文档

任务:创建用于解释代码和应用程序的文档,包括独立文档和代码注释。目标人群范围从终端用户乃至其他开发人员。

难点:很耗时间,甚至有时候你会觉得要是没人看的话那不就是在浪费时间。

网友的话:

“Shit!!!就因为这是“进程”的组成部分,我们就得写这些可能根本没人会去看的文档。”——Christian Dechery

“通过文档,我们不需要阅读代码就能知道其作用。”——Raghu Nandan

“简洁又能清晰阐述的文档,我的大爱啊!”——Ayush Goel

6.实现自己并不认可的功能

任务:不管什么原因,如果你的客户或者上司坚持某个特性和功能,那么你就不应该将个人的感情因素带到工作中去。

难点:摒弃个人想法和意见,竭尽全力地实现或支持功能需求。

网友的话:“……当然你也可以坚持己见然后提早退休,呵呵。”——Sabbir Asgar

5.关于别人家的代码

任务:维护、调试或改善由其他开发人员写的应用程序或者代码片段。

难点:理解前任开发人员的代码是非常痛苦的一件事,特别是如果此人已经离开,而他的代码写得乱七八糟、缺少必要的注释和文档,那就更悲剧了。

网友的话:

“没文档的代码就像后妈。”——Omar Diab

“应该淘汰掉那些不会好好写代码的程序员……”——Nani Tatiana Isobel

“代码破万行,没有注释也不怕不怕了。”——Simon Zhu

4.和其他人打交道

任务:收集客户需求,提供状态管理报告,配合测试人员,和其他工程师协作。

难点:需要向非技术人士解释技术问题,不得不依赖于其他人交接过来的任务,与QA或其他开发人员出现意见相左情况的处理方式。

网友的话:

“交代机器干事比交代人去做要来得容易得多。”——Marko Poutiainen

“三人行,必有我师焉……合作也是学习的机会。“——Anonymous

“……和外行人说话简直就像对牛弹琴。” ——lnostdal

“总是要等其他团队完成任务之后我们才能开工,太拖我们的后腿了。”——Anonymous

3.预估项目工期

任务:项目一开始,就需要估算出完成所需要的时间。

难点:哪怕没有接触过项目,手头只有模糊的需求说明也得硬着头皮预估时间。

网友的话:

“在开工之前,真的很难估算出会出现多少乱七八糟的问题……”——Jan Christian Meyer

“我发现估算时间可能是最难的部分了,因为很多人会将其当做一个承诺,信守着一诺千金。” ——Samnang Chhun

“……每次碰到这个问题我就一个头十个大……”——Jack Menendez

2.解释我的工作

任务:向非程序员——亲朋好友,解释自己的工作内容。

难点:亲人和爱人不了解我们是做什么的。总是被要求去解决任何与计算机有关的问题(比如修电脑)。

网友的话:

“总是要跟人解释——我,不是,修电脑的。”——Brandon P-Lost

“不止一遍地和我的家人说明,我到底是干什么的。”——Utsav Singh Rathour

编程的世界,外行人不懂。”——Anand Safi

“为什么别人都认为我是给电脑安装盗版操作系统和其他盗版软件的家伙呢?我干什么了我,我只是程序员。”——Anbu Jey

1.命名

任务:为变量、过程、函数、类、对象、数据库组件等命名。

难点:即使是一个小程序,也会有很多需要命名的东西。名字最好一贯又简洁,有内涵,能承载一些意思——这个是什么或者这是用来做什么的。

网友的话:

“想啊想啊想名字,想出一个好名字~”—— Aditya Muraletharan

“别烦我,我正在给函数命名呢。”—— Lakshman Siripurapu

“计算机科学中只有两座大山:缓存失效以及命名。”——Phil Karlton

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

    关注

    1

    文章

    91

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    硬件工程师手册(全套)

    开发的规范化 上节硬件开发的基本过程应遵循硬件开发流程规范文件执行,不仅如此,硬 开发涉及到技术的应用、器件的选择等,
    发表于 04-22 15:05

    如何坚持而正确的芯片研发?

    如果一件事在别人眼中是坐冷板凳,是脏活、累活,你是否还会坚持下去呢?以下视频来源于格致论道讲坛石侃·中国科学院计算技术研究所副研究员格致论道第117期|2025年1月18日北京大家
    的头像 发表于 04-18 10:01 987次阅读
    如何坚持<b class='flag-5'>做</b><b class='flag-5'>难</b>而正确的芯片研发?

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

    、Java等)和软件开发工具,还需要对硬件的工作原理有深入的理解。 在团队中,嵌入式软件工程师往往扮演着核心角色,他们的工作直接关系到产品的性能、稳定性和用户体验。 02掌握核心技能与知识
    发表于 04-15 14:37

    长沙怎么这么招硬件工程师

    长沙好难招硬件工程师呀,大部分面试的只有课程设计经验,没有额外学习硬件或者动手做东西,招聘也太难了。有实力的请联系 pengyushi@haominoe.com*附件:HAOMIN 招聘启事-初级硬件工程师.pdf
    发表于 04-10 15:44

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

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

    如何成为嵌入式开发工程师

    ,参加相关的研讨会和培训课程,阅读专业书籍和论文。 9. 认证和网络:- 考虑获取相关认证,这可以增加你的市场竞争力。- 加入专业组织和在线社区,扩展你的人际网络。 通过上述步骤的学习和实践,你可以逐步成长为一名合格的嵌入式开发工程师
    发表于 02-19 10:39

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

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

    为什么嵌入式驱动开发工程师可以拿高薪?

    。 为什么嵌入式驱动开发工程师可以拿高薪? 嵌入式驱动开发工程师属于技术密集型工作,不仅需要深入了解硬件的工作原理,还需掌握各种编程语言,确保硬件与
    发表于 01-07 16:56

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

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