Ask HN: Self-taught developers, what repo helped land your first job?

116 points by simplicitea ↗ HN
If you're willing to share, which portfolio project do you think contributed most to you landing your first FT dev job, and what kind of job did you land?

120 comments

[ 3.5 ms ] story [ 64.2 ms ] thread
In 2007 I was working on an open source dock for Linux called AWN (https://launchpad.net/awn).

It helped me get my first job at OpenedHand, working on free and open source software full time. I didn't have any previous experience nor a degree in CS.

What a blast from the past! Thanks for AWN, used it back in the day.. :-)
I spent several years working in research support roles at uni, and used code to automate the very boring parts of my job. Then thanks to open source activity I got into as part of that, I wrote a book. This was a bit under 10 years ago, I'm not sure there's the market in book writing these days.
What book did you write?
a perl book. (and yes, modern perl[1] is still a good, viable candidate for up-to-date-best-practices development. the only downside is it takes a certain amount of discipline to get it right. The other possible downside is that perl is currently not trendy, on the other hand it's proven to be a very good performer in the long game).

[1] http://modernperlbooks.com/books/modern_perl_2016/ - not my book, mine was more specialised, and I'm not going to transparently disclose my identity here :).

None of them - repo and portfolios weren't even mentioned. I was working as a game designer in the company that had a developer opening, and got burnt out. Since the company knew me, landing an interview was easy. I was teaching myself programming since I was 8, and, as I retroactively understand, was at steady junior level in high school already. The interview turned out to be a walk in the park. I wish I was more self-confident and switched over sooner.
You were burnt out and switched to game development? Frying pan, fire, surely?
I switched from game design to engineering. I was burned out by Excel sheets and meetings.
Back in 2012-2013 I was learning about javascript and nodejs was the new kid in town. I started learning about express and mongodb and within a few weeks I manage to create a scraper for torrentz.eu to index a bunch of movie torrents and fetch their metadata from imdb/omdb and trailers from youtube. I built a pretty UI and publish the website in the chrome store as an app. It quickly began to grow and was averaging around 600-700 visits a day and even made it as a featured app in the store.

One local blog from my city in argentina picked it up and wrote an article about it and got a call from a big local company that they wanted to talk to me. Thats how I landed my first job as a javascript developer.

A year later my app got removed from the store because "it did not comply with their policies or terms of service".

That's a great story! How long after you started learning JS did you start making the movie app?
Maybe a year give or take, and I ended up building it to scratch my own itch of wanting to find a nice movie to watch over the weekend.
I got my first job in a company that was desperate, because their only other developer was leaving in days. Got my second job under similar circumstances. And a third one. I did well at all of those companies and left on my own accord. I should also mention that none of those companies were even on a map as far as serious software development is concerned.

Reality is that companies that are not desperate will be picky, take their time, drag you through a bunch of bullshit interviews, etc. Just like every other developer I get pestered by recruiters on regular basis and I often see identical job descriptions that I saw two years ago, so after short interrogation of the recruiter it becomes obvious that those are the kind of companies that are forever looking and never really giving anyone a chance.

I suppose my advice would be: start with the desperate ones, build up your experience and credibility that way and climb higher.

And how do you consistently find said companies?
I'm afraid I have no good recipe for that, I would suggest to "brute force" it - cast a wide net and filter approach. In my case it was mostly dumb luck really. You will now a desperate one when you see it - normally they will try to close the deal ASAP instead of jerking you around.
Another clue may be an interview that doesn't hit too hard technically.
It's a good starting point to be proficient with a very new/niche technology. For example I got my first full-time job at a similarly desperate company, because next to no one knew how to develop Windows Phone applications back then in my country and they were in dire need of such a developer. So actually I didn't have to find them, they found me. :)
It sucks, but networking. Desperate companies usually don't have to means to go through a formal interview process and they'll often hire someone solely based on recommendations.

I got my current job simply because a friend worked there. I had practically zero experience in the field.

Yes, it was recommendation from personal network for me as well.
Maybe there should be job boards for desperate company?
That's your standard cheap job board. I recommended one of my previous companies post on SO jobs, they're like "we can't afford any of the programmers there".
Desperate companies may be hiring through tech recruiters also. A lot of small companies don't have anyone on staff that can effectively interview and hire a programmer, so they hire someone to do it for them.
> forever looking and never really giving anyone a chance

Or they have some bad attrition.

DrChrono is looking for a Django developer to transform healthcare! Every. Day.
Also, Strikingly is hiring in their Shanghai office. The advertising works in that I remember the names, but it doesn't make me want to work there.
I know a few folks who've interviewed with them and they all independently said that it was the biggest joke of a non-interview that they ever had. None of them got past a phone screen and most of them I"d consider pretty good, sociable developers.
I started working on and with Drupal 2004 May 29 (it was a Saturday but who keeps count). At the Amsterdam DrupalCon in 2005 I got three offers for 60K USD which was an unheard amount for a struggling but very enthusiastic developer for Hungary. I accepted NowPublic's offer and started with them 2005 December 1, I immigrated to Vancouver (NowPublic was based there) 2008 September 1... To answer the question fully, Drupal and I landed a Drupal developer job :)
Despite having completed much more interesting and impressive projects, my first CTO took me based on a few Ti-BASIC programs I wrote because I was bored in high-school.

http://www.ticalc.org/archives/files/authors/107/10786.html

Landed me a job in a small game studio. I'll never understand.

Maybe I should upload my TI-BASIC programs...
I had some shitty CGI code that would extract search terms from HTTP referrer fields, back before everyone only used Google. Someone emailed me asking me for help with it, and as it turned out, I was 16 and needed a week of work experience. Circa 1998.
I was 20. The year was 1994. I landed a job as an internal maintenance dev with a simple Visual Basic project on diskette. I was happy because it was a salaried position with benefits.

I quickly moved up to consultant (since I was with a consulting firm) within a year and ended up getting some real experience on my resume. :-)

None. I applied for internship at a local tech company, I mentioned on my CV that I was working on a WhatsApp desktop client (which didn't exist at the time) by reverse engineering the Android app. That caught their interest. I got the internship. After 6 months they offered me a permanent contract.

The next job I just applied and did exceptionally well on the interview. The one after that was through a friend that I worked with before, he was starting a company and hired me.

I had an idea for a simple iOS game I wanted to make so followed the Stanford course and then rented a desk at a startup with too much space. After a month or so they felt they needed more developers and since they saw me there with xcode every day they figured they'd hire me.
I learned web development while volunteering at a charity, where I did a lot of work on open source software. I worked on some Rails apps called FatFreeCRM [1] and Errbit [2]. I got my first contract with a YC startup that was providing hosting for open source apps, including FatFreeCRM (unfortunately they shut down.) My open source contributions were also included in my O1 visa application, so that I could come to the US and work for a startup.

[1] https://github.com/fatfreecrm/fat_free_crm

[2] https://github.com/errbit/errbit

My first freelancing job (previous jobs were internships) came from this project getting to the HN front page: https://umbrellajs.com/

It basically skyrocketed from there to what you can see in https://francisco.io/resume/ , with basically all experiences afterwards building on top of that (either directly, by reference or just as credentials for the next ones). People (including Google) also seem to love https://picnicss.com/ and I normally use it for showing my front-end skills.

Something I found surprising is that I got a really high quality contacts from my public projects. I would say about 50% of the job offers I get through my developer persona are high quality which I consider (even if many don't work in the end) vs what I used to get through Linkedin or even Facebook (both closed now) which were exactly 100% low quality/SPAM.

Really like your resume layout. What did you build it with? Is that an open-source layout? Would love to use it.
I didn't think it'd be so interesting as to publish it separately, thanks! It's built on top of my own Picnic CSS (in above comment) but with many px/em/cm-specific adjustments as seen in https://francisco.io/resume/cv.css

Feel free to reuse any of the code under the MIT.

That is a really nice looking CV. I might take advantage of your generosity and do mine in a similar fashion, thanks!
Umbrella JS is a well deserving project. You won me over with the little animated illustrations. I feel like people have attached those to "quality" and "legitness"; at least I do.

I am going to play with that lib this weekend. Could be good for small Eletron/NW.JS apps.

Thanks! Nowadays I am leaning on my own https://superdom.site/ for simpler/over the weekend projects. I almost made it into a next iteration of Umbrella JS but thought it'd be too big of a change and decided to separate it.

I prefer superdom syntax and I consider it the last and best iteration I could make following jQuery's philosophy (there are a bunch of dead jsfiddles from Umbrella to Superdom). It feels a bit hacky but it's quite legible and intuitive. It is not so compatible (no IE/old Android) and the main thing missing from Umbrella is the whole AJAX side, but for that I mostly use the new standard fetch().

I keep telling myself I gotta make superdom's website worth of the code, but I never get around to do it :)

Just 'cause I'm a grammar nazi: you misspelled "Andreessen Horowitz" in your resume. Unless there's a company with a name awfully close to Andreessen Horowitz, of course.
I triple checked it and still got it wrong, thanks for the tip :(

Edit: fixed + added the favicon

Nice resume page. The umbrellajs link actually points to ubrellajs.com (missing the M)
Aside from looking really nice, that's a seriously impressive CV. Well done!

Hola de Madrid ;)

Hola, veo que estas en el slack de Madrid Devs (;
(comment deleted)
First real job was granted not on portfolio (no GitHub in 2006) but based on pure sympathy and luck. It was a job board project.

I had done a few website before, but nothing significant.

I think it does not matter what's in your portfolio as long as you've released a few things and did everything to make to them look good. Not necessarily design but presentation, documentation, testing and function.

In 1984, I wrote a BBS for the Commodore Vic-20 which had up to 63 public and private rooms (message areas), private email and an online game, all in 9.6K of BASIC. Users could start their own rooms and make them public or private. The topics covered everything from general chitchat to string theory. The board was very popular with each user spending an average of 70 minutes on it.

One of my users said "Anyone who can write a BBS for a Vic-20 can program!" and hired me to write code for MSI portable data terminals. That same guy now wants me to work with him at Google.

Started learning to code 9 months ago, ~2 months ago landed my first job as junior web frontend developer.

I did a code challenge as application, so I believe this was the most important code. But this is my portfolio page (untouched since I got the job): http://rodrigo-pontes.glitch.me

I believe the most important project in it was this To Do app because it shows I can ship things that work:

http://www.dediddo.com/ https://github.com/deltasoneca/Dediddo-to-do-list

code challenge as application? Where do you find things like that?
I completed this coding challenge, an ajax game of cards: https://github.com/awongh/cards funny to look back- no documentation and terrible commit messages :)

This was for a junior full stack dev position in SF

I made my name known in the Perl community through answering questions on perlmonks.org, IRC and a few mailing lists.

Somebody drove me home when I attended a local event, and a few years later, that person hired me (and is now my direct supervisor).

I got a job working at boohoo and I think this repo did a lot for me - http://github.com/DrRoach/Dynamicimage.

It showed I could create a proper project which follows best practices like CI ect. It also helped that it was pretty relevant to the type of business and something that they themselves could potentially find useful.

It's a private project, but basically:

A PHP endpoint that received a POST request of some sort, and then I would return something based on that, a very primitive REST service and a C# application would act accordingly, and it would log the data to a MySQL database. It was meant to allow us at my old job to keep track of who used our computer lab, it wasn't meant to be overly secure on the front-end, if they figure out how to break behind the application we weren't worried about those cases, only the case where our database was compromised.

I think the more important bits of my interview were just our overall conversation, the code just showed I wasn't all talk really. He liked the answers I gave and the rest is history. That was 1 year and 1 day ago. Still working at my "first real job" as most people call it. My previous job was part time and at a school so I didn't do many programming projects.

(comment deleted)
(comment deleted)
Junior developer at Tickex, but I showed them a web app that is long gone, and this was summer 2007, before github.
(comment deleted)