下载PDF文件 下载PDF文件

软件开发工程师是一份报酬优厚的工作,他们所具备的技能很有市场。那么他们到底是做什么的呢?如果你的薪水远远低于他们,不妨加入他们的行列。你可能会心存疑虑:自己是否具备开发优秀产品所必需的技术知识和受众关联性呢?无须担忧,按照如下步骤逐步执行后,加上一点点的灵感创意,就能成为一名软件开发工程师。

部分 1
部分 1 的 3:

掌握诀窍

下载PDF文件
  1. 软件开发有两大基本阵营,分别是“应用开发”和“系统开发”。应用开发关注的是开发满足用户需求的程序,包括手机应用程序、大型电子游戏及企业级会计软件等。而系统开发关注的则是使用生命周期法来开发和维护操作系统。系统开发通常涉及网络可操作性和数据安全。 [1]
  2. 任何人都有创意灵感,但开发者能够将创意转化为现实。即便你只想从事软件设计方面的工作,也必须对代码有一定了解,以便能够开发出产品的基本原型。你能够自学的编程语言种类繁多,其中较为实用和重要的有:
    • C - C语言历史较为悠久,但仍被广泛使用,本列表中的其他语言多以C语言为基础。C语言被用来开发低级别程序,其运行与计算机硬件紧密相关。
    • C++ - 它是C语言面向对象的版本,是全世界最流行的编程语言。Chrome浏览器、火狐浏览器、Photoshop软件,以及诸多其他程序使用的编程语言都是C++。此外,C++也常被用于开发电子游戏。市场对C++开发工程师的需求量一直很大。
    • Java - Java语言是对C++语言的发展和继承,因易于移植而受到欢迎。几乎任何系统都能运行Java虚拟机,从而能够运行Java软件。Java语言被广泛应用于电子游戏和商业软件,许多人建议将它作为基本语言。
    • C# - C#是一种基于Windows系统的语言,它是微软.NET框架的组成部分。这种语言与Java及C++关系紧密,掌握Java的开发者能够快速地过渡到C#。它对于Windows软件或Windows手机软件的开发者而言尤其实用。
    • Objective-C - Objective-C也以C语言为基础,专为苹果系统而设计。被广泛用于iPhone和iPad应用。对于自由开发者而言,学习这种语言是一种不错的选择。
    • Python - Python是最容易学习的语言之一,适用于网络开发。
    • PHP - 准确来说,PHP并非软件开发语言,但如果你有志于从事网络开发,它必不可少。PHP开发工程师的就业机会一直很多,但薪水要低于软件开发工程师。
  3. 大部分书店都有编程书籍专区,而亚马逊和其他电子商务零售商也提供了海量选择。质量上乘的编程书籍很可能是你能够拥有的最好资源。从事开发项目时,你可以快捷地查询和参考它们。
    • 除书籍以外,互联网也为学习者提供无穷宝藏。在CodeAcademy、可汗学院、 W3Schools、CSDN、开源中国和程序员之家等网站上,都能够搜索到关于你所选择的编程语言学习资料。
  4. 尽管从事软件开发工作不需要有全日制学位,但是在本地培训中心听一下相关课程仍会对你有所帮助。一对一的教学对你大有裨益,而且这些课程会向你提出挑战,要求你解决一些自学时可能不会想到的问题。
    • 培训机构会收学费,因此确保你报名的课程有助于你实现自己的学习目标。
    • 尽管许多开发者能够完全依靠一技之长来进入这个行业,但拥有四年制大学的计算机科学学士学位,无疑能够帮助你更快地脱颖而出。大学教育将使你具备更广阔的背景知识,还另外提供数学、逻辑学等其他实用课程。
  5. 将你新习得的编程技能应用到实际工作前,可以先做一些自己的小项目。试着挑战自我,应用编程语言去解决问题。这样不仅可以帮你巩固技能,还能够使你的简历内容更加丰富。
    • 例如,试着设计自己的日程表程序来帮助你安排工作,取代计算机自带的日程表程序。
    • 如果你对电子游戏开发感兴趣,可以试着做一些简单的小游戏,不必注重图形或复杂的机制。你的目标应该是使它们有趣而独特。一系列独立开发的小游戏会让你的工作经验增色不少。
  6. 互联网是与其他开发者进行联系的绝佳方式。如果你在自己的项目上遇到瓶颈,可以上SegmentFault等网站寻求帮助。清楚地阐述你的问题,和已经尝试过几种可能的解决方案。
  7. 每天做做自己的小项目,哪怕只花一个小时。这样做有助于保持状态和不断学习新技术。许多开发者学习语言的成功基础就是每天接触和使用这种语言。 [2]
    • 每天设定一个专门用于编程的时间,或设定一个完成的时间期限。尽量保证工作日能够每天抽出时间来做你的项目,这样到了周末就可以好好放松了。
    广告
部分 2
部分 2 的 3:

开发程序

下载PDF文件
  1. 寻找灵感创意 好的程序会为用户的生活带来便利。看看你现在工作中使用的软件,是否有方法能够让流程更加简单或顺畅。成功的程序必须让用户觉得实用。
    • 检查你在计算机上的日常工作。能否使用某个程序来使一部分的工作实现自动化?
    • 记下每个创意。即使某个创意现在看来有些愚蠢或古怪,在未来它可能变得实用,甚至大获成功。
    • 检查其他程序。这些程序是做什么的?如何让它们做得更好?它们缺少什么?回答这些问题有助于你获取自己的创意。
  2. 文档概述程序的特征,以及项目计划达成的目标。在开发过程中参考设计文档,可以防止你的项目偏离正轨,专注于正确的方向。关于编写设计文档的详细信息,可以参阅 这篇文章
  3. 原型是一种基础程序,它展示你希望实现的功能。原型是一种快速程序,在你找到合适的设计之前,应当不断迭代更新。例如,你正在开发一个日程表程序,你的原型就应该是一个日期正确,并可以添加事件的基础日程表。
    • 在开发周期中,随着你想到解决问题的新方法,或有了更多想要实现的新创意,你的原型会不断改变。
    • 原型无须美观。事实上,在原型中,艺术设计的优先级是最低的。还是拿日程表来举例,你的原型很可能只有文本。
  4. Bug是所有开发者的烦恼之源。代码错误和预期外使用可能导致程序出现各种问题。在项目开发过程中,尽可能多地对程序进行测试。做各种尝试去破坏程序,然后根据结果去优化程序,避免它在未来因为相同的原因而崩溃。让亲朋好友测试你的程序,并反馈他们的测试结果。任何可以获得反馈的方法都能够为开发工作提供帮助。
    • 如果你的程序涉及日期,试着输入奇怪的日期。过去或未来久远的日期可能导致程序出现奇怪的反应。
    • 输入错误类别的变量。例如,你有一份表单询问用户的年龄,可以试着输入汉字词语,看看程序会有何反应。
    • 如果程序拥有图形界面,试着点击所有元素。点击返回上一屏,或以错误的顺序点击按钮会发生什么?
  5. 在原型和开发阶段,粗略的作品就足够了,但是,如果你希望其他人使用你的程序,就得花费一些时间来完善它。这意味着让菜单流程符合逻辑,用户界面(UI)简洁易用,没有明显bug,而且程序整体美观。
    • UI设计和功能可能非常困难和复杂。UI设计已经成为一份工作。你所能做的是确保自己的程序易于使用,看上去不会让人觉得刺眼。而专业的UI则可能必须付出一定的预算,请专业的团队来完成。
    • 如果你拥有预算,可以找到很多有能力设计UI的自由图形设计师为你工作。如果项目颇具规模,希望做出现象级的优秀产品,就必须找到优秀的UI设计师,请他们加入你的团队。
  6. GitHub是一个允许你与其他人分享代码的开源社区。这样做不仅能够让你更加深入地了解自己的代码,还会使寻找相关解决方案的其他开发者受益。GitHub既是极佳的学习资源,又是建立自己作品集的好方法。
  7. 产品完成开发后,你可以选择是否将之发布。如今,软件有多种发布渠道,具体取决于你所开发的软件类型。
    • 小型团队或独立开发者常常通过个人网站发布软件。确保网站充分展示了程序的所有特性,并包含一些截图和使用教程。如果你要售卖自己的软件,确保你拥有一个运行良好的数字支付系统,以及一台可以分发软件的服务器。
    • 如果你为特定的设备或操作系统开发软件,可以使用各种应用商店来发布。例如,如果你为安卓设备开发软件,可以通过Google Play商店、亚马逊应用商店或个人网站来售卖它。
    广告
部分 3
部分 3 的 3:

获取工作

下载PDF文件
  1. 尽管这类工作的薪水和可靠性都低于全职工作,但完成一些临时工作可以极大地丰富你的工作经历。试着上猪八戒和一品威客等网站找工作。刚开始想找到工作可能比较困难,但拿到并完成第一份工作后就简单多了。
    • 对于临时工作和自由开发者工作而言,猪八戒是不错的平台。点击主页的“IT/软件”,查看平台上的开发工作。
    • 出低价来获取临时工作看上去或许很有诱惑力,但不要廉价出卖自己的服务。这样做不仅会使你多劳少得,还会得罪同行,不利于建立人际关系。
    • 有时候,在临时工作中表现优异可以带来全职工作机会。在工作中始终全力以赴!
  2. 尽可能地多社交 尽可能多地去参加行业大会和编程马拉松。这不仅会让你接触更多代码,解决更多问题,还有助于结交业内同行。你可能会想象程序员们在自己的基地里孤军奋战,但实际上,大部分全职的开发工程师会团队协作。在这一行中,建立人际关系同样十分重要。
  3. 完成几项临时工作后,就可以开始向更大型的机构发送你的简历和作品集,应聘全职岗位了。除了智联招聘以外,你还应该关注专门的程序员招聘平台,例如CSDN JOB、博客园招聘、开源中国招聘等。
  4. 优秀的软件开发工程师通常精通多种语言。除了在工作中学以致用外,你还可以利用业余时间来自我提升,学习一两种其他语言的基础知识。这样,在过渡到新的项目时,你会感到更加轻松,就业竞争力也会更强。
  5. 不是所有入门级的软件开发工作都有六位数的薪水。事实上,这种工作根本不存在。但是,软件开发工作的优点是就业市场需求旺盛。作为一名软件开发工程师,如果你对自己现有的薪资感到不满,只要你具备相关技能,就可以很容易地跳槽到一家新的公司。你应该利用最初的几份工作来积累必要的经验,而不是关注它提供了多少养老金。
    广告

关于本wikiHow

本页面已经被访问过12,305次。

这篇文章对你有帮助吗?

广告