Hacker News new | ask | show | jobs
by aaronbrethorst 5932 days ago
Spend some of your time building something real. Nothing demonstrates that you can perform like envisioning, building, and launching a product that real people are willing to pay real money to acquire.

It doesn't have to be particularly big or complicated, either. Just proving that you can accomplish the aforementioned tasks will go a long way to getting you through the door.

2 comments

Nobody outside of HN cares if your software makes money. They just want some proof that you can write code. Being able to show working code at an interview puts you in the top percentage of candidates; most have clearly worked on interesting projects, but can't show you anything they have done. This makes hiring them a big gamble.

Another thing that helps is knowing something other than Java and Oracle, or whatever other combination of brand-name technologies is popular this week. A team I work closely with is trying to hire a Java developer. They got 50 resumes, most of them "meh". Nobody was really exciting. This is probably because after reading 48 resumes, you are not going to be in a good mood, so even if someone is really good, you are not going to notice.

Conversely, they also needed another Perl developer. They got one resume, and the guy was awesome. It was easier to spend time on him since he was the only applicant, and being the only obviously qualified person to apply is good for your odds.

The other team is thinking of changing the language requirement from Java to Scala, since people that know to put Scala on their resume are more likely to have a clue, and it will reduce the applicant pool enough to spend time talking to everyone on the phone. Plus, who wants to do a Java project when you can do a Scala project instead? ;)

Anyway -- working code + unusual skills == you getting the job.

How is "your software makes money" not an "unusual skill"?

Plus, I care. If the business I'm applying to for a job doesn't care, it'll probably reduce my interest in them.

Let me give you a strawman scenario: I walk into an interview at a startup that just landed its Series A round. I'm interviewing for a position as the chief products guy or the CTO or something. The interviewer across the table from me says "You spent a paragraph of your resume talking about the business you built from scratch into a $200k/year revenue source. That's not very interesting; let's talk about this cool IOCCC entry of yours from last year, instead."

I'm going to assume that the interviewer (likely the founder or a co-founder) is probably an idiot for dismissing a significant accomplishment of mine and focusing instead on something that is—relatively speaking—quite trivial, and that his priorities are totally off. My bozo bit's been flipped, and there's not a chance I'm going to want to work with this guy. He's going to spend the next 18 months burning KPCB's million-plus stake on architecture astronaut'ish goals that have nothing to do with solving real problems and making real money. I'm going to shake his hand, say 'no thanks,' walk out the door, and go have a pint. (bear in mind, this is a strawman).

Please note that I'm not a Perl guy, so I can't speak for you or Ingy dot Net or Larry Wall. I'm a 'business guy' who happens to have a Computer Science degree and writes his own code.

Sure, but startups are an unusual case. Very few programming jobs are for startups. Most are for established companies that already have the business side down; where you are going to be too far away from "the business" for your experience to have any use. They need programmers that can add features in such a way as to avoid needing 50 new QA testers and overnight support staff. "Architechture astronautics" are fine; the company has plenty of time and money to invest into better solutions than whatever would put out the fire right now.

I've worked at small and large companies, and this has always been the case. The business was already well-established and does not really need help from the programming team. The programmers just need to craft extensible and clean solutions that solve the current problems and the anticipated future problems.

Startup experience wouldn't count against you, but neither would being able to run a marathon. The reality is that neither skill will be particularly useful. Being able to prove that you've written software, however, is a useful skill.

(People on HN seem to think that "good software" == "software that makes money", but that's not necessarily true. Good software products made money because of good marketing, good customer support, and general good business skills. The actual code quality varies. Ever use Windows? Yeah.)

Also remember that the OP is applying for a "junior developer" position, and I am answering with respect to that. CTO is very different from "junior developer".

Posting a question to Ask HN suggests a predisposition towards startups.

I've worked at small and large companies as well, and I've always been well-rewarded in job interviews and in the positions themselves for exactly what I'm describing. It's good to hear that two very different people can succeed in this business, just don't try to call BS on what I've found to actually work. I'll agree to refrain from the same.

Posting a question to Ask HN suggests a predisposition towards startups.

Why? I am a pretty well-known contributer to HN, and I have approximately 0 interest in startups. Since the word "startup" was never mentioned by the OP, I have no reason to assume he is interested.

Even the "paying real money" bit is unnecessary.

Having some working, usable sample code - whether your own project or participation in someone else's - obviously provides some gauge of what you can do but also indicates that you can make a program, maybe work with other people, maybe understand the various things involved in the process. Quite a few people come into the workforce only knowing how to write code, which while a prerequisite is nothing like actually programming. If you know the difference, you have a leg-up already.

Networking is important, and even someone like me can do some of it sort of incidentally by joining the local <Technology> User Group etc.

Proving that you can do everything—and that you understand a business' lifecycle—is going to be incredibly valuable in an interview, especially in a smaller company (but certainly not limited to them).

Being able to point to a real product being used by real people who had paid me real dollars for it has made a significant difference for me in job interviews in the past, especially for my first real job out of college at Microsoft.

Today, I'm a startup co-founder. If I'm looking to hire a developer, and I see that a candidate knows how to not only create software, but also market it and sell it, AND that they recognize the value in those other two steps, I'm significantly more likely to call them in for an in-person interview.

And besides, with any luck you'll generate enough money off your own software that you can tell all those companies you're looking to for a job to piss off ;)

Yeah, I am sure it is good to have. Just not necessary, particularly if mistaking it to be causes failure, stress or paralysis. One should strive to have something up there. If it pays, I guess that is a bonus.

It is not your fault, but overemphasis on "monetization" or whatever the preferred word may be is really unappealing to me here.

I'm sorry you find it distasteful, but it's important to me, and likely to you too. Monetization comes in many forms, including the paychecks you might collect every two weeks, or the grad student stipend you might collect at the beginning of the term, or in many other forms.

Paying rent and being able to eat are nice, and they're the direct result of monetizing something

I think he was referring to your insistence that showing an actual working product to someone in no way demonstrates your job potential as a programmer unless you already have a business running around the product with paying customers. The idea that paying customers demonstrates one's programming abilities is laughable. "If you build it, they will come," is a phrase best left in the theaters.

Not to mention creating a product that is great does not in and of itself generate a customer base. You have to use your business/marketing acumen to get that. And in a lot of cases, you can cover up your lack of programming skills by over compensating in the business or marketing areas.

Having a working product with positive customer feedback is no Kevin Costner Hollywood gimmick; it takes tons of hard work. 'If you build a good product that can attract users, you'll have an easier job of convincing potential employers of your usefulness' is the only point I'm trying to get across. Do you disagree with that notion?

I'm perplexed and somewhat disturbed by what I interpret as an assertion that creating a successful product indicates a lack of software development skills. Am I misunderstanding you?