翻译完成

This commit is contained in:
mousycoder 2015-08-06 18:54:15 +08:00
parent 21a5c6f8aa
commit 5a078ed477
2 changed files with 91 additions and 51 deletions

View File

@ -1,51 +0,0 @@
Translating by MousyCoder
5 Reasons Why Software Developer is a Great Career Choice
================================================================================
This week I will give a presentation at a local high school on what it is like to work as a programmer. I am volunteering (through the organization [Transfer][1]) to come to schools and talk about what I work with. This school will have a technology theme day this week, and would like to hear what working in the technology sector is like. Since I develop software, thats what I will talk about. One section will be on why I think a career in software development is great. The main reasons are:
### 5 Reasons ###
**1 Creative**. If you ask people to name creative jobs, chances are they will say things like writer, musician or painter. But few people know that software development is also very creative. It is almost by definition creative, since you create new functionality that didnt exist before. The solutions can be expressed in many ways, both structurally and in the details. Often there are trade-offs to make (for example speed versus memory consumption). And of course the solution has to be correct. All this requires creativity.
**2 Collaborative**. Another myth is that programmers sit alone at their computers and code all day. But software development is in fact almost always a team effort. You discuss programming problems and solutions with your colleagues, and discuss requirements and other issues with product managers, testers and customers. It is also telling that pair-programming (two developers programming together on one computer) is a popular practice.
**3 In demand**. More and more in the world is using software, or as Marc Andreessen put it: “[Software is Eating the World][2]“. Even as there are more programmers (in Stockholm, programmer is now the [most common occupation][3]), demand is still outpacing supply. Software companies report that one of their greatest challenges is [finding good developers][4]. I regularly get contacted by recruiters trying to get me to change jobs. I dont know of many other professions where employers compete for you like that.
**4 Pays well**. Developing software can create a lot of value. There is no marginal cost to selling one extra copy of software you have already developed. This combined with the high demand for developers means that pay is quite good. There are of course occupations where you make more money, but compared to the general population, I think software developers are paid quite well.
**5 Future proof**. Many jobs disappear, often because they can be replaced by computers and software. But all those new programs still need to be developed and maintained, so the outlook for programmers is quite good.
### But… ###
**What about outsourcing?** Wont all software development be outsourced to countries where the salaries are much lower? This is an example of an idea that is better in theory than in practice (much like the [waterfall development methodology][5]). Software development is a discovery activity as much as a design activity. It benefits greatly from intense collaboration. Furthermore, especially when the main product is software, the knowledge gained when developing it is a competitive advantage. The easier that knowledge is shared within the whole company, the better it is.
Another way to look at it is this. Outsourcing of software development has existed for quite a while now. Yet there is still high demand for local developers. So companies see benefits of hiring local developers that outweigh the higher costs.
### How to Win ###
There are many reasons why I think developing software is enjoyable (see also [Why I Love Coding][6]). But it is not for everybody. Fortunately it is quite easy to try programming out. There are innumerable resources on the web for learning to program. For example, both [Coursera][7] and [Udacity][8] have introductory courses. If you have never programmed, try one of the free courses or tutorials to get a feel for it.
Finding something you really enjoy to do for a living has at least two benefits. First, since you do it every day, work will be much more fun than if you simply do something to make money. Second, if you really like it, you have a much better chance of getting good at it. I like the Venn diagram below (by [@eskimon][9]) on what constitutes a great job. Since programming pays relatively well, I think that if you like it, you have a good chance of ending up in the center of the diagram!
![](https://henrikwarne1.files.wordpress.com/2014/12/career-planning.png)
--------------------------------------------------------------------------------
via: http://henrikwarne.com/2014/12/08/5-reasons-why-software-developer-is-a-great-career-choice/
作者:[Henrik Warne][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://henrikwarne.com/
[1]:http://www.transfer.nu/omoss/transferinenglish.jspx?pageId=23
[2]:http://online.wsj.com/articles/SB10001424053111903480904576512250915629460
[3]:http://www.di.se/artiklar/2014/6/12/jobbet-som-tar-over-landet/
[4]:http://computersweden.idg.se/2.2683/1.600324/examinationstakten-racker-inte-for-branschens-behov
[5]:http://en.wikipedia.org/wiki/Waterfall_model
[6]:http://henrikwarne.com/2012/06/02/why-i-love-coding/
[7]:https://www.coursera.org/
[8]:https://www.udacity.com/
[9]:https://eskimon.wordpress.com/about/

View File

@ -0,0 +1,91 @@
选择软件开发攻城师的5个原因
================================================================================
这个星期我将给本地一所高中做一次有关于程序猿是怎样工作的演讲,我是 [Transfer][1] 组织推荐来到这所学校,谈论我的工作。这个学校本周将有一个技术主题日,并且他们很想听听科技行业是怎样工作的。因为我是从事软件开发的,这也是我将和学生们讲的内容。我为什么觉得软件开发是一个很酷的职业将是演讲的其中一部分。主要原因如下:
### 5个原因 ###
**1 创造性**
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/34042817.jpg)
如果你问别人创造性的工作有哪些,别人通常会说像作家,音乐家或者画家那样的(工作)。但是极少有人知道软件开发也是一项非常具有创造性的工作。因为你创造了一个以前没有的新功能,这样的功能基本上可以被定义为非常具有创造性。这种解决方案可以在整体和细节上以很多形式来展现。我们经常会遇到一些需要做权衡的场景(比如说运行速度与内存消耗的权衡)。当然前提是这种解决方案必须是正确的。其实这些所有的行为都是需要强大的创造性的。
**2 协作性**
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/94579377.jpg)
另外一个表象是程序猿们独自坐在他们的电脑前,然后撸一天的代码。但是软件开发事实上通常总是一个团队努力的结果。你会经常和你的同事讨论编程问题以及解决方案,并且和产品经理,测试人员,客户讨论需求以及其他问题。
经常有人说,结对编程(2个开发人员一起在一个电脑上编程)是一种流行的最佳实践。
**3 高需性**
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/26662164.jpg)
世界上越来越多的人在用软件,正如 [Marc Andreessen](https://en.wikipedia.org/wiki/Marc_Andreessen) 所说 " [软件正在吞噬世界][2] "。虽然程序猿现在的数量非常巨大(在斯德哥尔摩,程序猿现在是 [最普遍的职业][3] ),但是,需求量一直处于供不应求的局面。据软件公司报告,他们最大的挑战之一就是 [找到优秀的程序猿][4] 。我也经常接到那些想让我跳槽的招聘人员打来的电话。我知道至少除软件行业之外的其他行业的雇主不会那么拼(的去招聘)。
**4 高酬性**
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/50538928.jpg)
软件开发可以带来不菲的收入。卖一份你已经开发好的软件的额外副本是没有 [边际成本][5] 的。这个事实与对程序猿的高需求意味着收入相当可观。当然还有许多更捞金的职业,但是相比一般人群,我认为软件开发者确实“日进斗金”(知足吧!骚年~~)。
**5 前瞻性**
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/89799239.jpg)
有许多工作岗位消失,往往是由于它们可以被计算机和软件代替。但是所有这些新的程序依然需要开发和维护,因此,程序猿的前景还是相当好的。
### 但是...###
**外包又是怎么一回事呢?**
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/41615753.jpg)
难道所有外包到其他地区的软件开发的薪水都很低吗?这是一个理想丰满,现实骨感的例子(有点像 [瀑布开发模型][6] )。软件开发基本上跟设计的工作一样,是一个探索发现的工作。它受益于强有力的合作。更进一步说,特别当你的主打产品是软件的时候,你所掌握的开发知识是绝对的优势。知识在整个公司中分享的越容易,那么公司的发展也将越来越好。
换一种方式去看待这个问题。软件外包已经存在了相当一段时间了。但是对本土程序猿的需求量依旧非常高。因为许多软件公司看到了雇佣本土程序猿的带来的收益要远远超过了相对较高的成本(其实还是赚了)。
### 如何成为人生大赢家 ###
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/44219908.jpg)
虽然我有许多我认为软件开发是一件非常有趣的事情的理由 (详情见: [为什么我热爱编程][7] )。但是这些理由,并不适用于所有人。幸运的是,尝试编程是一件非常容易的事情。在互联网上有数不尽的学习编程的资源。例如,[Coursera][8] 和 [Udacity][9] 都拥有很好的入门课程。如果你从来没有撸过码,可以尝试其中一个免费的课程,找找感觉。
寻找一个既热爱又能谋生的事情至少有2个好处。首先由于你天天去做工作将比你简单的只为谋生要有趣的多。其次如果你真的非常喜欢你将更好的擅长它。我非常喜欢下面一副关于伟大工作组成的韦恩图(作者 [@eskimon)][10] 。因为编码的薪水确实相当不错,我认为如果你真的喜欢它,你将有一个很好的机会,成为人生的大赢家!
![](http://7xjl4u.com1.z0.glb.clouddn.com/15-8-6/17571624.jpg)
--------------------------------------------------------------------------------
via: http://henrikwarne.com/2014/12/08/5-reasons-why-software-developer-is-a-great-career-choice/
作者:[Henrik Warne][a]
译者:[mousycoder](https://github.com/mousycoder)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://henrikwarne.com/
[1]:http://www.transfer.nu/omoss/transferinenglish.jspx?pageId=23
[2]:http://www.wsj.com/articles/SB10001424053111903480904576512250915629460
[3]:http://www.di.se/artiklar/2014/6/12/jobbet-som-tar-over-landet/
[4]:http://computersweden.idg.se/2.2683/1.600324/examinationstakten-racker-inte-for-branschens-behov
[5]:https://en.wikipedia.org/wiki/Marginal_cost
[6]:https://en.wikipedia.org/wiki/Waterfall_model
[7]:http://henrikwarne.com/2012/06/02/why-i-love-coding/
[8]:https://www.coursera.org/
[9]:https://www.udacity.com/
[10]:https://eskimon.wordpress.com/about/