Learn the right programming skills for your career
One question I get more than any other is “how do I select from XYZ technologies what to learn? Not everyone knows what they want to do within the development industry, and given the costs (time and money) associated with learning new skills, it is important to make the right choice.
I have written numerous forum responses and emails with the same basic set of instructions, so it is clear to me that people are interested in this topic. I also wrote a TechRepublic post on the topic in 2009 in which I outlined five questions you should ask yourself before choosing which programming language to learn. Here are four more tips I give anyone who asks me this question.
确定学习什么样的编程技能或许要花上好几个小时的时间,但是一旦你决定了,就应该明白掌握哪些东西才有利于找份理想的工作
我被问得最多的问题是“我应该选择什么技术来学习?”在程序员的队伍里,并非每个人都清楚自己想做什么,再加上学习新技能还要付出的成本,所以程序员们有必要做出正确的抉择
我已经通过论坛和邮件的形式给出了大量基础性的指导,显然,人们对这类问题非常感兴趣。下面是我追加的五个小建议
1: Pick a place to work
You have to pick your skill set by the geographic location where you want to work. When I was in New York City, all Java was very popular because the big companies had deep investments in Unix and mainframes that could run Java, so it was a way for them to get away from COBOL and other legacy systems without abandoning their commitment to those platforms. But when I moved to South Carolina, .NET was much more prevalent even for the same kinds of industries, even though it was fairly new, thanks to a ton of local shops migrating from VB6.
1. 工作地点的地理位置与技能的匹配
你得挑一个地理位置符合自己所学技能的地方工作。当我身处纽约的时候,所有与Java有关的编程都非常受欢迎,因为当时大公司都大力投资Unix和运行Java的主流架构,所以对于他们而言,这样既可以远离COBOL和其他旧系统,又不必放弃对其他平台的承诺。不过当我搬到南卡罗来纳州时,即便是同样的公司,也更青睐.NET。因为大量本地公司都从VB6过渡而来
2: Develop a profile of the companies where you want to work
Most people want more than just “a job they want to work for a company they enjoy working for, and might even have a specific industry in mind. This is especially true for people making software development a second career and who may already have some experience in a specific industry.
If your wants are not too specific, the profile of the company you write down does not have to be specific, just try to be as accurate as possible. Some things to include:
- Size of company
- Publicly traded or private firm
- Maturity of company
- Rate of growth
- Risk/reward tolerance (can you work for a poorly funded startup in exchange for stock options and growth opportunities?)
- Industry
- Office environment
- Team size
- Management techniques
A word of caution:The more specific you make your profile, the harder it will be for you to get any meaningful data.
2. 对于理想的公司,要做足功
大多数人想要的不仅仅是“一份工作”——他们希望在自己喜欢的公司里享受工作的乐趣,可能他们心中也早已锁定特定的行业。特别是那些把软件开发作为第二职业的人,更是如此,因为他们在一些特定行业已经有了一些经验
如果你没有特定的行业,那么你填写的公司资料可以不用非常详尽,只需尽可能准确就好。记得涵盖下列信息:
- 公司规模
- 公共贸易或私
- 公司的成熟度
- 风险/奖励 耐受度(你能接受在资金不充裕的新创公司工作,但能获得优先认股权和成长机会吗?
- 所属行
- 公司环境
- 团队规模
- 管理技
警告:你填写的资料越详细,就越难获得有意义的数据
3: General job preference
You will want to put together a general idea of what kind of job you want. This should not be very specific, because unless you live in a huge metro region, it is unlikely that you will see any jobs even close to it.
3. 通常的工作意
你可能想大致勾画出自己想要的工作。但它不可能非常具体,除非你住在一个大城市里,否则,你是看不到任何贴近要求的工作
4: Research
Using your geographic preference, company profile, and ideal job, start digging through job ads. Use the largest variety of resources possible, and do your best to identify duplicate postings (even if the duplicates are different recruiters, they will probably copy/paste the job description). Make a chart of the skills that you see listed in the ads, and make sure to note if they are “required or “preferred skills. The chart should also show the things that you care about, like where the jobs are located, the type of company they are, etc. Once the chart is made, rank the jobs in the order of attractiveness to you. Finally, look for the commonalities among the top ranked jobs.
This approach should not take you more than a few hours, but once you have done it, you should have a crystal clear idea of the kinds of programming skills you should be mastering to get the job you want.
4. 研究
综合地理意愿,公司资料和理想工作这三个要素,开始寻找工作。用最大的资源类别,尽可能识别重复的招聘信息。为招聘信息中列出的技能要求画个表格,标记哪些技能是“必备条件”,哪些是“优先条件”。画好的表格应该能体现你关心的信息,比如工作所在地,公司类型等。表格制成之后,将工作按照你自己的兴趣进行排名。最终,找出排名最靠前的几份工作
这些方法所花时间不过几小时,但是一旦你完成这些步骤,就能非常明确自己需要掌握什么样的编程技能,才能找到心仪的工作
确定学习什么样的编程技能或许要花上好几个小时的时间,但是一旦你决定了,就应该明白掌握哪些东西才有利于找份理想的工作
我被问得最多的问题是“我应该选择什么技术来学习?”在程序员的队伍里,并非每个人都清楚自己想做什么,再加上学习新技能还要付出的成本,所以程序员们有必要做出正确的抉择
我已经通过论坛和邮件的形式给出了大量基础性的指导,显然,人们对这类问题非常感兴趣。下面是我追加的五个小建议
📱 扫码关注公众号
扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满