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

    文章

    90

    浏览量

    14917
收藏 人收藏

    评论

    相关推荐

    求LORA技术开发工程师合作

    求LORA技术开发工程师合作
    发表于 09-02 10:21

    为什么件事或者学习FPGA每隔一段时间就会感觉遇到瓶颈呢?

    件事或者学习每隔一段时间就会感觉遇到瓶颈
    发表于 07-30 08:59

    嵌入式软件开发招聘

    本帖最后由 jf_19082533 于 2024-7-26 13:56 编辑 寻求:嵌入式软件工程师 要求:3年以上开发经验,音视频领域应用层开发 地址:北京市昌平区 邮箱:1017933921@qq.com 欢迎广大感兴
    发表于 07-26 13:44

    硬件工程师如何元器件变更的决策

    硬件工程师如何元器件变更的决策某产品在从研发转规模生产阶段,采购部门给硬件工程师推荐了新的MOSFET(称为A),该物料比该产品研发阶段使用的MOSFET(称为B)价格更低,且供货渠道更友好。作为
    的头像 发表于 07-06 08:17 244次阅读
    硬件<b class='flag-5'>工程师</b>如何<b class='flag-5'>做</b>元器件变更的决策

    【《软件开发珠玑》阅读体验】+ 心得

    ,《软件开发珠玑》是一本值得每个软件开发者阅读的书籍。它教会了我们如何了解需求、设计、项目管理,如何与团队合作以及如何持续学习和进步。在未来的软件开发生涯中,我将继续秉承书中的理念,努力成为一名项目的
    发表于 06-23 17:56

    找STM32硬件开发兼职工程师

    上海传感器的公司,找STM32硬件开发兼职工程师,会硬件开发,嵌入式软件开发,可项目外包。有意联系:15900460170
    发表于 06-22 19:12

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件开发流程。建议通过参加培训课程、实习经验或自学等方式
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    什么是电子工程师眼中的经典电子测量三大

      在电子工程师眼里,有三种被誉为“经典三大”的仪表,它们是工程师们探索射频领域的必备法宝。它们分别是:   信号发生器 频谱分析仪 网络分析仪 他们不仅是实验室里的得力助手, 更是推动科技进步
    发表于 05-08 11:18 538次阅读
    什么是电子<b class='flag-5'>工程师</b><b class='flag-5'>眼中</b>的经典电子测量三大<b class='flag-5'>件</b>?

    如何入门硬件工程师

    想跨行业硬件设计工程师,应该如何学习规划呢
    发表于 03-17 21:49

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的软件,而
    的头像 发表于 01-22 15:27 1738次阅读

    嵌入式硬件和软件哪个好?

    这类技术都是看经验的,经验越高,那他的身价也相应变高。据统计,65%的电子产品开发企业中,嵌入式软件开发工程师团队,往往只占全公司人数的5%,但是却创造了全公司超过70%的效益。 嵌入式软件开
    发表于 12-05 15:17

    AUTOSAR软件开发流程简介

    AUTOSAR软件开发流程简介 AUTOSAR软件开发流程是指在AUTOSAR架构下进行软件开发的一系列步骤和方法。它包括以下几个主要阶段: 需求分析:在这个阶段,根据汽车电子系统的需求,定义和分析
    的头像 发表于 10-27 15:55 2687次阅读
    AUTOSAR<b class='flag-5'>软件开发</b>流程简介

    Rockchip RK3399软件开发指南

    本文档主要介绍 Rockchip RK3399 软件开发指南,旨在帮助软件开发工程师更快上手 RK3399 的开发及调试。
    发表于 10-10 07:15

    嵌入式软件好还是硬件好?

    越高,那他的身价也相应变高。据统计,65%的电子产品开发企业中,嵌入式软件开发工程师团队,往往只占全公司人数的5%,但是却创造了全公司超过70%的效益。 嵌入式软件开发
    发表于 09-18 15:31