Hacker News new | past | comments | ask | show | jobs | submit login
Inexperienced doesn't mean stupid (eftimov.net)
68 points by fteem on Sept 29, 2013 | hide | past | favorite | 41 comments



1) Inexperienced Joe's most pressing problem as a result of inexperience is attempting to find a job by looking at job ads. Joe does not yet know, but should learn, that most jobs in fact have no associated ad, and that jobs which do have ads are disproportionately jobs you do not want to apply for. Instead, Joe would have been better off attempting to get his name in front of people who have the authority to hire junior programmers, who are a) legion and b) overwhelmed with their current inability to source candidates who are capable of producing working programs/systems/etc.

1b) Not posted job description anywhere accurately represents all parts of the job, and for the right candidate, companies are willing to ignore virtually anything. The right candidate is "anyone who can convince the decisionmaker that they're the right candidate." Decisionmakers at many companies value grades a lot less than Joe, in his inexperience, believes they do.

2) There actually do exist many companies which invest, heavily, in being the first job you'll ever have. Fog Creek and Matasano spring to mind, and I'd work at either. Both of them do it in part reaction to the fact that if they didn't experienced talent would be available too infrequently and priced too high for them to hire the quantity which they want to hire, which strikes me as a common enough problem that other companies probably adopt quietly the policies those guys adopt publicly.


Adding to (1b): it's not just that companies will ignore some aspects of the job description as posted. For some companies, that description isn't intended to represent the expected contribution of a single employee -- if you read between the lines, it might be a description of a new team or of a new long-term initiative. The company might post it as though it were a job opening for an individual out of laziness, out of ignorance of what skills are actually needed, or in the hope that one magical developer will be able to do everything on their wish list.

Ultimately the company will want most, if not all, of the listed skills covered. However, if you can convince decisionmakers that you can successfully start addressing a subset of their needs today, as `patio11 says, then the company may recalibrate their posting to find someone (or multiple someones) to cover the remaining duties or provide training to you (or to existing staff) to shore things up.

The lesson is not to take a job description at face value. Setting aside the fact that some postings are written by people who don't actually understand the role, companies will always try to hire the most talented people for the least amount of money, as they ought to. But if hiring that one mythical ultra-developer is "shooting for the moon", then hiring someone who can effectively make inroads into the company's growth areas is "landing among the stars".


I totally agree. I'll add that Joe should first ask his friends working at tech jobs if their companies are hiring. "this candidate is respected by someone we employ and know is good" is actually the most important criteria for the decision maker. I was hired that way.


In regard to #1, this goes back to Joe having not attended a great school. The MITs and Stanfords of the world have career fairs with all the top employers in attendance. If Joe went to a public university in his home town, chances are good Joe's not going to come out of college with a good network so that he won't have to search job ads.

I agree on #2, and it's a shame more companies don't hire this way.


>that most jobs in fact have no associated ad

so what should he do then; go into google maps and drop off a resume at every nearby engineering firm?


No -- you might as well drop off a ream of paper at the recycler's, as that would cut out the middleman.

It isn't difficult to meet people who have authority to hire people. Go to meetups/tech events/conferences in your area. Demonstrate value; ask people if they/their firms are hiring or if they know anyone who is. Some people who go to meetups/etc do not have hiring authority, but they often know who in their organization does -- ask them for a warm introduction.

There exists a series of tubes between every engineering candidate and every firm which hires engineers. It isn't like there is a Super Secret Hacker News For People Who Actually Hire People. Same HN. Same Twitter. Same email (probably your best bet for a cold contact). Same phone system. Same Github.

(Passively adding stuff to your Github is a low ROI way to get offers. Find a project managed by your target company, fix a bug or send them a pull request, then try to escalate to a discussion with a decisionmaker in engineering -- coffee or a Skype chat or whatever.)


This is excellent advice. Any thoughts on perhaps doing a tutorial series on how to better connect yourself with hiring decision makers? Similar to your web app training.

Disclaimer: I'm a subscriber on your mailing list, watch your videos, etc.


That's more of Ramit Sethi's beat than mine. FWIW, I think he has really good advice on it.

In terms of why that doesn't make a huge amount of business sense for me:

1) I'm pretty busy (and behind on current commitments due to illness), so adding a new product line seems like a poor decision at the moment.

2) In general I would prefer to go up the value/sophistication chain rather than going down it. No offense to people looking for their first job or a career upgrade, but the amount you're willing to pay for that is not nearly the amount of money a software company CEO will pay for a $X million bump in sales, and I know I can successfully deliver that in at least some form factors. It's also likely worth less than nailing my response to this RFQ from a hospital chain for telephony services. (I write for non-monetary reasons, too, but things have to catch my fancy for that and job searches mostly don't.)

3) I'd generally prefer to talk about things I have experience in doing rather than things I don't. While I can do some extrapolations from experience, first principles of marketing, and things I know from industry participation, when it comes down to it I have a lot more experience selling software than I do on either hiring or getting hired as a FTE at (American) software companies.


That's actually a pretty good idea (and I am being serious). These firms are always looking for good engineers (I didn't say "experienced") and have a hard time finding ones. This is especially true for smaller companies that don't have very strict hiring process.

If a guy walks in my company's lobby to ask if we are looking for engineers, I'll certainly give him an interview.


There's an element of a collective action problem going on: why train your employees when they will most likely be gone in 3 years or two years or six months? Even if you retain half of them, you're still spending time training the other half---training that will reap you no benefit, and may even end up helping your competitor.

People take better care of things they own, and higher employee mobility means that companies "own" their employees less than before. As such, investing in them just yields less return than it used to.

That doesn't mean I think we should go back to the bad old days of cradle-to-grave BigCo---rather, I think the author doesn't realize that's what drove the "good old days." Be careful what you wish for.

All that said, the author is correct in identifying the problem of a future shortage of senior developers.

But shortages are not a problem if you control the supply. Become a senior dev anyway, if on your own time. Learn to market yourself. If you think a shortage is coming, profit off of it by investing in yourself.


Wow, that's a good point I hadn't realized before: if we make it harder for people to switch jobs, then companies will be more eager to hire people without experience, and will invest more in their education. Yet another reminder that economics is unintuitive...


What happens if you don't train them and they stay?


Then the productive ones (whether through self-training or hard work or both) rise to the top while the others don't. It's true that they may be less professional in the solutions they create, but that's a hard thing for non-technical people to identify.


The problem is that for every Joe who has no experience but can program there are 100s others who have no experience and cannot program. You will learn this as soon as you decide to hire a junior and teach him or her. And then what will you do?

Even phone screening takes time. It might take just as little as 5 minutes to fail somebody on a phone screen but with all the set up and scheduling you are unlikely to process more than a dozen screens per day per interviewer. And people passing such a short phone screen are not guaranteed to be fit even for a junior position. A face to face interview takes even more time and money. Eventually you need to cut your costs.

As for the observation that most vacancies have hard requirements... The vacancies that don't get closed very quickly so the most vacancies you see are the ones that are looking for people who are hard to find.


I get offered and x-number of juniors per month. I don't need to advertise for inexperienced juniors. And most of them come via internships anyway. As a consequence, I don't spend money or effort advertising junior positions.

Average Joe needs to be more pro-active in selling himself to companies he wants to work for. Job postings in general are more a description of an ideal than a list of cold hard requirements. What he has to do is decide if the future version of him wants to match that description and sell the shit out of that.

From what I gather, Joe has been applying to exactly the wrong job postings, those that look for people fresh out of school and select on grades.

Also, you know all that experience and those technologies listed in those job postings? We know you don't learn that shit in class. We certainly didn't. So if you read between the lines, you'll see the real #1 criteria: be pro-active and never stop learning.

Despite all the HR horror stories, expect most hiring managers to be able to tell the difference between "I've had two years experience with X because my last boss made us do it" and "I've spend the last two months teaching myself X because it is awesome". Guess which most of us prefer.

Average Joe needs to grow some balls to break into the industry. Most professions have it way worse. Try talking to an actor.


One the best accidents in my life was getting a student job. Without the 'years of experience' it gave me, I don't think employers would have given me the time of day. With it, I did get the time of day and most places cared more about the work I'd been doing than the grades I'd been getting.


This is the only route I know of to get past the absurdity of "entry-level" job descriptions requiring 2–4 years experience.


"Entry-level" job descriptions that require 2-4 years experience don't actually require 2-4 years experience. They require no experience but the gumption and savvy to recognize that what the employer's actually testing for is your ability to read between the lines in what they ask, learn what they value, develop skills quickly, and market yourself well enough to convince him you have those skills.

Pretty much everyone in the field knows that you can train an enthusiastic and reasonably intelligent newbie up to a useful junior dev in about 2 months. What they don't know is whether you're an enthusiastic and reasonably intelligent newbie. The skills I mention above - reading your boss's mind, learning things you don't know, and convincing people to take a chance - are far more important than any technical skills you can learn.


I guess that is probably the easiest route, but definitely not the only one.

Work on a couple of projects, alone or with friends. Learn new stuff on your own. Be confident. From my experience this works like a charm.


> But, our guy Joe knew that he is capable of learning fast and working his ass off if he was given the chance. Chance. Yes, he located the problem – employers do not want to give chances.

You can't be expected to get a job by saying "I know my grades are bad but I can learn!" You can get a job by saying "I know my grades are bad but look at all these projects I finished that show I can produce." Don't blame the companies or the job market. You have to make the opportunities come to you.


If you have projects that show you can produce, why waste your time with an employer? You used to be most vulnerable right out of college when you had to find an employer to take you. Now, with how difficult it is to find employment straight out of school, it becomes an easier choice to freelance, do your own startup, etc.


Usually "I needed the money" is the common justification. Those other options can't guarantee to start supplying you an income in time to not lose your apartment.


http://www.theatlantic.com/business/archive/2013/02/heres-ex...

45 percent of college grads move back in with their parents, and I'd argue have more time to get their cash flow together vs having an apartment.


"Last, but not least, how on Earth do they (employers) think that they can grow their company if they don’t train juniors? If you do not hire juniors, in ten years there won’t be any seniors left to hire."

I think that this article has identified a serious risk here. Who is going to want to major in CS in the future if they know that the odds of getting an entry-level job in their field when they graduate are getting worse and worse?


Are they getting worse and worse? I haven't seen anything to suggest that...

Unless you're extrapolating that because there are more CS majors, there are more potentially employees for a limited number of jobs. But considering that the world keeps needing more, and specialized software, the number of jobs is also growing.


> Who is going to want to major in CS in the future if they know that the odds of getting an entry-level job in their field when they graduate are getting worse and worse?

All the college students are taking these as internships. Then, if they like the job, they work there.


Senior dev here who wasn't even a CS grad.

I got experience by finding a job with someone that didn't require experience- they were ok with a certification. After that, I used experience and connections to find jobs. Usually they just fell into my lap.

Today is different. But I'll give you a hint: either co-op or take a job in some sort of related field part-time in college if you can and network. Networking no longer means attending club meetings or being a douche who tries to sell himself to others during social/networking events. Instead it means coding at meetups, etc. with others. It means getting involved in open source projects that people actually use a lot- the same people interviewing for jobs that you're applying for.

No one is going to just hand you a job. We are now churning out kids to college who got trophies just for playing sports. You don't get a job for finishing college anymore. And getting jobs without having experience has never always been easy. But if I did it without even having a relevant degree many years ago, you can do it with a degree now.

If you suck a interviews, practice. If you get nervous when you speak, join Toastmasters. Actually do stuff like coding up applications for things you are interested in. Maybe you have a steep hill to climb, but you can do it. I'm not saying it is easy. But there are enough jobs out there that if you don't get one, you are either (1) in the wrong place (move to another tech hub city) or (2) you have a deficiency you need to work on. There are jobs for people right out of school. I know because I know people that have gotten them while in school, and they are set when they get out. Stop just taking classes like that is enough. It isn't.

So- of course inexperienced doesn't mean stupid.

But it does mean: unexperienced. Get some experience.


I got my first dev job with no job experience, no degree, and no real portfolio to speak of.

Of course, I had been coding on my own for over a decade, was well read, and came with a wealth of other experience that was being looked for and was hard to find in a developer.

I also had a break in that in my previous job, knowing my goals, I spent most of my time developing tools to help the company out. It wasn't a developer position though and I was only in the role for two months.


I picked up a stupid book in a discount store when I was 20 called "Don't send a CV". It was full of unconventional ideas of how to get attention with intelligent ways. The pay-and-spray idea of resumes doesn't work for people generally, and as much as that dinky book was a dinky book and in a $1 bin at a discount store... it had a point.

Jobs are very much based on your location (i.e. in Australia there are way more tech jobs in Melbourne and Sydney, if you live in QLD, SA or WA you'll have a much smaller selection of places to work, thus less opportunity, some kinds of companies don't even exist on the fringes, and for example in AU the whole mega-corp silicon valley guys hardly exist at all!).

Welcome to capitalism. Job availability is a function of the markets, you gotta make yourself useful for the people around you otherwise you're screwed, and maybe we should be teaching people how to build businesses, albeit SMALL EFFECTIVE ones, not some disrupt-to-flip but something to pay for the kids and the two cars and living expenses. Nobody owes you anything, especially a job, and markets have said thus.


The way we think of junior/middle/senior developers is completely broken.

How many senior developers have you met, that we crap but were senior simply because the amount of years they have gained? And vice versa.

If entrepreneurs straight out of college can suddenly become the CTO of a start up and lead it success without any previous experience, what does that mean for the experience metric?

Experience is like market validation. If you have lasted years, you must be able to do something but it doesn't necessarily mean they are good. It just makes them a little more safe to justify, and I can't believe the amount of premium which is placed on that.


We never run job ads for positions in our product team. In fact, we never have any open positions in that team. Instead, we have a very organic process of interns becoming employees.

Yes, it is slow. And we only retain one out of three - one drops out (of internship), one leaves for greener pastures shortly after graduation, and one sticks with the company for many years producing tons of value.

Any students reading this, find yourself a solid internship position as early as possible and you won't find yourself in Average Joe's shoes as Ile put it.


This is a pretty common complaint among recent college grads. In my experience (both from the hiring and getting hired side) just because you don't have x years of experience in y doesn't mean don't bother with applying for a job that requires it. A lot of times those requirements are based on pretty minimal communication between the hiring manager and the HR person, and represents a bunch of qualities that the hiring manager would like the job seeker to have, but that doesn't mean that they're not willing to interview someone who lacks some of them. Resumes from recent grads are often looked at in a different light and aren't held up to the same standards as someone with 10 years of experience behind them. Apply anyway, be totally open about what you do and do not know (don't try to BS anyone, in other words), and you can still get some of those interviews and might get one of those jobs. Alternately, they might interview you for the more experienced position, decide that they really do need that experience for that position, but also decide that they like you and offer you a junior position instead.


I have friends who work for artistic stuff in the video game industry. Telling good from bad in their domain is practically even harder than screening CS candidates. Every job there is, they ask for a portfolio of projects. From day one of job hunting, they need to be able to show something to a company.

While it isn't mandatory in software, being able to talk about something at any point during the interview process is a HUGE plus.


It took me 3 QA jobs and a very good manager to get my programming career off the ground, so I can completely relate to the message of this blog.


For the most part I was an average Joe during school and after graduating. But I was only average because I didn't take school seriously, and I missed out on learning a lot of cool and/or basic things because of that, along with some awesome sounding jobs because I wasn't able to impress the interviewers. I started taking my career more seriously a couple months after graduating when I realized things wouldn't be handed to me anymore and taught myself a lot of things I missed while doing some extra projects. Eventually, and it was a painful wait, I found a junior level job by really impressing my interviewers. They exist and aren't hard to find if you're looking, especially if you're as good as you think you are. Very few companies asked for my gpa before interviewing, if the asked at all.


That's one problem that Launch Code[0] (a non-funded, non-profit community effort spearheaded by Jim McKelvey, founder of Square) is trying to solve. They grab a bunch of developers with little experience, a bunch of tech companies who both have and need experienced developers, and put the new developers in pair programming positions at the companies so that the developers gain experience and the company gains a developer.

The company I work for is participating, I'll be the experienced developer that is the primary pair, and I'm excited to see how it will unfold.

[0]: http://www.launchcodestl.com/


I don't get this. At all. The guy is in Macedonia, which might be his core problem.

switching to the bay area, the situation is vastly different.

We're constantly looking for coders. We had a summer internship program with astounding interns. We hire a mix of junior and senior coders. We have a full time college hiring person. Last week we had a developer open house event to show interested coders our company and products.

Problem? We're on the other side of the Bay.

"Boring" Alameda County. Workday is here, Oracle, SAP, ServiceMax, etc. All hiring.

If you can't find a job as a developer in the Bay area, it's you.


> I don't get this. At all. The guy is in Macedonia, which might be his core problem. switching to the bay area, the situation is vastly different.

Switching to the bay area is NOT an easy thing to do for someone that is not from the USA. There are a lot of open positions across Europe as well, but, most of the countries have really tight immigration rules (visas, work permits, etc). To move from a third world country to an advanced country (USA, Germany, UK, whatever) you have to be exceptionally good. Not Average Joe.


Everyone is constantly looking for coders pretty much everywhere in the United States. There is absolutely nothing special about the Bay Area in that regard.


unfortunately it can mean over-confident, though (or simply not understanding how clueless you are?)... we had a nice guy at work - young, friendly, ambitious. got some weird vibes a couple of times when i tried to help him out with problems, but thought little of it. then he leaves and i have to maintain his code. why the fuck didn't he ask for help?

and yes, this implies something about the company culture needs to be fixed. the blame certainly isn't all his.


Also, experienced doesn't mean rigid.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: