Hacker News new | ask | show | jobs
by anysz 3668 days ago
I'm a Canadian with no Bachelor's and I started to learn how to code over a year ago to work in the field.

I learned the fundamentals of Ruby on Rails with Michael Hartl's tutorial and built an e-commerce application on Heroku from scratch (html/css/js/jquery/postgresql) It featured an admin panel, inventory management, user accounts and a reasonable RSpec test suite. It took me about 3 months of plowing 90hours+/week. I used it as a portfolio application to start looking for jobs. After blasting hundreds of resumes (>600), I got about 20 interviews. None of them worked out except for two unpaid internships which I financially could not accept.

I gave up Rails, but I didn't give up coding, so I asked the internet what was more likely than Rails to land me a job? iOS was probably more niche and more in demand. So I spent a month learning the basics of iOS development with Swift and released 2 apps on the App Store over the following 6 months (build-learn-build-learn cycle), both using Parse, Firebase and a panoply of 3rd party APIs. They were well architected (imo) using fundamental OOP principles, as well as the classic iOS patterns, singleton, observer etc.

This time I sent over 3 thousand resumes over the course of 5 months, all over the world: Canada, USA, Mexico, UK, Australia, Netherlands, Germany, Argentina... you name it.

I got 2 remote pair-programming sessions, which I nailed, I also got about 8 coding assignments, which I completed within hours of receiving the instructions (4 of which never even had the decency to respond or give feedback). All in all response was the same. I even got a couple of absolutely ridiculous contract offers such as building a full fledged real time web and iOS landlord/tenant management system for 2000$, solo.

Without trying to start a pity party, I am now doing manual labor on a curtain assembly line, going door to door after my shifts trying to sell Wordpress websites, which are easiest to setup and sell.

I guess I had to stop coding because I couldn't find a job, because it takes up time I don't have and even though I am passionate about it, passion doesn't pay the bills.

6 comments

One year isn't enough time to reach a professional level. I wouldn't even talk to anyone in your position who didn't have significant experience (years) working on real world projects with others and delivering results; and I was in your position at one point, so I'm probably about as biased as you might encounter in your favor.

If you really want to code, you need to figure out what libraries/frameworks/tooling/etc are popular in your area, and spend at least a year or two working on open projects which use them; learning them inside out.

The good news is that it's possible. I, and others, have gotten jobs without a degree. The bad news is you need to be damned good to do it.

It's a marathon. Not a sprint. You're looking at 2 to 5 years spending 20 hours a week on this. It will most likely not make you money during this time; so you need to love doing it.

Yeah. I spent in that year on average 10 hours a day coding. And some days I would just blast way past that.

So if you consider that (1yr)x(70hrs/week)=3640hrs falls right into the (2-5yrs)x(20hrs/week)=2080-5200hrs bracket, then in theory I have 'paid' my dues.

Otherwise if you're the kind to factor in the notion that "it takes time for the concepts to sink in", that's another story.

Yep, been there and done that. You're looking at investing that much time again. On top of what you've done already. But do it! It sounds like you really care about programming.

Specifically focus on working with others. Find an OSS project you like and contribute to it significantly. Or, better yet, find an OSS project that companies in your area want experience with and start contributing to that.

If I saw "Active contributor to Angular/D3/Entity Framework/SignalR/Mono/Whatever" on a resume, I'd definitely be interested in talking to that person.

I really don't have the time to contribute to OSS, and I have no shame in saying I don't have any interest either. I don't know how people find the time to. I really think you either have to be <20 years old living at your parent's house, or lacking your own ideas, or have enough disposable income to have time on your hands to do it (which is probably the majority). And then you need to really be interested in doing it. It's for a very, very small subset of coders.

I went totally broke learning to code. Now I have to donate my time to OSS? Something is backwards

If I had the time to be writing code, I would be building out a backlist of ideas I personally have.

Thanks for the input though

It's not about OSS,it's about maintaining and understanding other people's code and revision control.

If you don't have kids at this point, then I'd go with the Pat Rothfuss method: http://blog.patrickrothfuss.com/2010/02/fanmail-q-advice-for...

If you do have kids at this point, your situation is significantly harder.

That said, if you don't have kids, are you really working/commuting 90 hours a week and don't have 20 to spare?

Sorry but your advice (that link) is good for an absolute antisocial geek who strives to live on the cheap in order to fulfill the ultimate goal of contributing to OSS. This is not advice for someone who wants to find a job fast.

You're essentially suggesting that I recluse myself even more than I did in the past year, in a low rent city (which in Canada will definitely have 0 tech scene) or far away in the burbs where the commute is long enough that I could code on it. Essentially, to become a full fledged renegade of society.

I prefer the more rational approach that involves being a city, and going to meetups, conferences and hackathons to meet other engineers that are actually working in tech.

Really sucks man. Most times companies are looking for people with experience, most self-taught programmers like myself built up that experience over the year(regardless of what language)s through side projects in college and stupid stuff for fun. It pays to build up your portfolio while doing your 9-5. One can't just take tutorials within a year, build a test app and get a job, am not sure if the tech industry works that way.
Sorry but I have to take offense to this. Whatever side projects and stupid stuff (your words) you did in college for fun 100% pale in comparison to the full fledged Rails app I built over 3 months 90 hours/week for work, and the other 2 iOS apps I built and released on the App Store, which took an order of magnitude more time than the Rails app.

Not fair on your part to downplay these efforts by condescendingly calling apps I built "test apps" (what just because I read a tutorial? How did you learn????). You maybe don't realize it, but the only reason you're able to get a job as a self-taught developer is because you're in the US and you have a Bachelor's. That is the way the tech industry works.

I'm really sorry if you took my words the wrong way, I guess it came out wrong. I'm not downplaying your efforts, on the contrary I think they are great, most people give up after 3days of debugging. IMHO I'm just saying that sometimes companies look for experience not just from apps, but also from years of programming. For the record, I'm not in the U.S (never been there before), but I've worked for U.S(New York) based companies as a remote developer. I currently work as a remote developer for another startup in Germany. I've never left Africa before. I taught myself to code, learnt the hard way(I mean epileptic power supply, no/poor internet service) and I don't really value my degree, I'm not sure if it has helped in any way, ironically I don't have it(have not gone back to get it) and have never applied for a job with it. I admire your efforts and wish you good luck in all your future endeavours.
Damn that sucks :(

IMO I don't think Rails or Swift are the best languages to start out with if you're looking to get a job. Primarily because they are mostly used at Startups or smaller companies and those companies generally want senior coders (as they don't have time to train juniors).

I think the best languages to easily get a job are Java, PHP, C# or C++. There are many enterprises, banks and governments who can't get enough coders for those languages because the jobs are boring and routine and most coders tend to stay away from them, or quickly move on to more fun things after they've gained a few years of experience.

The fact that you know Rails or Swift too won't be a waste. It's still a huge asset to you because hiring managers at these big boring companies are used to seeing resumes of recent graduates who have taken programming for the money, not for the passion. Seeing that you've learnt languages that they don't teach in college puts you above the rest of the field.

Banks, governments and big business in general is the most demanding in terms of degrees unfortunately...
That really sucks! Without anything else to go by, something that strikes me is that you are sending out a huge number of resumes and your conversion from resume to interview is low.

As most resumes are screened initially by an HR person, your resume is probably being binned before anyone from engineering sees it because you don't have a degree. This completely sucks but is the reality.

Therefore, your best bet if you're looking to change strategy could be to narrow how wide you cast your net a bit and focus more attention on each individual application. Sounds like you've got passion by the bucketloads and engineers love people who love what they do. So try and find some engineers - are you going to meetups?

Meetups are a great way to get some informal time to meet people from the local community and learn what's in demand and what opportunities are going. More importantly, they're great places to learn a lot of information rapidly for free.

Yeah I definitely agree with your points. I was using a machine gun instead of a sniper. I definitely know better now.

I also just recently started going to meetups. The engineering centric ones are much more scarce where I am than the 'startup business networking' ones unfortunately, but... doing my best!!

I really want to attend a hackathon at some point and really have high hopes that that could be my shot. Maybe I'll save up and try and sneak my way in to one in a big city....

Did you ever ask friends or trusted professionals in the field if there was anything about your resume or interviewing that might have been ruining your chances? It seems absurd that you wouldn't have gotten a job after what you've done.
Actually, after a while I started asking every company who rejected my candidacy to explain why I got refused. Obv I got even less responses for this but I did get some kind enough people to help me tailor my cv.
Did you use recruiters or apply direct. Being new to the field recruiters could be very useful in trying to sell you to their client and give cv tips.

I also suggest apply to fewer targeted companies and tailor your cv to their job spec. Staying honest of course!

Also learn technologies that are easier to market albeit less fun such as Java, JS and C#.

Get a friend who is in the industry to review your cv or attend meet ups and get people there to have a look and give honest feedback.

Having a blog, a github and giving talks would help too.