Ask HN: I'm an 18 year old programmer; How do I get a job?
When I was 14, I started working at my Dad's workplace (he a mechanical engineer) doing embedded electronics design & programming. I did that until early 2009. I had to quit that job since Dad retired and we moved away, but since then I've been doing freelance web dev & programming (Python). Unfortunately, because of my lack of connections, I can't really find enough work.
I realize that I'm no where near as good a programmer as most of you guys, but I think I'm a reasonably good Python dev w/ a lot more experience than someone fresh out of school. So, how do I get a job? How can I convince HR to look past my lack of college and to my actual programming skills? Right now it seems that any job I apply to doesn't even reply to my email. Any help would be greatly appreciated.
66 comments
[ 4.3 ms ] story [ 146 ms ] thread- Blog on your work, what you do, problems solved, lessons learned.
- Build a online resume or portfolio. Languages uses, screenshots, code samples
- Get a LinkedIn profile, and get people that you've worked for (or with) to write up a Recommendation.
When job hunting, ignore HR. Research the hell out of the company and find out who the manager/director is who'd have the main say in hiring you or not. Reach out to them directly and introduce yourself. Provide direct links to blog/online resume/portfolio and why you'd be a great fit.
In addition, if you are in a position to do so, offer to intern for free at a known company/design-shop/etc for a few months for experience. Insist on real work and not just making coffee.
Best of luck.
3) http://www.linkedin.com/in/crgwbr
Thanks! I'll try going around HR to get to the top. As far as unpaid interning, its not really possible since there is absolutely no work where I live (middle of no-where, western PA). I'm not opposed to relocating, but relocating for unpaid work is tough.
Just put yourself up on elance / rent-a-coder, use that to build a portfolio.
Firstly, you might not be creating stuff that you will want to put on your resume/portfolio (my experience from that world is clients who want hacks and weird specs).
You will also find that going rates are pretty low because you are competing with off-shore labour (this is not a rant against off-shore, just an observation that this is how common markets work)
I guess you can't compare remote to local SF, but $100-$125/hr is a good rate for devs here.
Obviously being here helps but it is just as hard anywhere you go. Going to college is going to be your best option.
Moving to a major city won't hurt either.
I earned my new job directly as a result of my new employer discovering me through my blog and I won a lot of contract work to help pay bills in college as a result of the projects I posted on my blog.
Think of it as a way to differentiate yourself from everybody else by showcasing your unique experiences and learnings in a way that's expressly you.
Plus, it's illegal is most places to work on "real work" if you're not getting paid.
I second this. Part of my assignments the final semester of college was to intern in an IT related business. With no previous contact, I was able to get an internship paying a bit more than minimum wage.
It was invaluable experience. Not to mention that once the internship was over I had a great job just waiting for me to say yes. :-)
Working for free is a great way to build your portfolio of projects and get some "experience" to put on your resume. Go find a startup or small business and basically tell them you can build stuff for them for free for a month. After that period, if they like you then they need to hire you full-time.
However, I do agree there is a fine line between doing this for portfolio/resume building and being used for bitch work.
The way this is phrased seems to imply that the person doing the work is doing something illegal. I believe that only the employer is violating the law in this case.
It's an important distinction: if you feel the arrangement is in your interest, the illegality is the employer's problem, not yours. That said, if you can actually produce working code, your time is valuable and you should not work for a for-profit business without appropriate compensation.
2nd have you actually had a getting past HR problem? Most job ads I have seen would consider 4 years professional programming experience the equivalent of a degree and should give you a shot at an entry level position. On the other hand they may be trying to type cast you as an embedded programmer and passing over you for that reason.
Your resume is all about experience. Some people care very much about what companies you work for, but as you're getting started, what projects you work on is the best you have.
Build a simple product and launch it. Find an itch to scratch, to the HTML/CSS, user signups, backend code. It's unlikely anyone will use it but it's great experience and it's something tangible that interviewers can look at.
Contribute to open source. What does your Github profile look like? How networked with other developers are you? The best job is the opening at your friend's company, where he can put in a good word for you.
Move to a tech hub. In Los Angeles both software companies I worked for hired 18 year olds at one point or another. (The last 18 year old I worked with was also quickly fired because he couldn't maturely handle the work, but that's a different discussion.)
Apply everywhere. Whether you are over-qualified, under-qualified, would need to relocate, etc. This phase of your career is largely a numbers game. Get your name out there, get good at writing a cover letter, interviewing, etc.
1. They'll be more responsive.
2. If you do well, they'll keep you full time in most cases.
* Create a portfolio of your work (some of which may have been created just to show off your skills)
* Establish your own personal brand online, under your real name, with a video of yourself talking about your services (this sets you apart from the Indian and Hungarian chop shops).
* Get incorporated.
While it may still be difficult to get that interview without a formal education, this will at least make it easier once you get there.
(Two places to start: Introduction to Algorithms by Cormen et al and SCIP (available for free online))
Something that will help a little quicker is to have a portfolio. Show GOOD code that shows you know how to handle security vulnerabilities and have good design, as well as have coding standards that you adhere to. Ideally, the code should be the same as the job you are applying for, but good code speaks for itself no matter the job.
Ace the interview. Know what they're talking about when they ask about design patterns and be able to name and recognize them, etc etc. The more questions you answer quickly and confidently, the better.
I'm a dropout and I believe a portfolio is really helpful. Get a showcase together of some of the stuff that you've built and show that you're passionate about what you do. Especially because it's your first job you're going to have to be creative to get past HR if you're targeting a bigger company. Another thing you can try is to see if you can get an internship in a company. This way you can check whether you actually are good enough and there is a high possibility that you'll be hired if you do a good job.
Also, get a LinkedIn profile up with accurate information.
You'll get work if you keep at it. Like all sales, its a numbers game.
Enough about me...for you, all I can tell you is how I personally did it. I created a nice portfolio of all the work I had done over the previous years. I then applied to so many jobs that I became a pro at writing resumes and cover letters custom-tailored to the companies I was applying to. The one's that I heard back from were the small companies, with 5 or less employees on average. The company that hired me was 3 people before I got there. Start small.
Oh - and go to school - getting a CS degree will help you in ways you can't even understand. It took me 8 years to get mine because I worked full time (as a programmer) the entire time I was in school - still worth it - and since I was making money I was left with very little debt when it was all said and done.
If you're not opposed to relocating to the DC area and working primarily on the JVM, send your resume my way (gmail, luke dot vanderhart). We're a consulting company hiring junior developers. You'll have the chance to work on some pretty high-end government projects, and if you're worth it you will advance nicely in the company.
edit - That's salary, by the way, for salaried positions. Billing rate is an entirely different kettle of fish.
Also, get active in open-source projects. Submitting patches to projects you love on github is a really easy way to get yourself noticed.
Anyway, a few things:
- You're not going to get a reply from many/most jobs you apply for. This isn't necessarily you. It's just the way it is.
- This is just a hunch, but I think you're going to have more luck with smaller companies and startups than with big companies that filter all applicants through an HR department first.
- Don't sell yourself short. I got tons of applicants with Comp Sci degrees who are totally clueless. I would consider someone who is smart but lacks a college degree without any hesitation. Apply for jobs even if the requirements say "BS Degree."
- Send a letter/resume to companies you'd really, really like to work for
It sounds like your problem isn't your lack of qualifications or your lack of connections; but the fact that while you have identified that connections can be a good way to get work, you (appear) to have decided not to make the effort to start building them.
First, don't worry about not being as good as "us". Most likely we're not applying to the same job as you, and most likely we're not looking for a job at all. Most resumes I get, and interviewees I interview are absolutely awful. The bar really isn't very high, you just have to get to the phone screen.
So how do you do that? Build something real and be able to talk about it. You need to be able to point to something and say "I made that". It can be open source or it can be your own website, a free mac app, iphone game, whatever. Then, focus your applications to job postings that align with your skills and background, and write a cover letter about the thing you built. The cover letter will help the reviewer overcome the lack of experience on your resume. Most job postings ask for someone with n years of experience. Ignore that, just ensure that they are looking for a junior person so you don't apply when they are really looking for a senior person.
Focus on smaller companies. Big companies have HR departments that review resumes and they primarily look for x years of experience with J2EE blah blah blah.
Be willing to take less money than someone with experience if all else fails. There are a ton of people out there that want to hire a programmer, but don't want to pay $70k for a junior developer. If all else fails, go to one of these places and make 40k or whatever, and within a year you'll have job experience on your resume and you can easily get a new job for more money.
And make friends at those places, don't be the unapproachable guy coding away in the corner. It matters. A lot.
I'm effectively earning 2-3 salaries right now because of contract side gigs for former colleagues.
Despite what some say, college is good for most people and will help round you out as a contributing member of society. I put myself through college as a part time developer and had more fun than I can remember.
Make sure you know enough to get into the cool CS stuff. Don't assume that SW development gives you a CS background. One informs the other.
Granted, I don't know much about compiler design and the like -- but all of that would be theoretic for me in web development. Instead everything I know is more practically orientated - real skills directly related to web development etc.
Whenever I've needed to learn something, a few days reading has quickly groked most stuff for me.
Some tips:
* If you don't have quality code on GitHub, change that. Fork something that interests you, hack together your own small-but-cool project, etc.
* If you're not in a tech hotspot (the Valley would be best), consider moving. Most companies want full-time workers to be on-site. It's probably better if you can move now, that's probably better, but you should definitely be willing to apply to jobs in the Bay Area and move if you get one.
* Startups that are pretty early in their lifespan are usually pretty open to hiring people without degrees. Apply to a bunch of them. Do the YCommonApp[1]. Apply to every python job at on HN's jobs page[2]. Look at other job boards that are heavy on startup jobs--Github[3], Startuply[4], etc. We're in a field with a huge demand for labor. If you're capable and apply to enough places, you will find something.
* Network--a lot of people get jobs through acquaintances. Even if you live somewhere lame, networking is still quite possible. If you fork a project and provide a string of quality patches, you can easily build a rapport with the maintainer. If the maintainer knows a lot of other people in the Python community, he probably always knows at least one person who's looking for a good Python hacker.
* Put your email in your HN profile. There are probably several people who will see this thread and want to shoot you an email with opportunities.
1: http://ycommonapp.com/
2: http://news.ycombinator.com/jobs
3: http://jobs.github.com
4: http://startuply.com/
When you are 18yo school is really important, not to be paternalistic here, you have all the time to really figure out what you want to be in life. If you were founding a startup with friends I would say go for it; if you parents support you I will say go to college please.
I did eventually finish high-school, but I never went on to university or college for computer science. Things have been good without it: I'm a firm believer that anything you want to know you can learn on your own (the compiler is a good TA and the Internet a great teacher). However, in todays rat-race I'm kicking myself in the ass. Five years of experience and no one will believe that I can actually program anything. Even the most mundane programming jobs building PHP websites will probably ask for a CS degree.
It's an uphill battle if you want to go against the mainstream. It can build character if you're up for it, but be prepared to lose a number of battles. I only recommend it if you're comfortable being independent.
But I also know now that you have no idea what you want when you're 18. You'll change your mind in a few years no doubt. I recommend just doing what you want and getting on with life. Maybe even forget the career thing and just focus on partying or travelling or something.
i will tell you. it doesn't even matter if you can read.
some 3 people show up to interviews, one get hired regardless of anything.
oh and it also doesn't matter if the contract is for some 2 or 3 months. you will be there for at least 2 years if you want to.