Ask HN: No money, can't find any jobs, what am I doing wrong?
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
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.
95% chance, they delete your e-mail without taking it seriously. But that's okay. (.95)^100 is small.
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.
> 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 ;)
"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!?
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 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 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.
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.
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.
Out of curiosity, are you looking for freelance only or would you be open to moving to California as well?