您当前的位置:首页 > 教学课堂 > JAVA技术

软件开发难吗?

来源:长沙北大青鸟  发布时间:2016-06-22  北大青鸟新生QQ群:535324780

软件开发中最大的难题不是编写程序,写代码只是按照逻辑去实现功能,这相对于开发者需要做的其他事情来说简单直接多了。如果你还是一个不算资深的业余程序员,那你一定要在真正的走向职业道路前确保可以解决下面这些障碍。

1032130.jpg
 
1.向外行解释你在做什么
 向外行解释软件开发的过程是极其困难的。虽然很多人知道编程,但他们终究是不会写程序的人,在他们看来,程序员的生活就是整天在一间小黑屋里趴在键盘前,消耗着很多咖啡。你会从你的朋友,亲人,同事嘴中听到这些话,他们认为这不是一个恰当的职业。
 
2.形象的说出解决方案
你会经常接到一些简洁的,但通常表意不明的需求。比如现在有一个商业方面问题的需求,你就要根据它来设计数据结构,程序架构,算法,接口和一些其他技术层面的东西来构造这个问题的解决方案。关键的是,你要用大家都可以理解的语言,并在有限的时间内把解决方案讲给客户,但事实是很多开发者都做不好这件事情。
 
3.评估工期
这恐怕是很多程序员的痛苦之源。对于程序员来说,去评估一项从未做过的项目所需要花费的时间是极其困难的。你可能写过相似的代码,但现在的环境,问题和限制条件都发生了变化。虽然经验会有一些帮助,但大多数程序员还是低估了问题的难度,通常因为程序员只考虑了编程方面的问题,而忽略了其他相关的事情。
 
4.借鉴他人的代码
有很多种方法可以得出解决方案,但是借鉴他人的代码,在这个基础上编程需要花很多精力和时间,因为你要去思考他们是如何构思的。而且,如果这些半成品的程序还没有留下注释和文档记录,你就会更困难了。
 
5.面对项目需求的渐变和奇异的功能
虽然敏捷开发在一定程度上允许了需求的渐变,但并不意味着需求变化是一件好事,如果再加上一些客户由于一时冲动提出的奇怪需求,你就更苦恼了。你知道这样做一定会失败,你的团队也知道,但这是客户的要求,而且错误的发生也是你的责任,因为你没有站在他们的角度看问题。
 
6.在缺乏优化和过度优化间找到平衡点
 复杂的软件永远做不到绝对的完美,因为总有更优的方法去完善它。你可以无限制的不断优化你的代码,这也就是为什么项目不会提前完成。而另一方面,你有时也会有“这样就行了,我以后再去优化它”的想法。这样的程序目前可以正常运行,但明天可能就会出现错误。当然了,你也可以不用管它,等着下一个用它的程序员去优化。
 
7.测试
你也许自己进行了单元测试,也把软件交付给了测试组,但bug依然存在。软件通常是复杂的,包含了成千上万行代码,其中有数不清的交互接口和路径,把这些全都测试到是很困难的;类似的,你的软件会在不同的环境下和不同的软件交互,所以也不可能测试到每一种可能性;写好一个完善的单元测试是一项枯燥且困难的工作,理想情况下,测试程序的编写应该在软件开发前就进行,但是你要向你的客户解释清楚为什么一个月过去了却还是没有可用的软件;单元测试不会发现所有的问题。理想条件下,一个项目应该有一个单独的测试团队,他们可以积极主动的,尽可能的去找程序中的问题,但这对大多数项目来说是一件需要很大花销并耗时的事情,所以就让开发人员同时负责测试的任务。但是,这样的测试是考虑不到很多边界和极端情况的;程序员通常是在用理性的逻辑处理问题,但是客户通常不这样,他们会发现很多你意料之外的问题。
 
8.写开发文档
给项目写文档记录是一件费力耗时的工作, 几乎没有开发者喜欢或擅长它,不愿意花时间阅读它们。

9.处理各种IT问题
你每天都和技术打交道,你也许是一个HTML或PHP程序员,但你可能还要解决一些其他问题,比如硬盘损坏,驱动冲突或软件报错。这些虽然都不是你的主要工作,但如果你不去解决这些问题,你就不能继续你的开发任务。不幸的是,在那些非IT领域的人的眼里,你什么都知道。当他们遇到IT方面的问题时,他们不会花时间自己解决,而是去寻求你的帮助,而且不管什么问题,因为你是搞计算机的,比如如何将工资单导入Sage,如何配置Oracle,或者为什么他们的蓝莓手机发送邮件失败。也许,这些干扰不会影响到你的日常工作,但真的不会吗?
 
10.与他人打交道
这些问题都可以归结为“与人打交道”的问题。没有外行人会指导飞行员如何开飞机,或给电工如何布线提建议,但是他们很愿意给软件开发“勇敢”地提出建议。现在可能还没有办法避免这样的事情发生,你只能接受这样的事实:世界上有一半人的智力是低于平均水平的! 
  • 北大青鸟电话
  • 湖南·长沙市岳麓区望城坡望新路334号(汽车西站附近)

    北大青鸟地址

精品IT课程 SERVICEMORE

学士后java工程师课程

北大青鸟java软件开发工程师课程是北大青鸟学士后品牌下的主打课程...
[详细]

学士后.Net工程师课程

北大青鸟.net开发工程师课程采用情景式教学方式,寓教于乐,具有很强的趣味性...
[详细]

ACCP软件工程师课程

ACCP是北大青鸟最经典的一套课程,专门针对18周岁、高中以上学历的人群设计...
[详细]

开班信息 Class InformationMORE

最新班级
课程名称
班级状态
咨询报名
春季特招班
软件工程师
热招
高薪就业班
软件工程师
热招
Accp精英班
软件工程师
热招
Java精英班
学士后Java
热招

长沙市岳麓区大计职业技能培训学校有限公司(支持你成为一个受人尊重的专业人才)

北大青鸟(长沙大计软件学院)(www.csbdqn.com) 是中国IT培训教育(源于北大,师出名门)致力于培养面向软件开发、电商及互联网领域的高端人才,是一家集ACCP软件工程师、网络营销、互联网产品经理、网页设计、Web前端、PHP、 Android、IOS、Java、C/C++等课程为一体的专业培训机构。大计教育与多家企业实体合作,首创“实训教学” 模式,学员在实训课程中,可以直接进入合作企业研发团队,亲自参与项目的运作,真正做到学以致用、学有所成,避免了培训带来的理论与实践脱节的弊端。

咨询电话(08:00-22:00)4008-0731-86 在线客服点击咨询 大计校区官方微信
扫描二维码,即可亲密互动,
更有极致干货等你来拿!
大计校区技术交流群
扫描二维码,即可与各界大神切磋技
术,更多专业老师为你解疑答惑!
24小时免费电话:4008-0731-86
高考 客服 QQ 电话 学费 报名
Top

24小时客服热线

4008-0731-86

0731-82186801

在线咨询问题请点击 在线客服