Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2013/12/29 5:13:28 How to become a star programmer
How to become a star programmer-programmer-it news How to become a star programmer
Andrew c. Oliver is the founder and President of Open Software Integrators, mainly with some open source companies, especially start-up companies, is committed to provide curriculum development, training, consulting and support services. Partners can focus on its core business areas, the company is providing professional services. Recently, Andrew wrote an article referring to the program developers, and by what way you can become a star programmer, and gives very pertinent recommendation 10.
Many developers think that wanting to be a star programmer needs to be done must be associated with programming skills, but this idea is completely wrong! Good code is good, but if you want a better job, get higher pay is needed so that more people know who you are. In other words, you need to sell yourself, the following is based on years of experience to become a star programmer's 10 tips.
1. blogging
Build a blog and wrote several articles for a month. Real research to ensure that what you write is not something that is very simple. More seriously, is to learn how to write articles. According to the school's English teacher taught you how to do: create a synopsis, description, checking grammar and phonetic. Next, simplify things that were said, it would allow people who read your article to quickly go through it will be able to quickly grasp the main points of the article. Now only the Internet, but in order to achieve excellence.
2. open source
Don't believe those lies about open source. Those young people may have of you don't remember developers out of that situation in the past, but even in times of economic downturn, I created all developers of open source projects are not being laid off. Make sure that you develop source code to reflect your work. I want to use the most simple solution to solve the puzzles, but I interviewed lots of developers, they are simple questions to complex. Whether you believe it or not, this is a market, but make sure that the code you write will reflect your marketing.
3. not 6 months, more than 10 years
Not changing jobs every 6 months. Seriously, a company many people will in cases of separation, will also have some new faces coming in. In other words, not in the same place, doing the same thing for 10 years or more, or you will be insulated and forming the market inertia. For example, if you work at IBM, so in order to maintain their value, you can't just settle for IBM's way, using IBM technology stack to write code. I've never ever hired in similar companies like IBM who worked more than 2 years. The impression they gave me is often do very well in the interview, but in actual programming, but failed to.
4. look to new technologies, oriented to the actual situation
Especially the young developers prefer to use new technologies. Ruby is one of my favorite programming language, but on average, Ruby for my return is better than Java, Ruby market is relatively small. That is not always the case, Scala looks very cool, but don't forget it's market share is still very small. The other hand, don't have long used similar techniques, such as COBOL and PowerBuilder developers.
5. write your own documents
When I participated in the development of a project, often being pulled out to attend the meeting, because they gave me written documents or presentations, and able to understand this too many times. I always start a overview map, behind which is a description of the various details. The question is: for a very busy person, that know what is it? Most managers want to know what? According to this document.
6. brevity is the soul
For management, who knew what they were saying people often give a more succinct answer. If the answer is long and complex, it means the answer, people did not know what the answer is. In addition, her voice often is inversely proportional to the importance of the subject. If bad news comes, then you so gently when you walked into the Office, close the door and whispered. Please make sure you know what you're saying is, knowing how to summarize, describe details, but please do not introduce every aspect in full detail. Please ensure that your team members have been well thought out, and then clearly articulate which of your ideas are better than others.
7. public speaking
Knows how to make your presentation, learn how to speak in public. Research a topic, and then allow yourself to be experts on the subject. If it has some sense of humor, and in public speeches effect will be better. To master the skills you need to spend a lot of time and energy, but also to endure the ridicule of others, for engineers, however, if it can be explained to the managers of English, and can make a professional presentation on a topic, then pay generally higher than for developers who do not have this ability.
8. be realistic
You like Erlang and Erlang market however is not so big. You should know more than one language, you should also know that the "new" topics, but please do not say this kind of immature things "if it's not Erlang, then I'm not going to write code", unless you really understand the business problem. It may make you become expert in a narrow field, but even so, at a price, if you've got skills obsolete, and it's no fun. Of course, NoSQL is more suited to your own little projects, but the company will not to put it in the system all at once, this case RDBMS are suited.
9. troubleshooting to understand the relevant tools
Take the time to learn something that most people don't know the tools. You know what very few people know/use/understand tool that makes you more efficient than those around it? For example, Aspect4j is not for everyone, but it is for me. I have prepared some. class file operations, under the Tomcat to function properly, thereby replacing WebSphere, I fixed the memory leak of proprietary software. Every experience has made me more than others, because other people rarely know what tools I use to solve important problems, while others are still waiting for the manufacturer's solution. Of course, the other, but these simple tools to solve complex problems, let you go beyond other developers.
10. humble
Few developers have this trait of humility. At times, this means you'll need to do some specific work. Geek fame come and go, but keep in mind, is your actions make you gain such a reputation. Next week everything went away. In other words, "you're nothing special."
如何成为明星程序员 - 程序员 - IT资讯如何成为明星程序员
Andrew C. Oliver是Open Software Integrators公司的总裁与创始人,公司主要与一些开源公司合作,特别是那些初创公司,致力于为客户提供课程开发、培训、咨询与支持等服务。合作伙伴可以将精力放在核心的业务领域上,公司则为其提供专业的服务。近日,Andrew撰文谈到了对于程序开发者来说,通过什么样的途径可以成为一个明星程序员,并给出了非常中肯的10条建议。
很多开发者会认为要想成为一个明星程序员所需要做的事情一定都是与编程技能相关的,不过这种想法却是完全错误的!优秀的代码是很好,但要想得到更好的工作,获得更高的报酬则需要让更多的人知道你是谁。换句话说,你需要推销自己,下面是我根据这些年的工作经验所得出的成为明星程序员的10个提示。
1.撰写博客
搭一个博客,一个月写几篇文章。进行真正的研究,确保你所写的不是那种非常简单的东西。更严肃地说,就是要学会怎么写文章。根据学校的英语老师教你的方式来做:创建一个大纲、叙述、检查语法和拼音。接下来,简化刚才所写的东西,要做到让读你文章的人快速过一遍就能迅速掌握文章的要点。现在的互联网可是要做到精益求精才行。
2.开源
不要相信那些关于开源的谎话。你们当中的那些年轻人可能已经记不起来过去有的开发者会失业的那种情况了,不过即便在经济不景气的时候,我创建的开源项目的所有开发者依然不会被裁员。请确保你所开发的开源代码能够反映出你的工作。我希望使用最简单的解决方案来解决难题,不过我面试了很多开发者,他们都将简单的问题给搞复杂了。无论你相信与否,这么做是有市场的,不过请确保你所编写的代码能够反映出你所在的市场。
3.不是6个月,更不是10年
不要每6个月就换一次工作。严肃地说,一个公司的很多人都会出现离职的情况,同时也会有新人加入进来。换句话说,不要在同一个地方,做相同的事情达到10年以上,否则你会与市场绝缘并形成惯性的。举个例子,假如你在IBM工作,那么要想保持自身的价值,你就不能仅仅满足于按照IBM的方式,使用IBM的技术栈来编写代码。我从来没有雇佣过在IBM等类似的公司中工作过2年以上的人。他们给我的印象常常是面试中表现很不错,不过在实际的编程中却败下阵来。
4.放眼新技术,着眼实际情况
尤其是一些年轻的开发者们都喜欢使用新技术。Ruby是我最喜欢的一种编程语言,不过平均来说,Ruby带给我的回报是不如Java的,Ruby的市场也比较小。事实也并非总是如此,Scala看起来势头很猛,不过不要忘记它的市场占有率,其实还是很小的。另一方面,也不要长久以来一直使用同样的技术,比如那些COBOL或是PowerBuilder开发者们。
5.编写自己的文档
当我参与开发一个项目时,经常会被拉出去参加会议,原因就是他们看了我编写的文档或是演示,而且能够理解,这种情况出现太多次了。我总是一张总览图开始,后面则是对其各种细节的阐述。问题是:对于一个非常忙碌的人来说该知道哪些内容呢?大多数经理们想要知道什么?请按照这个思路编写文档。
6.简洁是灵魂
对于管理来说,那些知道自己在说什么的人常常会给出更简洁的答案。如果回答很长且很复杂,那就意味着回答的人并不知道答案是什么。此外,声调通常与主题的重要性成反比。如果有坏消息来了,那么大家走进办公室时就会轻手轻脚,关上门,然后窃窃私语。请保证你知道自己说的是什么,知道如何总结,如何描述细节,不过请不要事无巨细地进行方方面面的介绍。请确保你的团队成员都经过了深思熟虑,然后清晰地阐明你的哪些观点要好于其他人的。
7.当众发言
知道如何做演讲,学习如何在公众场合发言。研究一个主题,然后让自己成为这个主题的专家。如果能有一些幽默感的话,在公众场合的演讲效果就会更佳。要想掌握这种技能,你需要花费很多的时间与精力,还要忍受住别人的嘲笑,不过对于工程师来说,如果能用英语向管理者解释清楚问题,同时能就某个主题做出专业的演讲,那么他的薪资一般来说要比那些不具备这种能力的开发者高一些。
8.现实一些
你很喜欢Erlang,不过Erlang的市场却没有那么大。你应该了解多种语言,还应该知道那些“新”的话题,不过请不要说出这种不成熟的话“如果不是Erlang,那我就不打算写代码了”,除非你真正理解了业务问题。这么做也许会让你成为一个狭窄领域的专家,不过即便这样也是有代价的,如果你所掌握的技能过时了,结果就不好玩了。当然了,NoSQL更适合于你自己的一些小项目,不过公司却不会在那种一次性的系统中对其进行投入,这种情况下RDBMS就很适合了。
9.解决疑难问题,了解相关工具
花点时间学些大部分人都不了解的工具。你知道哪些很少有人知道/使用/理解的工具,让你比周围的人更具效率呢?比如说,Aspect4j并不适合于每一个人,不过它却适合我。我编写了一些.class文件操作,让其在Tomcat下正常运行,从而替换掉WebSphere,我修复了私有软件的内存泄漏问题。这每一次经历都让我超过了其他人,因为我使用了其他人很少知道的工具来解决重要的难题,而其他人则还在等待着厂商的解决方案。当然还有其他的,不过这些简单的工具却能够解决复杂的问题,让你超越其他开发者。
10.保持谦卑
很少有开发者具备谦卑这种特质。有时,这意味着你需要做一些很具体的工作。极客的声望来去匆匆,不过请记住,是你的行动才让你收获这种声望的。下一周可能一切都烟消云散了。换句话说,“你并没有什么特殊的”。
赞