TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How to look for a programming opportunity

26 点作者 owinebarger大约 15 年前
A recent thread http://news.ycombinator.com/item?id=1176962 about a Giles Bowkett blog post went long on the solicitous nature of the article but ignored the most interesting claims:<p><pre><code> Most programmers I know seem to respond to job searches by learning new programming languages. The logic there is pretty weak. "I can't get a job with a language I know, so why don't I see instead if I can get a job with a language I don't know." Learning new languages is a good thing, but there's a time and a place for everything. It's never a matter of your skills being stale; there are still COBOL jobs out there. If you're good at programming, and you can't get a job, the skill to improve is not your programming skill but your job-getting skill. If you've got a task that requires two skills, and you have one of those skills down solid, but you suck at the other skill, the thing to do is not spend even more time perfecting the skill you already have down solid. </code></pre> As someone thinking about working in programming after not doing much real programming for a few years, I am interested in whether he's right or not. I am actually planning to dive into learning a new language or relearning C++ with its current set of metaprogramming features and extensive libraries.

9 条评论

patio11大约 15 年前
I think this is largely good advice. You could expand it to thinks much more concrete than "improve your job-getting skill": make yourself a portfolio website if you don't already have one. Make decisionmaker-specific pages on your portfolio website targeting the exact interests of the people who you want to hire you.<p>(Hypothetically assuming I wanted to apply to Google, Big Japanese Megacorp, and Cool Valley Startup, I'd be pitching myself in a very different way in the cover letters and resumes... why show them all the same portfolio? I mean, theoretically I'm supposed to be pretty good at this whole "Build a web page to sell stuff" thing -- if I can't build a web page to sell <i>me</i>, why should they hire me?)<p>If you don't already have a blog and social proof of value which you can quote to people, start building them. For example: you put a recommendation on your resume in the hope someone calls them, they agree to talk, and then they praise you, right? That's an awful lot of opportunities for the recommendation to not pan out well. Instead, when you ask for a recommendation, ask for a testimonial, too, which you will prominently quote in your Hire Me salesletter. And write the testimonial for them. "Hey boss, can I quote you on '$NAME_HERE is one of the best developers I've ever had the pleasure of working with. He has done things with $PROJECT that we never thought were possible. I'd hire him in a second.'?" (This presumes you have, actually, made a good impression on your boss. If not, then just write down their phone number and pray that no one calls it, because that is apparently what everyone else does.)<p>Networking is, obviously, another opportunity for improvement. Rather than spending time waiting for someone to call you back, it is (well past) time to start reacquainting yourself with friends and business associates (and mentioning, hey, you're on the market now) and making new friends/business associates.
评论 #1180431 未加载
kixxauth大约 15 年前
Just write code. Work on open source projects, blog, twitter, and keep a GitHub account with interesting projects in it.<p>I know that many jobs may hire by running "grep" on hundreds of resumes, but I don't think those jobs are the good ones. I think the good jobs want to hire your brain, not for any particular language, but for the overall value you can add to the company.<p>Working on open source projects and posting your own projects on sites like GitHub demonstrate your ability to understand architecture and write good code in any language.<p>This is what I'm looking for anyway, and it seems to be what Google is trying to get at with all the silly questions they ask during interviews. How good is your brain?<p><a href="http://www.fireworksproject.com/pages/extraordinary_people.html" rel="nofollow">http://www.fireworksproject.com/pages/extraordinary_people.h...</a>
评论 #1182196 未加载
nostrademons大约 15 年前
I'd disagree with this. Most of the candidates I've seen turned down weren't rejected because they lack some nebulous job-getting skill. They were rejected because they don't have the CS and programming skills to do the job.<p>The part I would agree with is that learning a new language != getting better at programming. When you learn a new language, you're increasing your breadth of knowledge - but most employers don't hire for breadth, they hire for depth. They want you to be good at the job they hire you for. And when you pick up a new language, you'll perform <i>worse</i> than on your existing languages, until you've had the practice to bring your skills up to where they were before.<p>Instead, spend time learning your language <i>better</i>. Most languages (even Python) provide different ways to accomplish the same task; try them all out, find out which is best, and most importantly, find out <i>which is best for which tasks</i>. Learn some libraries in depth. Write some actual code so you have something tangible on your resume - starting a project from scratching will teach you a lot that maintenance work at your employer won't, and even contributing some patches for an open-source project will teach you something new.<p>A big problem with many candidates is that their knowledge is very shallow: they'll claim to be an "expert JavaScript programmer", where "expert" means they can only use JQuery snippets they found on the web. And they don't even realize that their knowledge is shallow; they're completely oblivious to the depth of the subject until they meet someone who really does have deep knowledge (and even then, only rarely).
评论 #1182189 未加载
lpolovets大约 15 年前
I think the claimed point is valid. If you are a good programmer, you can improve your chances of finding a job much more by polishing up your resume, writing awesome cover letters, networking, etc. than you can by learning new programming languages.<p>It's all about bang for the buck. If you spend 100 hours learning, your programming skills and hence your ability to find a job might improve by a few percent; if you spend 100 hours on marketing yourself better, your programming skills stay the same but your chances of finding a job will improve greatly. It's like a lot of software... once the internals are good enough, it's much better to make the UI good than to keep the UI crappy while making the back end a little better.<p>Also, anecdotally, every good company that I've interviewed with has said that if I am the right person for the job, then they will give me the benefit of the doubt that I can pick up whatever technologies are necessary.
btilly大约 15 年前
In most cases I agree. If you can't get a job with your primary language, you'll have a harder time getting one in a language you just learned.<p>But there are exceptions. For instance if you don't have a programming background, learning the basics of something employable is a good idea. Also some things do become obsolete. For instance if your background is VB 5, you should update your skills to be more employable. (Actually you should have done that a few years back...)<p>Another exception is when a particular area is hot. If not many know a suddenly popular language or library, teaching yourself that tool can give you an edge on those jobs. Of course most jobs are maintaining something that already exists, and so don't need to cool new stuff. And more people try that strategy than there are jobs, so it may be a losing proposition to compete there. But, for instance, a lot of people learned Java back in the mid-90s to jump on a bandwagon, and it worked out for many of them.<p>Also it is fine to learn something for the job prospects when you have an obvious hole in your resume. For instance if you've been doing statistics professionally and you haven't learned R, you probably should. If you're a Perl web programmer and haven't learned Catalyst, it is at least worth playing with for a couple of weekends. A Java programmer is on solid ground in deciding to learn Spring better.<p>A special case of the obvious hole is when you need to learn something to get a certification. The whole certification treadmill is something I hate. But there is no question that it can help you, and acquiring relevant certifications is not a useless endeavor.<p>And a final exception is if there is a specific requirement for a job you want that you have a realistic shot at. For example I learned three languages before my Google interview. I knew that the interview would be in some combination of C++, Java and Python, and I knew none of them. So I learned the basics of all three, and made my lack of experience clear in the interviews. I was not hired for my knowledge of those languages. But without putting out that effort I couldn't have passed the interview. However this kind of situation is the rarest of them all. (This has only happened to me once.)
评论 #1180518 未加载
gnosis大约 15 年前
There are still COBOL jobs. But are they the kind you're interested in?<p>If you're interested in, say, web programming, you're probably going to have a hard time finding a job doing web programming in COBOL.. no matter how great your interviewing/job-hunting skills are.<p>The same goes for many other preferences regarding work, from location to the kind of company you'll be working at or people you'll be working with. If most jobs you're interested in largely have openings for people who know language X, you'll probably be better off knowing that language.<p>On the other hand, it's certainly a good idea to have well-rounded skills. So if you're particularly weak at people skills, or job-hunting skills, it's a good idea to work on improving those, as often being a good programmer is not enough to land the job you want.
评论 #1180569 未加载
评论 #1180474 未加载
starkfist大约 15 年前
Giles is wrong. Learning a new language/toolkit is actually a "job getting skill." I got my last 3 jobs by learning Javascript, Ruby, and Objective-C. They would not have hired me if I hadn't taught myself how to do stuff in those languages. If it's a startup job you are expected to hit the ground running. Figure out what job you want and then figure out what you need to know to get it.<p>That said, hardcore C++ skills are in demand everywhere from audio software to robots to games to wall street to scientific research. Even "web" companies need C++, Google, OKCupid, Amazon, etc. If you're already good at it, it's a great skill to polish up.
jarsj大约 15 年前
In my college first year, we programmed in two languages Fortran and scheme. It really made me a better programmer. Scheme rocks.
eliot_sykes大约 15 年前
MySpace hired this person after they built <a href="http://myspacehire.me/" rel="nofollow">http://myspacehire.me/</a><p>I'm sure they've been other examples of people being hired (or not) after turning a cover letter into a dedicated web site for the employer they want - anyone remember any others?