如何开发软件(develop software)

成为一名软件开发人员是一项有利可图的职业规划。这些人都有很强的市场技能。但他们到底在做什么?既然你可能无法打败他们,你就必须加入他们。你有技术天赋和观众的亲和力来开发一个好的产品吗?通过一点头脑风暴——当然,从下面的第一步开始——你会的!...

第1部分第1部分,共3部分:学习诀窍

  1. 1确定您感兴趣的基本软件开发类型。软件开发有两种基本类型:应用程序开发和系统开发。应用程序开发的重点是创建满足用户需求的程序。从手机应用程序到高产量的视频游戏,再到企业级的会计软件。系统开发侧重于使用生命周期开发创建和维护操作系统。系统开发通常涉及网络可操作性和数据安全。
  2. Image titled Develop Software Step 1
  3. 2.为自己准备一种编程语言。任何人都可以提出想法,但开发人员将能够将这些想法转化为有形的东西。即使你只想从事软件设计方面的工作,你也应该对编码有一定的了解,并且能够创建基本的原型。你可以自学各种各样的编程语言。一些更有用、更重要的语言包括:C-C是仍在使用的较旧语言之一,也是本列表中大多数其他语言的基础。C用于开发低级程序,并与计算机硬件紧密配合。C++是面向对象的C语言版本,是世界上最流行的编程语言。诸如Chrome、Firefox、PS图象处理软件等许多程序都是用C++构建的。它也是制作电子游戏的一种非常流行的语言。C++开发人员几乎总是有很高的需求。java——C++语言的一个演进,并且由于其易于移植性而被使用。几乎任何系统都可以运行Java虚拟机,从而允许它运行Java软件。它被广泛应用于电子游戏和商业软件中,许多人推荐它作为一种基本语言。C#-C#是一种基于Windows的语言,是。微软的NET框架。它与java和C++紧密相关,如果你学习java,你可以很快地转换到C语言。这种语言对于使用Windows或Windows Phone软件的开发人员特别有用。Objective-C——这是专为苹果系统设计的C语言的另一个近亲。它在iPhone和iPad应用程序中大受欢迎。作为一名自由职业者,这是一门很好的语言。Python——这是一种非常容易学习的语言,也是最简单的语言之一。Python专门从事web开发。PHP——这并不完全是软件开发,但如果你对web开发感兴趣,PHP是必不可少的。PHP开发人员总是有很多工作要做,尽管不像软件开发那样有利可图。
  4. Image titled Develop Software Step 2
  5. 3.寻找帮助你学习的资源。大多数书店都有专门的编程书籍专区,亚马逊和其他电商零售商也有很多。一本写得很好的编程书可能是你能拥有的最好的资源,它能让你在进行项目时快速参考它。除了书籍,互联网是一个无穷无尽的指南和教程宝库。在CodeAcademy、Code等网站上搜索您选择的语言指南。组织、便当、Udacity、Udemy、汗学院、W3学校等等。
  6. Image titled Develop Software Step 3
  7. 4.上课。虽然你不需要一个完整的学位才能进入软件开发领域,但在当地的社区学院或学习中心上几节课也无妨。这将使你受益于一对一的指导,你将面临挑战,去解决那些如果你自己学习可能不会解决的问题。上课要花钱,所以一定要报名参加能帮助你学习你想知道的内容的课程。虽然许多开发人员能够进入这个行业完全基于他们的技能优势,但如果你拥有四年制大学的计算机科学学士学位,你将帮助自己脱颖而出。学位会让你有更广泛的知识背景,也会让你有机会学习其他有用的课程,比如数学和逻辑。
  8. Image titled Develop Software Step 4
  9. 5.从事宠物项目。在你开始尝试将新的编程技能应用到现实工作中之前,先为自己做一些项目。挑战自己,用编程语言解决问题。这不仅有助于发展你的技能,也有助于建立你的简历。例如,与其使用计算机的日历程序来保持组织性,不如尝试设计自己的日历程序!如果你对电子游戏开发感兴趣,可以做一些简单的游戏,而不是专注于图形或复杂的力学。相反,专注于让它们变得有趣和独特。你自己创作的一系列小游戏在你的作品集中会很好看。专家提示:微软初创公司创始人吉恩·莱恩茨基;工程总监Gene Linetsky是旧金山湾地区的创立者和软件工程师。他在计算机科学行业工作了30多年,拥有工程团队的人员配备和管理、游戏设计和开发、通信协议、销售自动化等方面的经验。他还参与将计算机科学课程纳入高中,开发教育软件,并参与编写计算机科学教科书。他目前是Poynt的工程总监。Poynt是一家为企业建造智能销售点终端的科技公司。Gene Linetsky,微软初创公司创始人;工程总监的实践经验是你最好的学习工具。据Gene Linetsky说,软件工程师和初创公司创始人:“作为一名软件工程师,你没有编程的能力;这是将你的代码变成实际用户使用的实际产品所需要的一切。然后,当你这样做时,你的客户通常会回来说,‘这不管用’或‘那不管用’。维护你自己的东西的循环是对软件工程师的真正教育。”
  10. Image titled Develop Software Step 5Gene Linetsky, MSGene Linetsky, MS
  11. 6提问。互联网是联系其他开发者的绝佳方式。如果你发现自己在某个项目上遇到了困难,请在StackOverflow等网站上寻求帮助。确保你以明智的方式提问,并能证明你已经尝试了几种可能的解决方案。
  12. Image titled Develop Software Step 6
  13. 7.每天练习。每天做你最喜欢的项目,哪怕只有一个小时。这将帮助你保持新鲜,不断学习新技术。许多开发人员通过确保每天接触一门语言,成功地学习了一门语言。每天设定一个你可以专注于编码的时间,或者设定一个你需要完成的最后期限。试着在一周中每天都做你的项目,这样你就可以在周末放松了。
  14. Image titled Develop Software Step 7

第2部分第2部分,共3部分:制定计划

  1. 暴风雨般的想法。一个好的程序将执行一项任务,让用户的生活更轻松。查看当前可用于您想要执行的任务的软件,看看是否有方法可以使该过程更容易或更顺畅。一个成功的程序是一个用户会发现很多有用的程序。在电脑上检查你的日常任务。有没有什么方法可以让你用一个程序自动化这些任务的一部分?把每个想法都写下来。即使它在当时看起来很愚蠢或古怪,它也可能会变成有用的甚至是辉煌的东西。检查其他程序。他们是干什么的?他们怎么能做得更好?他们错过了什么?回答这些问题可以帮助你想出自己的想法。
  2. Image titled Develop Software Step 8
  3. 2.编写设计文档。本文档将概述该项目的特点以及您打算实现的目标。在开发过程中参考设计文档将有助于保持项目的正轨和重点。有关编写文档的详细信息,请参阅本指南。
  4. Image titled Develop Software Step 9
  5. 3.制作一个原型。这是一个基本的程序,展示你想要实现的功能。原型是一个快速的程序,应该反复迭代,直到找到一个有效的设计。例如,如果您正在创建一个日历程序,那么您的原型将是一个基本日历(具有正确的日期!)以及一种添加事件的方法。在开发周期中,当你想出解决问题的新方法,或者在以后想一个你想合并的想法时,你的原型会经常改变。原型不一定要漂亮。事实上,艺术和设计应该是你最后关注的事情之一。再次使用日历示例,您的原型很可能只是文本。
  6. Image titled Develop Software Step 10
  7. 4.反复测试。bug是每个开发者的祸根。代码错误和意外使用可能会导致成品出现各种问题。当你继续做你的项目时,尽可能多地测试它。尽你所能去打破它,然后试着防止它在未来破裂。让朋友和家人测试你的程序并报告结果。任何你能得到反馈的方式都将有助于你的发展过程。如果你的程序处理日期,试着输入奇数日期。非常古老的日期或遥远的未来日期可能会引起对该计划的奇怪反应。输入错误类型的变量。例如,如果您有一个表单要求输入用户的年龄,请输入一个单词,然后查看程序的情况。如果你的程序有一个图形界面,点击一切。当你回到上一个屏幕,或者按错误的顺序点击按钮时会发生什么?
  8. Image titled Develop Software Step 11
  9. 5整理你的项目。虽然在原型设计和开发阶段做一个粗略的项目是可以的,但如果你想让其他人使用它,你需要花一些时间来润色。这意味着要确保菜单逻辑流畅,用户界面(UI)干净且易于使用,没有明显或阻止显示的错误,并且表面涂层美观。UI设计和功能可能非常困难和复杂。人们的整个职业生涯都是设计UI。只需确保你的个人项目易于使用且易于观看即可。如果没有预算和团队,专业的用户界面可能是不可能的。如果你有预算,有很多自由图形设计师,他们可能会根据合同为你设计UI。如果你有一个可靠的项目,你希望它能成为下一个大项目,那就找一个好的UI设计师,让他们成为你团队的一部分。
  10. Image titled Develop Software Step 12
  11. 6把你的项目放到GitHub上。GitHub是一个开源社区,允许您与他人共享代码。这将使您能够深入了解自己的代码,并使其他正在寻找您可能提出的解决方案的人受益。GitHub是一个很好的学习资源,也是构建投资组合的好方法。
  12. Image titled Develop Software Step 13
  13. 7.分发你的软件。一旦你有了一个成品,你可以选择是否要分发它。根据您创建的软件类型,现在有多种方法可以做到这一点。小型团队或独立开发人员分发软件的最常见方式之一是通过个人网站。确保所有功能都有详细的文档记录,并包括一些屏幕截图和教程。如果你在销售你的软件,确保你有一个好的数字支付系统和一个服务器来分发软件。如果您正在为特定的设备或操作系统开发软件,您可能可以使用多个数字商店。例如,如果你正在为Android设备制作软件,你可以通过谷歌Play商店、亚马逊应用商店或你自己的个人网站销售你的应用。
  14. Image titled Develop Software Step 14

第三部分第三部分,共三部分:找工作

  1. 1接受合同工作。虽然这些工作报酬不高,而且不如全职工作可靠,但你可以通过从事一系列合同工作来显著增加你的投资组合。查看Elance和ODesk等网站(现在也被称为“Upwork”)寻找工作。虽然很难考虑签订合同,但一旦你拿到第一份合同,就容易多了。黑客新闻是合同和自由职业者工作的重要资源。查看“询问”部分。虽然为了获得一份合同工作而低价竞标很有诱惑力,但不要卖空你的服务。你不仅会以低于你应得的工资而结束工作,还会激怒你所在领域的其他人,导致人脉减少。在合同工作中出色的工作有时会导致全职工作。永远向前迈出你最好的一步!
  2. Image titled Develop Software Step 15
  3. 2.尽可能多地连接网络。尽可能多地参加会议和黑客马拉松。这不仅会让你接触到更多需要解决的代码和问题,还会帮助你认识业内的其他人。尽管你可能会认为程序员独自在地下室工作,但大多数全职开发人员都是团队的一部分,网络与任何其他领域一样重要。
  4. Image titled Develop Software Step 16
  5. 3申请全职职位。一旦你有了几份合同工作,你就可以开始把你的简历和投资组合发送到更大的机构去全职工作。除了Monster,事实上,还有各种特定于开发人员的工作网站,你应该看看,包括GitHub Jobs、StackOverflow job Board、AngelList、CrunchBoard、Hirlite和Hacker News。
  6. Image titled Develop Software Step 17
  7. 4提高你的技能。一个好的软件开发人员通常精通多种语言。虽然你学到的很多东西都是在工作中,但利用一些空闲时间扩展你的知识,学习一两门语言的基础知识。这将使你更容易过渡到新项目,并使你成为一个更理想的求职者。
  8. Image titled Develop Software Step 18
  9. 5.不要担心薪水问题。并不是每个初级软件开发工作的薪水都会达到六位数。事实上,他们都不会。然而,软件开发的好处是,就业市场异常强劲。如果你觉得自己目前的收入不够,那么在一家新公司(如果你有技能的话)换一个新职位相对容易。把你的前几份工作当作必要的经历,而不是专注于你的退休计划。
  10. Image titled Develop Software Step 19
  • 发表于 2022-03-22 09:39
  • 阅读 ( 31 )
  • 分类:教育

你可能感兴趣的文章

你从未听说过的最奇怪的编程原理

...roject will eventually become too complex to be understood even by its own developers." ...

  • 发布于 2021-03-12 02:06
  • 阅读 ( 368 )

如何创建虚拟web开发环境和服务器

...allation. In particular, you should include whichever packages you use for development that are included in the base of the OS distribution. To include development dependencies for Ubuntu, specify ...

  • 发布于 2021-03-15 21:34
  • 阅读 ( 263 )

黑莓停止生产手机,没人在乎

... "The company plans to end all internal hardware development and will outsource that function to partners. This allows us to reduce capital requirements and enhance return on invested capital." ...

  • 发布于 2021-03-17 07:51
  • 阅读 ( 229 )

微软将ccleaner标为“可能不需要的应用程序”

...ct instances anytime software offers to install other software that is not developed by the same entity or not required for the software to run, no matter the third party." ...

  • 发布于 2021-03-30 18:36
  • 阅读 ( 227 )

windows10允许你像android那样侧载通用应用程序

...始”菜单打开。 选择“Update and security”,然后选择“For developers”。在此处激活“Sideload apps”选项,就像在Android**或平板电脑上激活“Unknown sources”复选框一样。 此选项首先出现在Windows10InsiderPreviewBuild10122上。如果您还没有看...

  • 发布于 2021-04-10 11:15
  • 阅读 ( 179 )

引起人们对应用程序商店骗局关注的ios开发者现在正在起诉苹果

...力对抗潜在竞争”的证据: Apple entices software application developers like Plaintiff to develop innovative applicati*** with the promise of a fair and secure App Store in which to sell them. In truth, Apple systematically flexes its monopoly muscle against potential competition through...

  • 发布于 2021-04-16 03:37
  • 阅读 ( 209 )

苹果证实,xcloud和stadia等云游戏服务违反了app store的规定

...rs to discover and download apps, and a great business opportunity for all developers. Before they go on our store, all apps are reviewed against the same set of guidelines that are intended to protect customers and provide a fair and level playing field to developers. Our customers enjoy great apps...

  • 发布于 2021-04-18 04:53
  • 阅读 ( 305 )

fortnite for android也已经在googleplay商店中推出

...了相同的结论。 谷歌的声明: The open Android ecosystem lets developers distribute apps through multiple app stores. For game developers who choose to use the Play Store, we have c***istent policies that are fair to developers and keep the store safe for users. While Fortnite remains av...

  • 发布于 2021-04-18 06:17
  • 阅读 ( 283 )

软件工程师(software engineer)和软件开发人员(software developer)的区别

软件工程师vs软件开发人员 软件工程师的头衔是软件行业最具争议和争议的头衔之一。这个职位需要一份与软件开发人员几乎相同的工作,而这两种工作通常可以互换地用来表示同一件事。那么它们之间到底有什么不同呢?基...

  • 发布于 2021-06-23 20:24
  • 阅读 ( 457 )

网页设计师(web designer)和web开发人员(web developer)的区别

...术或相关领域。 网页设计师(web designer)和web开发人员(web developer)的区别 定义 网页设计师是一个致力于创造网站外观的人。web开发人员是一名程序员,他从事于为万维网开发应用程序。 任务 网页设计师的任务是创建网站的外观...

  • 发布于 2021-06-30 17:21
  • 阅读 ( 192 )
张泰迪灬
张泰迪灬

0 篇文章

相关推荐