每年都有无数年轻程序员,加入软件行业。
他们在学校里学过编程,但是对这个行业的现实一无所知。
==================================
一、90%的编程工作来自内部软件
(90% of programming jobs are in creating Line of Business software)
计算机专业的学生,可能有一种印象,觉得大部分程序员,都在编写公开出售的软件或者通用软件。
这种看法是不对的。大部分程序员,实际上编写的是不公开的企业内部软件,比如追踪费用的软件、优化装运成本的软件、帮助记账的软件、设计新部件的软件、计算保单价格的软件、识别恶意订单的软件等等。
各种各样的商业公司,开发内部软件,解决它们自己的问题。市场上对程序员的大部分需求来源于此,只有极少数程序员直接编写面向外部顾客的软件。
内部软件的开发,通常非常乏味,令人厌倦。因为它们的技术复杂性低、技术决策非常保守、预算很少、缺乏长远考虑。但是,世界上大部分编程工作都是这种。
二、别人雇你的目的,是让你创造利润,不是让你编程
(Engineers are hired to create business value, not to program things)
商业公司最关心的(或者说唯一在乎的)事情,就是增加收入、降低成本。因此,它们实际上需要的不是程序员,而是能够帮助它们增加收入、降低成本的人。
开发优美的软件,解决技术难题,编写没有bug的代码,这些都不是商业公司的目的。它们雇佣你,是为了让你帮它们完成某个可以增加收入、降低成本的项目,而不是因为你是geek。
你个人对于公司的唯一价值,就在于你能多大程度上为它们增加收入、降低成本。
三、不要自称为程序员
(Don't call yourself a programmer)
很多公司的经理不懂计算机,在他们心目中,"程序员"就是一群高成本的劳动力,只会在一台复杂的机器上干一些难懂的事情。
如果你自称为"程序员",当公司需要压缩成本的时候,某些经理首先就会想到解雇你。有一家公司叫Salesforce,口号是"没有软件",意思就是如果经理们购买了他们的服务,就不再需要别的软件管理销售业务了,也就是说,不再需要自己雇佣程序员了。
正确的做法是,你应该把自己描述成与增加收入、降低成本有关系的人,比如"xx产品的开发者"或"改进者"。有一个Google Adsense程序员的自我介绍,是这样写的:"Google公司97%的收入,与我的代码有关。"
四、不要限定自己
(You are not defined by your chosen software stack)
年轻学生经常会问,应该选择哪种语言或平台?学会Java,是不是比学会.NET容易找工作?
过分强调某一种语言或平台,都是不必要的。如果你把自己限定为Java程序员或.NET程序员,你就已经输了,因为首先你不应该自称为程序员(理由见上一点),其次这种限定使得你自动被排除在世界上大多数编程工作之外。
现实生活中,学会一种新语言,只需要几个星期,然后再过半年到一年,你就会变成老手。那时,根本没人在乎你以前用什么语言。
天才程序员是很少的,可是需要天才程序员的工作机会却很多很多,大多数场合都是需求远远大于供给。这意味着,即使你不是天才程序员,只要你是一个优秀工程师,那些招聘公司也会立刻录用你,因为它们知道招聘到天才程序员的机会微乎其微。(重复一遍,所谓"优秀工程师",就是你的履历上有一连串增加收入、降低成本的记录。)
某些公司的人事部门,会根据某个关键词(比如Java或.NET)过滤简历。虽然这样的公司根本不值得去,但是如果你真的想过这一关,也很容易:投入几个晚上和周末,在你当前的项目中设法用到这个关键词,然后再把它写进简历就行了。
五、如何提高求职时的谈判能力?
(How do I become better at negotiation?)
(1)记住你不是在求职,不是在展示编程技巧,而是在推销某种商业需求(增加收入或降低成本)的解决方案。
(2)面试时,要有自信,要平等的对话。你要的是一个互利的录用合同,不要每次对方提出要求,你都说Yes。
(3)雇主可能会问"你的上一份工资是多少",他们其实在说"给我一个理由,压低你的报酬"。你要想好如何适当地回答这个问题。
(4)要还价。这里不仅仅指钱,还指其它你关心的方面。如果你无法要求更高的薪水,那就试着要求更多的假期。
(5)在对方决定录用你以后,才开始讨论薪水。因为那时,他们已经在你身上,投入了大量的时间和金钱,产生了一定的成本,此时他们可能觉得一些小问题已经不值得再纠缠了,比如每年的工资增加几千元。
六、创业公司是否适合应届毕业生?
(Are startups great for your career as a fresh graduate?)
如果你一毕业就加入创业公司,最可能的结果是,接下来几年你都工作得非常辛苦,然后公司悲惨地失败了,你失业了,不得不又去另一家创业公司工作。
如果你真的想去创业公司,应该首先找一家大公司干上两年,攒一点钱,积累一些经验,然后精心挑选后再去创业公司。
在创业公司工作,一般情况下,你遇到的都是创业者。他们大多数人没有能力在两年后雇佣你;而在大公司工作,你遇到的都是其他大公司的人,他们中很多人将来有能力雇用你或者帮你介绍工作。
七、在创业公司工作是否值得推荐?
(So would you recommend working at a startup? )
选择创业公司,就是选择一条职业道路,而不是选择一种生活方式。可惜很多人把这两者颠倒了,他们推荐创业公司,实际上是在推荐一种你感兴趣的生活方式。
如果你确实喜欢这种生活方式,老实说,你在大公司里也可以得到它们。在许许多多大公司里,你都有机会钻研最新的技术,而且还能5点半准时回家照顾孩子。
八、沟通技能是最重要的职业技能
(Your most important professional skill is communication)
前面说过,工程师被雇佣,不是因为会编程,而是因为能够创造商业价值。所以,你让人们相信你能创造价值,这是帮助你找到工作的最重要的能力。这种能力与你真的能创造多少价值,实际上联系不是很紧密。
我认识的一些最优秀的程序员,往往拙于表达。因此,别人不是不想与他们一起工作,就是低估了他们的价值。相反地,如果你看上去很会编程,并且很善于表达,别人就会真的这样看待你。
原文作者: 阮一峰 本文发自龙铭洪博客。转载请注明:http://blog.csdn.net/long892230
分享到:
相关推荐
"雷军:致刚入门的程序员五点建议" 在这里,我们将详细解释雷军给刚入门的程序员五点建议。雷军,一个有十年编程经验的IT行业大师,曾经管理过一千多人的研发队伍,并且现在也是一名天使投资者。他总结了五点建议,...
总而言之,作为一名程序员,即使最初的选择并非完全基于兴趣,但在职业生涯中仍然可以通过不断学习和努力实现自我价值和社会价值的双重提升。通过合理的规划和积极的态度,每个程序员都能够找到属于自己的成功之路。
标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...
程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...
java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...
程序员,这个群体以其独特的思维方式、工作习惯和生活态度在社会上独树一帜。他们通常被贴上“技术宅”、“代码控”、“黑框眼镜”等标签,但这只是表象,程序员文化的内涵远不止于此。程序员们追求的是逻辑清晰、...
它涵盖了程序员需要掌握的各种关键知识点,无论你是刚踏入编程领域的新人,还是希望巩固和提升现有技能的开发者,都能从中受益。 首先,教材的基础部分将引导你走进编程世界,讲解编程语言的基本语法和逻辑。这包括...
程序员简历程序员简历.pdf
2000-2010历年程序员考试真题,对软考程序员的一些试题总结,包含答案;程序员考试上午科目和下午科目的考试形式与考核内容已经趋于稳定,考生应紧扣考试大纲和指南,有针对性地进行学习。
iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C/C++程序员简历模板 NodeJS程序员简历模板 架构师简历模板 通用程序员简历模板PHP程序员简历模板 iOS程序员简历模板 Android...
程序员工作日志示例管理文档 工作日志是程序员日常工作中不可或缺的一部分,它可以帮助程序员更好地管理自己的时间、提高工作效率、记录工作进度、总结工作经验等。本文档是一个程序员工作日志示例,旨在帮助程序员...
一个奋斗多年的Java程序员给刚毕业的java程序员的建议 帮助刚毕业的Java程序员做好自己的职业规划! 希望更多的人实现自己的理想 中国的软件行业蒸蒸日上需要更多的有激情的人们
综上所述,虽然给定文本主要讲述了一个程序员的个人经历,但从中我们可以提炼出IT行业的一些核心知识点,包括工作压力、技术更新、团队协作、工作生活平衡、社会形象以及人际关系等方面。这些不仅是IT从业者必须面对...
在IT行业中,程序员是至关重要的角色,他们负责创建和维护软件、应用程序以及各种技术解决方案。那么,什么样的人适合成为程序员呢?程序员应具备哪些素质?同时,又有哪些禁忌需要避免呢? 首先,程序员需要耐得住...
程序员教程和相关考试的一些试题,真题!程序员教程(程序员考试的相关内容)程序员教程(程序员考试的相关内容)程序员教程(程序员考试的相关内容)
随着技术水平的不断提升,程序员会逐渐进入更高的境界。第七境界的探索者开始寻求未知领域的新突破;第八境界的革新者则致力于技术创新,推动行业发展;第九境界的领导者不仅在技术上有卓越的表现,在团队管理和领导...
程序员表白神器你值得拥有-程序员表白神器你值得拥有 程序员表白神器你值得拥有-程序员表白神器你值得拥有 程序员表白神器你值得拥有-程序员表白神器你值得拥有 程序员表白神器你值得拥有-程序员表白神器你值得拥有 ...
[程序员小飞]别只做一个程序员_中国程序员的出路_程序员的副业
600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员...