Ask HN: No money, can't find any jobs, what am I doing wrong?
8 comments
Well, to be cold-called/invited to a job interview you have to be
a) known b) pretty damn good, but that's related to a.
Don't expect employers to flock to your door, seek them out pro-actively! All my previous jobs were found with me looking up places I'd like to work for, emailing my super polished CV to them, getting invited and passing their screens. I don't know about "a lot of employers looking for github", maybe the places you're targeting?
My experience - most of them don't even know what git or github is, yes, even in the web development space.
My suggestion is this: do it like most people - find places around your area you'd like to work for, craft a CV targeted around that job's requirements, but don't lie. Think of it as CV SEO or whatever. Email - wait for answers.
It's very important to have a unique CV for every employer you're targeting.
Assuming you know your stuff, you'll have no problems passing the screens.
Oh, and about learning RoR or Python - learn that only if you want to yourself, because there's still many many places offering PHP work, it's not as hip as some people would like you to think, but not as bad either.
a) known b) pretty damn good, but that's related to a.
Don't expect employers to flock to your door, seek them out pro-actively! All my previous jobs were found with me looking up places I'd like to work for, emailing my super polished CV to them, getting invited and passing their screens. I don't know about "a lot of employers looking for github", maybe the places you're targeting?
My experience - most of them don't even know what git or github is, yes, even in the web development space.
My suggestion is this: do it like most people - find places around your area you'd like to work for, craft a CV targeted around that job's requirements, but don't lie. Think of it as CV SEO or whatever. Email - wait for answers.
It's very important to have a unique CV for every employer you're targeting.
Assuming you know your stuff, you'll have no problems passing the screens.
Oh, and about learning RoR or Python - learn that only if you want to yourself, because there's still many many places offering PHP work, it's not as hip as some people would like you to think, but not as bad either.
I would add something that I guess is implicit in karolist's answer: I would not worry much about whether or not they are advertising a job. If they are, great! Apply for it. But if they aren't, poke around the company, find someone's e-mail address, and send them a CV and a letter which tells them that you understand specifically what they do and are interested in their company.
95% chance, they delete your e-mail without taking it seriously. But that's okay. (.95)^100 is small.
95% chance, they delete your e-mail without taking it seriously. But that's okay. (.95)^100 is small.
I should clarify, I am currently sending my applications/website (with intro) to jobs I find on craigslist. While this isn't the seeking out you suggest, I am not waiting for jobs to fall into my lap.
Don't write a cv/resume.
This advice applies to any person that is effectively "unknown" in the tech scene - that's 99% of us. A cv is useless for conveying who you are and what value you bring relative to all the other thousands of people out there. A paper is a paper is a paper.
Therefore the first crucial piece for us unknown developers is to have Open Source projects on GitHub.
Companies don't want to see a GitHub profile because they love GitHub. GitHub profiles show _exactly_ what you can do, and provide proof that you've actually done it, as well as the how, why, when, and where.
You have to understand how powerful and uncommon it is to have working software out in the wild that a) works, and b) is Open Source for everyone to see.
a) is important because all employers need a person who can ship ; a doer. b) is important because it is proof of your knowledge and skillset. This includes design decisions, documentation, git commits, api documentation, design patterns, proper testing, and so on.
You are doing yourself a disservice by not having projects on GitHub, not because it's trendy, but because it is the only credible, fool-proof, tangible way to measure someone's coding ability _at a glance_. By the time anyone invests time to have you answer programming questions or code on a white-board, they are already interested in you, so this is about getting them interested in the first place.
"Hello I am Salvatore Sanfilippo, I created https://github.com/antirez/redis
You see how completely badass that is?
The next crucial piece for we unknown developers is honesty.
I think a good software developer gets stuff done. If they don't know how to do something they can learn on their own. They are motivated to keep learning and keep doing a better job because they are passionate about their work.
I think employers agree with me and they look for this kind of candidate.
Therefore if you love programming, just be honest. If you don't know some things, just be honest. If you really want to work for _____, just be honest. If you think you are not good enough for a particular position but you really want that position, just be honest.
I think having an honest conversation with a tech-lead at any company will go millions of miles beyond submitting some piece of paper to HR.
Just be honest.
Are you looking for a job doing javascript? Think you are good at jquery but want to get into more complex stuff like backbone?
The problem is they don't know you and you don't know them. So offer to intern, offer to come on board for 2 months to prove yourself.
Software is a great field to be in, because its largely merit based. So use that to your advantage.
But you can't prove yourself through words.
You have to show it and do it.
best of luck.
This advice applies to any person that is effectively "unknown" in the tech scene - that's 99% of us. A cv is useless for conveying who you are and what value you bring relative to all the other thousands of people out there. A paper is a paper is a paper.
Therefore the first crucial piece for us unknown developers is to have Open Source projects on GitHub.
Companies don't want to see a GitHub profile because they love GitHub. GitHub profiles show _exactly_ what you can do, and provide proof that you've actually done it, as well as the how, why, when, and where.
You have to understand how powerful and uncommon it is to have working software out in the wild that a) works, and b) is Open Source for everyone to see.
a) is important because all employers need a person who can ship ; a doer. b) is important because it is proof of your knowledge and skillset. This includes design decisions, documentation, git commits, api documentation, design patterns, proper testing, and so on.
You are doing yourself a disservice by not having projects on GitHub, not because it's trendy, but because it is the only credible, fool-proof, tangible way to measure someone's coding ability _at a glance_. By the time anyone invests time to have you answer programming questions or code on a white-board, they are already interested in you, so this is about getting them interested in the first place.
"Hello I am Salvatore Sanfilippo, I created https://github.com/antirez/redis
You see how completely badass that is?
The next crucial piece for we unknown developers is honesty.
I think a good software developer gets stuff done. If they don't know how to do something they can learn on their own. They are motivated to keep learning and keep doing a better job because they are passionate about their work.
I think employers agree with me and they look for this kind of candidate.
Therefore if you love programming, just be honest. If you don't know some things, just be honest. If you really want to work for _____, just be honest. If you think you are not good enough for a particular position but you really want that position, just be honest.
I think having an honest conversation with a tech-lead at any company will go millions of miles beyond submitting some piece of paper to HR.
Just be honest.
Are you looking for a job doing javascript? Think you are good at jquery but want to get into more complex stuff like backbone?
The problem is they don't know you and you don't know them. So offer to intern, offer to come on board for 2 months to prove yourself.
Software is a great field to be in, because its largely merit based. So use that to your advantage.
But you can't prove yourself through words.
You have to show it and do it.
best of luck.
This is ridiculous advice unless you are only going to apply to very small companies where you will only be talking directly to other programmers, very few recruiters / hr people are going to care about your github projects and for a company of more than a few people you are probably going to have to get paste one of these people first. You need a resume to get you in the door then you can bring up your github work later on.
Thanks a ton, I am setting up a github as we speak.
toss some contact information in your profile. I'd like to email you.
^^ Don't take this advice. For every startup that doesn't care about resumes there are 20 or 30 just regular companies that need someone to write line-of-business apps and their HR department -- the people who will be your first contact -- do care about them. What they don't give a shit about is your github commit log. Now once you make it past HR and are speaking to actually coders that you might be working with, having code samples is excellent. But if you need a job, you need a resume.
To each his own I guess.
I disagree with the premise of "the resume". A resume is meant to distinguish you from other candidates. That line of thinking is very simply flawed. How can you distinguish yourself from other pieces of paper - it doesn't make sense.
Secondly if everybody thinks "writing this resume is my best chance at getting this job" then you are willingly competing on the same level, in the same way, as everybody else. Why would you do that?
It's similar to applying to a University. If everyone thinks they need to get top scores on the SAT as well as 4.x GPA to get in then everyone will do that and the final result will be, granted, a smaller lottery pool but a lottery nonetheless.
It doesn't make sense. You have to agree that there is an upper bound on what you can do when you play by everyone else's rules. You can't score more than 1600 on the SAT so even if you do you are still competing against the 100's (thousands?) that did too. Same with GPA. Upper bounds are not your friend when it comes to saying "hey look at me".
You are right though, some companies just require a resume. No argument there. FWIW those companies are very likely not where I personally want to work anyway.
I got hired on to a YC startup with no college degree and just my github profile to show. Actually this company never physically met me in person, had no idea what I looked liked or how old I was at the time of hiring.
I've moved on to advance my career and can guarantee you I'll get another job without the use of a resume. I'm currently looking for my ideal company match though. I'll email you in the next couple of months when I land one.
To each his own.
I disagree with the premise of "the resume". A resume is meant to distinguish you from other candidates. That line of thinking is very simply flawed. How can you distinguish yourself from other pieces of paper - it doesn't make sense.
Secondly if everybody thinks "writing this resume is my best chance at getting this job" then you are willingly competing on the same level, in the same way, as everybody else. Why would you do that?
It's similar to applying to a University. If everyone thinks they need to get top scores on the SAT as well as 4.x GPA to get in then everyone will do that and the final result will be, granted, a smaller lottery pool but a lottery nonetheless.
It doesn't make sense. You have to agree that there is an upper bound on what you can do when you play by everyone else's rules. You can't score more than 1600 on the SAT so even if you do you are still competing against the 100's (thousands?) that did too. Same with GPA. Upper bounds are not your friend when it comes to saying "hey look at me".
You are right though, some companies just require a resume. No argument there. FWIW those companies are very likely not where I personally want to work anyway.
I got hired on to a YC startup with no college degree and just my github profile to show. Actually this company never physically met me in person, had no idea what I looked liked or how old I was at the time of hiring.
I've moved on to advance my career and can guarantee you I'll get another job without the use of a resume. I'm currently looking for my ideal company match though. I'll email you in the next couple of months when I land one.
To each his own.
Just because you did doesn't mean its the standard way things are done, for the vast majority of jobs (especially those outside of Silicon Valley), it just doesn't work that way, for some jobs it may make sense to take your approach but this approach simply won't work as a blanket approach. I know firsthand from having been around tech managers and these are even people who have worked as programmers, and the resume means a lot to them as far as their first impression of a candidate.
I am trying to set up my github and work on side projects as I really would like to work on a startup...however I never really know what to build, what to "hack", coming up with ideas for side projects is where I always fail, and when I do find something that interests me I find that I lack the skills to finish it and I lose motivation....
I really don't know what to do, should I focus on the fundamentals first algo's, data structures, linux, software engineering, compilers etc...or just start "building things" ? I am constantly amazed at people with so many repos on github(not forks) with so many interesting projects...where do they find the time? how do they do it? I can't compete with these people, looking at them I can't even call myself a programmer, I feel no passion could ever help me reach their level...I keep thinking I am either doomed to work for the rest of my life as a mediocre developer or I am going to have to switch careers.
I really don't know what to do, should I focus on the fundamentals first algo's, data structures, linux, software engineering, compilers etc...or just start "building things" ? I am constantly amazed at people with so many repos on github(not forks) with so many interesting projects...where do they find the time? how do they do it? I can't compete with these people, looking at them I can't even call myself a programmer, I feel no passion could ever help me reach their level...I keep thinking I am either doomed to work for the rest of my life as a mediocre developer or I am going to have to switch careers.
That's exactly why having completed projects on github (and actually working on a live website with a domain) will put you in the top 10% of developers. Isn't that a good leg to stand on when looking for a job?
I feel you man, it definitely isn't easy. One huge point to note is that HN is extremely biased view of the tech scene. We are bombarded with so many elite programmers and projects that we forget this only represents a fraction of the entire tech scene. This is GOOD thing. You want to be in the presence of elite company. But it's super important to not let it deter your motivation. It may look like everyone is ahead of you because they are. But so too are 100x more people behind you. In the end, it really doesn't matter.
I started the same way, hacking spaghetti PHP and being a really poor programmer - I just wanted to make a website to sell some shirts.
The best thing I did and you can do is just keep at it. If it feels like work then you are probably in the wrong industry. You have to have a passion for building stuff, that's what keeps me going. I never thought I'd be able to stand 8+ hours staring at a computer screen. But it's not about that is it? It's about being able to see your creation realized.
Anyway, I'm by no means an elite programmer, but I have a very active GitHub profile =) http://github.com/plusjade.
Email me and we can work on something together. I agree shipping a complete project from top to bottom that actually runs online is hard. I'm stubborn so I just willed myself into doing it. But everyone can use help so please take my offer seriously. Also put contact info in your HN profile.
look forward to working with you.
I feel you man, it definitely isn't easy. One huge point to note is that HN is extremely biased view of the tech scene. We are bombarded with so many elite programmers and projects that we forget this only represents a fraction of the entire tech scene. This is GOOD thing. You want to be in the presence of elite company. But it's super important to not let it deter your motivation. It may look like everyone is ahead of you because they are. But so too are 100x more people behind you. In the end, it really doesn't matter.
I started the same way, hacking spaghetti PHP and being a really poor programmer - I just wanted to make a website to sell some shirts.
The best thing I did and you can do is just keep at it. If it feels like work then you are probably in the wrong industry. You have to have a passion for building stuff, that's what keeps me going. I never thought I'd be able to stand 8+ hours staring at a computer screen. But it's not about that is it? It's about being able to see your creation realized.
Anyway, I'm by no means an elite programmer, but I have a very active GitHub profile =) http://github.com/plusjade.
Email me and we can work on something together. I agree shipping a complete project from top to bottom that actually runs online is hard. I'm stubborn so I just willed myself into doing it. But everyone can use help so please take my offer seriously. Also put contact info in your HN profile.
look forward to working with you.
Thank you for the offer...I will contact you.
While I agree that having a github is great for a number of reasons, I do not think it's a Resume/CV "replacement" when looking for "any" software job.
> A cv is useless for conveying who you are and what value you bring relative to all the other thousands of people out there. A paper is a paper is a paper.
True. Therefore if you're looking at integrating a Startup, it is great because educated developers might have the time to meticulously review every application. But when you're looking for a job, any job, especially in a more established company it doesn't work the same way.
Of course, if your github projects are "famous", say you created Redis (the 1% case), then it can act as a CV replacement. A replacement NOT because someone will dig into the actual code, but rather because they'll know you created this known thing called Redis (or they'll read about it on Wikipedia and realize it's a big deal)... so it's in a way your CV. But if your github only has random projects (which is the 99% case), it's actually quite hard and time consuming to jump into the code to evaluate an applicant's skill.
To better explain my point that a resume/CV actually makes the difference, let's look at it the other way around. Imagine you are a recruiter, you have 100 applicants, and you need to filter the list because you can't interview all 100 of them. Are you going to look into at everyone's repo?! No. Instead you will give a quick look at the CV to identify 'potentially' good candidates. Having a link to your github on the CV is a big plus at this point (independently of what it has), because it's different from most of the other ones (aka: you're special, more passionate about technology). Once the filtering is done, only then will you usually have the occasion to be heard through an interview. And it's at this point that you actually need to show you're real value.
Now I do agree that this system is flawed, but it's the game. If you want to maximize your chances, which you most likely do considering you have no options, you should play the game and get a solid cv/resume. Having said that, if you lack experience or content for your CV, personal projects (on github) are a good filler ;)
> A cv is useless for conveying who you are and what value you bring relative to all the other thousands of people out there. A paper is a paper is a paper.
True. Therefore if you're looking at integrating a Startup, it is great because educated developers might have the time to meticulously review every application. But when you're looking for a job, any job, especially in a more established company it doesn't work the same way.
Of course, if your github projects are "famous", say you created Redis (the 1% case), then it can act as a CV replacement. A replacement NOT because someone will dig into the actual code, but rather because they'll know you created this known thing called Redis (or they'll read about it on Wikipedia and realize it's a big deal)... so it's in a way your CV. But if your github only has random projects (which is the 99% case), it's actually quite hard and time consuming to jump into the code to evaluate an applicant's skill.
To better explain my point that a resume/CV actually makes the difference, let's look at it the other way around. Imagine you are a recruiter, you have 100 applicants, and you need to filter the list because you can't interview all 100 of them. Are you going to look into at everyone's repo?! No. Instead you will give a quick look at the CV to identify 'potentially' good candidates. Having a link to your github on the CV is a big plus at this point (independently of what it has), because it's different from most of the other ones (aka: you're special, more passionate about technology). Once the filtering is done, only then will you usually have the occasion to be heard through an interview. And it's at this point that you actually need to show you're real value.
Now I do agree that this system is flawed, but it's the game. If you want to maximize your chances, which you most likely do considering you have no options, you should play the game and get a solid cv/resume. Having said that, if you lack experience or content for your CV, personal projects (on github) are a good filler ;)
Good points all around. To respond to your main points:
"When looking for a job, any job..." Ideally we should find the job that we are most motivated to do our best work at. It's a win for both parties. So I would try to avoid "finding any job" if it all possible. Granted it's easier said than done but that's the whole point. You want a place that you can grow at and that you don't dread going to work everyday. I think that's super important for a healthy life. So we should definitely aspire to be picky where we do our work. Also specifically to the current tech industry ; we can be picky. There is a ton of money in a ton of different kinds of companies in tech right now. Take advantage of it.
Secondly, regarding the concept of having a GitHub profile. I agree, the simple fact of a GitHub profile existing is pretty meaningless. I do agree that most profiles have bash profiles, incomplete projects, and a ton of forks. Yup that is meaningless. I should state that when we talk about "having a GitHub profile" I necessarily mean having completed projects that you've created, from start to finish, and that actually run in the wild. A GitHub profile is simply the most relevant way to show of these kinds of projects. Sure you can link to the website your code runs on but I'd argue it's still better that you also Open Source the code so everyone can see your design decisions. You're right in that people aren't going to take the time to dig through your code, but what if the readme listed major stack components, and majore design decisions? Isn't that better than linking to a consumer-facing splashpage?
The key here as with anything, is that you market it correctly. A GitHub profile can be used to more effectively market skills and knowledge that a tech employer would be interested in.
I still contend that its actually better to not use a resume to get a job. This forces you to find some other way to make an impression with the company you are interested in. Granted you need to zone in on companies you are interested in and you can't apply the "shotgun" approach like you can with a resume ....
but isn't that the point!?
"When looking for a job, any job..." Ideally we should find the job that we are most motivated to do our best work at. It's a win for both parties. So I would try to avoid "finding any job" if it all possible. Granted it's easier said than done but that's the whole point. You want a place that you can grow at and that you don't dread going to work everyday. I think that's super important for a healthy life. So we should definitely aspire to be picky where we do our work. Also specifically to the current tech industry ; we can be picky. There is a ton of money in a ton of different kinds of companies in tech right now. Take advantage of it.
Secondly, regarding the concept of having a GitHub profile. I agree, the simple fact of a GitHub profile existing is pretty meaningless. I do agree that most profiles have bash profiles, incomplete projects, and a ton of forks. Yup that is meaningless. I should state that when we talk about "having a GitHub profile" I necessarily mean having completed projects that you've created, from start to finish, and that actually run in the wild. A GitHub profile is simply the most relevant way to show of these kinds of projects. Sure you can link to the website your code runs on but I'd argue it's still better that you also Open Source the code so everyone can see your design decisions. You're right in that people aren't going to take the time to dig through your code, but what if the readme listed major stack components, and majore design decisions? Isn't that better than linking to a consumer-facing splashpage?
The key here as with anything, is that you market it correctly. A GitHub profile can be used to more effectively market skills and knowledge that a tech employer would be interested in.
I still contend that its actually better to not use a resume to get a job. This forces you to find some other way to make an impression with the company you are interested in. Granted you need to zone in on companies you are interested in and you can't apply the "shotgun" approach like you can with a resume ....
but isn't that the point!?
Other than networking, check out http://careers.stackoverflow.com/jobs and select the "Only telecommute jobs" option.
Also try http://jobs.37signals.com and look for "Anywhere".
You could also use http://www.dice.com or http://www.authenticjobs.com/ and select the "Telecommute" option but I've never really had success with them.
The first two have been a good source for me. I'm currently in Japan and am still able to get interviews so being that you're in the US, it should be easy for you. (I also get a lot of people telling me that Japan is just too far away for working remotely with them).
I echo the comments Github. You don't have to put everything up, just a little bit to give people the impression of your skill level.
Also try http://jobs.37signals.com and look for "Anywhere".
You could also use http://www.dice.com or http://www.authenticjobs.com/ and select the "Telecommute" option but I've never really had success with them.
The first two have been a good source for me. I'm currently in Japan and am still able to get interviews so being that you're in the US, it should be easy for you. (I also get a lot of people telling me that Japan is just too far away for working remotely with them).
I echo the comments Github. You don't have to put everything up, just a little bit to give people the impression of your skill level.
Can we see your online portfolio? As that's probably the first contact with recruiters/potential customers, maybe something is wrong there.
Post your resume on craigslist, even for areas outside where you live (such as the SF Bay area / Silicon Valley), this is how I got one of my early "gigs" that was an hourly part-time job working remotely. Its good to do this if you don't have a lot of opportunities in your area, such as if you live in smaller town / city rather than a large metro area. Once you get that first paying gig / job, the rest should come easier, from then on emphasize your work experience as generally companies want people with some paid experience.
I have been doing this, some never get back to me, some do but in the end don't work out.
by not work out, you mean they never give you any work? I'm curious why, perhaps you just need to refine your approach, any idea what is causing them to lose interest?
I'm surprised no one has mentioned using the resources at his college to get a job.
I'd expect he'd have much better luck showing up at his college's job fair and talking to a developer/recruiter in person who is looking to hire a college student than sending his resume somewhere online to compete with hundreds of other people. Research the companies beforehand so when you talk to the person you can talk intelligently. Have a friend/career services review your resume.
I'd expect he'd have much better luck showing up at his college's job fair and talking to a developer/recruiter in person who is looking to hire a college student than sending his resume somewhere online to compete with hundreds of other people. Research the companies beforehand so when you talk to the person you can talk intelligently. Have a friend/career services review your resume.
I'm a frontend developer at a pretty cool company hiring frontend developers (full time or contract). We pay well if you can code well and produce work on time / be available. If you don't want to post your portfolio publicly, shoot me an email (in my profile) and I'll take a look & tell you more about the company I work for as well.
Out of curiosity, are you looking for freelance only or would you be open to moving to California as well?
Out of curiosity, are you looking for freelance only or would you be open to moving to California as well?
I'm guessing you're not looking to re-locate? If relocation was an option, I'd pick some hot-spot urban areas, and make your search geographic oriented. I would guess the majority of the companies that would employ you are based in a city, (especially if you're looking for work at a startup) and you'd have the best luck in SF, NYC, or Boston, as they're pretty techie. But that's just me, I'm not a big fan of Ohio...
He's in college so relocation is probably not an option for him at the moment.
I am a semi avid reader, a programmer, and a college student in the midwest USA (Ohio).
I am in a bind.
I consider myself a frontend programmer, Html, Css, Javascript (mainly) and I primarily work on web apps. I use node.js for the backend, but I also know php (started with php web dev years ago). I am not a bad programmer, but I could be better (can't we all?).
For the past 2 months I have been living off of savings and petty cash primarily. I cannot find a job. With my location, I am pretty much confined to doing remote freelance work, which limits the positions substantially. However it is my understanding that front end developers are in fairly high demand. I must be doing something wrong. I know that I am a fairly good programmer, so I do not think my skill set is the limiting factor.
I don't have a github, I always just work on my own projects that I host, never spent the time (or really wanted to) put the code on github. I know a lot of employers look for that however.
I have a online portfolio/resume (past work, skills, about me, etc) all on one page.
I mainly don't know where to find jobs. I'm mainly limited to the Who is hiring threads on HN and craigslist job posts, neither of which have been very fruitful.
I'm going to need to get a non web dev job soon, which I'd rather not do. Is there something I'm doing wrong? Should I learn RoR or Python? Any thoughts?
Thanks