What's the project?
How did it help you land a job? Did the project itself get you the job or did it help in the interview process? Was the project work related to the job at all?
Edit: Ya'll hirin'?
One day, a developer from this random company in Connecticut (I am German and lived in Germany at the time) reached out to me in my project's IRC channel, and asked if I wanted to interview. I did, and I got the job.
I moved to the UK, then to the US with my wife, and stayed with the company for 8 years. I got promoted from senior engineer to Sr. Principal Engineer and had an amazing time there. I now have a green card and live in CT with my 2 amazing children (with German and American citizenship).
I often think back about how much that project and that person who reached out to me changed my life. How different it would be if I hadn't worked on my side project, if it hadn't become semi-popular, or if he hadn't reached out. Butterfly effect at it's finest.
Edit: Fun fact: Drew Houston (Dropbox CEO) emailed me at the time and wanted to hire me, but he didn't respond when I emailed him back. And even many years later when I applied at Dropbox they didn't want me, hehe.
I was working at a bank (as a contractors) and some coworkers and I were working on a HA project for MySQL at the moment (to use it at work). Once I got laid off, I focused on it to the point that it became quite useful, and at some point, someone from Israel reached out with questions.
I answered with a lot of delay, and when I explained that was due to me being out of a job and not able to afford a permanent internet connection, he offered to hire me and also set me up with a permanent connection with a contract paid by him.
If you’re reading this, thank you Aric, I’m forever grateful for that chance!
Curiously, last year I switched jobs and during the interview process it turned out the hiring manager had been a user of my project back in 2003 or so, which definitely helped with the interview process.
The project’s name was mysql-ha, later renamed to highbase due to a Copyright infringement notice from Sun (who were good about it and gave me a free 1 year subscription to Enterprise MySQL when I renamed the project). I abandoned it around 2008 as better things became available around that time .
And writing that book lead to lots of recruiters. I humored one, they flew me out to SF, gave me a car for a few days (I had never been to the west coast), dined with me, and made me an offer before I was to fly back home, an offer that was lots more than I was making at the time. I told them I'd think about it.
But I was too scared to leave New Hampshire, and perhaps too sentimental, or some more nameless term, so I didn't accept the offer. All from answering some SO questions.
I did some protocol reversing and wrote a small program that pretended to be an airplay speaker to pipe audio to a sonos speaker (archive: https://github.com/stephen/airsonos)
I ended up getting recruiting messages from both the airplay team at apple and some folks from sonos. I didn't end up taking either offer, but it was also an interesting talking point when interviewing for the job I did take.
It generally gets around 1000 users a day.
Over the years, it's gotten me consulting gigs and the occasional job offer (amidst other projects).
Today, it sends a decent chunk of the traffic and sign-ups to my startup, Wafris -> https://wafris.org
OP's asking for a strategy with these, and the advice I'd offer is to treat them like assets. You make these various side projects to learn something, take the extra 20% of time to package it up buy a domain, and spend $10 on a logo or something to make it a little more like a project and not just a repo.
If it's not something directly usable like this, take some screenshots and collect them into a gallery on a personal site.
You stack these assets over time (and like my example above), they pay off over years in all sorts of ways.
A few days later the CTO of a small eye tracking startup gave me a call. I quit Google and joined them. I built a (novel at the time) deep neural net based VR eye tracking system for them, and less than two years later Google acquired us.
It was beautifully designed (thanks to some help from a designer friend) and I was really proud of the architecture and Objective-C code.
A large retailer reached out to me on LI and asked about a job. As part of the interview process they asked me to submit a code sample and I submitted basil. The senior dev in the interview commented that he didn’t have any negative comments about the code but instead spent the interview telling me the things he liked about it. It was so fun and gratifying to get that feedback and I got the job and worked there for seven years. It totally changed the direction of my career!
At the time I was just exploring some new research ideas in numerics -- and frankly, procrastinating from writing up my PhD thesis!
But then one of the teams at Google starting using them, so they offered me a job to keep developing them for their needs. Plus I'd get to work in biotech, which was a big interest of mine. This was a clear dream job offer, so I accepted.
Since then both have grown steadily in popularity (~2.6k GitHub stars) and now see pretty widespread use! I've since started writing several other JAX libraries and we've turned this into a bit of a foundation for a JAX sciML ecosystem.
1. Letting me have a place to write to get better at writing, which makes it easier to do my job in DevRel.
2. Lets me talk about all of the interesting projects I work on (eg: an AI novel writing experiment https://xeiaso.net/videos/2023/ai-hackathon/) that people regularly find interesting. This gets people interested in wanting to employ me, which ends up working up well for me in the long run.
Do side projects, but write about what you did and what you learned.
I've put the last few years of my life into working on komorebi, a tiling window manager for Windows[1], https://notado.app, a content-first social bookmarking service, and https://kulli.sh, a "bring your own links" comment aggregator which shows you comments from hn, reddit, lobsters, lemmy etc. on an article all in one place.
Unfortunately I was laid off after 5 years with the same company last month, and nobody seems to care about any of these projects when it comes to recruiting. There are people who use them that have reached out to me very kindly offering to make referrals, but the job market and mainstream interview processes value LeetCode more than shipping real code these days.
That landed me my first job ever in IT as a Junior NetEng and eventually a Linux SysAd.
An older student in the computer lab saw my Motif book and asked what I was doing. I told him and he suggested I use Tcl/Tk. I asked "What is that?" So he pointed me to some documentation on this brand new thing called the World Wide Web.
I spent the entire weekend reading everything I could about Tcl/Tk and had little GUI programs that were wrapper around lots of command line tools with radio buttons and stuff to select options. Then I started drawing circles and rectangles and stuff.
I was also learning HTML and had my own web page mainly to links that I liked but also maintained the FAQ for a popular childhood cartoon that I loved. I had taken the plain ASCII text FAQ and written a Tcl script to format sections into HTML with different header fonts, table of contents, etc.
A few months later I was starting to apply to summer internships. One of them mentioned Tcl as a scripting language for web server development. I put Tcl/Tk and HTML on my resume and got an interview.
The company didn't like Perl for CGI-BIN programming and preferred Tcl. I told them I had my own web page and you could also access the code I had written from my web page. During the interview they actually went to my web site, downloaded the code, and started looking at it.
I was a computer engineering major so most of my classes were on electrical circuits, digital logic, assembly programming, and they didn't ask me anything about that.
All of stuff I learned that wasn't directly related to my classes like Tcl, HTML, and playing around with Linux for fun is what got me the job.
Now 28 years later I'm designing integrated circuits / semiconductors and still write Tcl all the time because it is the integrated scripting language for most of the chip design software. It's not my favorite language but it's weird how this language that was kind of obscure in 1994 helped me get my first job and I'm still using it now.
SSLPing would check TLS servers like SSLlabs does, but way faster and would repeat the test every day and email you alerts. Got to 700 users, and impressed a few hiring managers. SSLPing's shutdown made the HN front page in 2021!
SSLBoard would scrape all Certificate Transparency logs and collect and index all certificates in real time. I got my last job thanks to it.
I even refused an incredible acqui-hire offer from a US company. I thought I'd rather work on my project alone... I should probably have said yes.
I've started working on SSLBoard again, and I'm moving SSLPing to a serverless architecture, because I have nothing left to show recruiters, only stories to tell...
My boss owned a pro volleyball team, one of my responsibilities was managing an online community for fans.
Every time we needed changes to the community forums, we had to hire external devs who were very slow and very expensive. So I explained my boss that I could code and asked if I could just do the changes myself, he agreed. I gradually started coding more and more regularly, this helped me keeping my skills current even if I wasn't formally employed as a dev.
Fast forward to about a year later - my boss bought a hotel, and shortly after the hotel director quit. He asked me if I could temporarily take the role as a director, I agreed. Business was slow (low season), and I was more confident about my programming skills thanks to the experience with the volleyball forums, so I kept myself busy working on a simple calendar web app for the hotel.
The next year, I left my job and I became the tech co-founder of a travel bookings startup, where my main task was building a calendar synchronisation system. I couldn't have done it without that previous experience building the hotel calendar app. My co-founder later told me that he chose me over someone else because of that specific experience I had.
During my masters, I created a ML library that dealt with noise in dataset [1]. I implemented bunch of papers, but unlike your usual research code, I spent a long time obsessing about it's API, performance, created documentation, CI- the whole shebang. But then, like avg research code, I moved on and promptly forgot about it.
One day about a year ago the cofounder of a very new, small startup working on something similar texted me about the project on linkedin. We chatted for a bit, but as a guy who thinks he's too cool for linkedin, I next logged in and saw his last message about wanting to collaborate about 3/4 months after the fact.
Well they raised $25 million dollars a few months ago :(
After not getting a faculty job (and after a couple of postdocs) a wrote an essay about failure in academia. At the urging of a friend, I pitched it to a place that liked it and published it. The response was really surprising to me, all the kind random messages I got. And someone asked if I wanted to apply for a job opening they had, teaching writing at a university. A couple of weeks later I had moved and was in the classroom, the last place I expected to be. It was teaching in an area I never expected and not research in my field, but I've always enjoyed the teaching part of university life.
And that story, along with all the rest here, is what I tell my students about putting work out there. Good and surprising things happen!
PG gave us an opening to every record label ("Hi, Peter Gabriel would like to come visit and show you something...") where we'd show them we could sell their music legally online. Five minutes after PG leaves each building a team from Apple would show up and show off what they were building too. Their meetings were much shorter as we always did all the heavy lifting first. (Note, we always had to use our own equipment because the MS stuff worked way better on Windows, but all the record labels were like 99% Mac).
On another one.. it wasn't a side project, but I "hacked" a competition on a popular TV show's web site and they ended up hiring me as the co-presenter o_O
To make it easier for our computer club to conduct small contests, I made a small application in Python that could display problems, accept submissions, and automatically grade them.
It had a horrible "single page" UI that used jquery to hide and show divs to switch pages, and obviously had 0 sandboxing, but it got the job done for our purposes.
A couple of years later, a CEO of a local startup was visiting my high school, and he happened to catch the program in action. His business had been struggling with a hairy Google Drive integration and he asked me if I had any ideas. That eventually led to a part-time offer, which became full time after I graduated.
So yeah, it was quite serendipitous. While the project wasn't directly related to my job, it did give me an in, even though the code quality was so shoddy it makes me shudder to even think about it now.
He wanted to work for the company and didn't have a way in. He built a better version of their slicing software over a long weekend and sent it to the Formlabs team. He was hired very quickly after they saw it.
https://shane.engineer/blog/how-to-get-hired-at-a-startup-wh...
https://shane.engineer/stl-preprocessor
The idea of a very targeted side project seems novel. Build for an audience of 1 specific company. Any other examples?
When MacOS released their "dashboard widgets" framework back around 2005ish, I wrote a widget for RubyDocs and released it, and it got quite popular.
At the same time, a US company I heard about via the Rails mailing list was investing pretty heavily in Rails and, as a long shot, I applied there and mentioned I made that widget. It turns out they were all using it, and they basically gave me a job on the spot working remotely from Australia.
The experience I got in that job led me to get an job at Microsoft in 2007, and they moved me and my family to Seattle, where I still live to this day, though I left MS over five years ago now.
Pretty lame that they discontinued that job board. It was a lot nicer experience than using linkedin.
This project has undoubtedly set of a series of impactful events in my life, and I attribute many of my successes to it. I've had opportunities to network with numerous amazing engineers through it, leading to a part-time role and multiple internships. Turns out companies that approached me for support also wanted to keep in touch! I also graduate this year and I am going with a full-time role from one of the aforementioned internships.
While I acknowledge my circumstances are extremely fortunate, I genuinely believe that having open source projects early on in your career can significantly contribute to standing out as a developer.
Anyway, fast forward a year and I interviewed for a programming job with British Telecom. This project came up in conversation and the interviewer got super interested, and I landed the job. Then it turned out that almost everyone this boss hired was a musician of some kind-including a keyboard player for a chart-topping band (he's back touring with them now), a bass player, a professional saxophonist career changer, a singer in a band... he ran a weekly jam session after hours. So I really think it was the guitar playing that got me hired.
And no, it didn't relate to the job, at all. My phd involved parallel programming on transputers in C, and as it happened, the guy they sat me next to on my first day also had a phd involving C programming on parallel machines. And they got us to write Visual Basic for the next 6 months.
When I interviewed at Microsoft my senior year, this gave me a ton to talk about. It was real experience building a product and having customers. I could answer questions with something real and different than the other candidates. I know I bombed two of my interviews, but I ended up doing 7 interviews on the day and getting an offer.
The website is still around, but I haven't done anything to it other than delete the production log that fills up the server disk occasionally in the last 15 years. I don't know why anyone uses it, there are much better options. I still run and I certainly don't use it. But the server bills are cheap, so it lives on.
Not a magic spell. I had been writing for almost ten years prior before anyone noticed, and only a fraction get any play.
I got involved with Redux at the start of 2016, and Dan Abramov handed me the maintainer keys that summer after he got busy working on React.
Over the next several years I've put in thousands of hours maintaining the libraries (Redux, React-Redux, Redux Toolkit, Reselect), answering questions, rewriting our docs, and writing articles. That gave me a chance to start doing conference talks.
When I finally announced I was looking for a new position in January 2022, after 14 years at my previous job, I got flooded with companies expressing interest.
The one that actually caught my attention was Replay.io. The culture fit was perfect (smart people building an amazingly useful tool and solving unique techhnical problems), they knew me from my Redux work, the codebase used React + Redux, and it fit my history of working on dev tools that involved time travel in some way.
So, lots of overlap, and I'm having a blast there still :)
[1]: https://github.com/askonomm/ruuter
I taught at that uni until 2013 until I left the country. I had to wake up very early once a week to teach the course at 7:30AM, but I did it very gladly. Some of those students are in the videogames industry as well. So, overall, a great success.
This landed me not strictly a job, but long term consulting gigs with a number of companies in EU, UK & US.
The job was directly related to the project: companies wanted the expertise of data engineering & ETL, often with Kiba directly, but also in general.
This "side project" was totally worth it :-)
Rec Room saw the product and hired me as their visual scripting architect. I ended up building Circuits which is used by millions of players: https://recroom.com/cv2. I've even had children message me in Discord that they've chosen to get degrees in programming because they used Circuits.
My team is currently hiring: https://recroom.com/careers?gh_jid=5382144003
Once I found out how easy it was to put something through the open source process and have it posted to AWS Samples:
https://github.com/aws-samples
I sanitized all of my customer facing solutions that didn’t have proprietary business logic and submitted them - 8 projects in all.
When the interviewer asked me what project was I most proud of, I discussed my contributions to the “AWS Solution” that I knew the company probably used or had at least heard of and my own related work that was open source that I knew was inline with the strategy they were pursuing.
I’ve been at the company 3 months and I’ve already implemented and modified 5 of my 8 personal open source projects. Two of the other three are based on now deprecated methods and once I dig into AWS Reinvent announcements, there may be better options out there than the AWS Solution.
All that being said, the last time a side project landed me a job and the last time I did anything “open source” before 2021 was 1995 when I was in college. I submitted a HyperCard based Eliza clone to the info-Mac archive and AOL (this was 1995) and a professor from another college wanted me to integrate it in a HyperCard based Gopher server (kids ask your parents).
I don’t do side projects. Anything I can’t afford from my main job I don’t need or I need to get a job paying more. For me, the same applies to learning new to me technology. If I can’t learn it on my main job, I need to be getting another job.
It's no longer on the App Store as there's just been too many big changes I couldn't keep up with on that codebase. I'm working on a followup right now for Steam that I'd like to port to mobile afterwards.
Gameplay video: https://youtu.be/uy08ohBLGhE
The thing which caught the interest of one of my interviewers was a side project I had creating tools to be more effective at playing Travian.
Travian did something interesting, in that each server instance would dump a single database table nightly for players to ingest and tinker with.
I wrote a script which would grab the file, de-MySQL it to get it to run on SQLEXPRESS, and then execute some stored procedures to extract some insights out of the data. Then, I had some Asp.Net pages which would let you do interesting stuff with it: Find inactive accounts, Track someone's alliance history, a few other things. I had half a dozen tools for different things, mostly I focused on building stuff which nobody had thought of yet, and made the tools only available to people in my alliance.
All this was on the roadmap to start building a bot to play the game for me. That turned out to be a lot more work, and I ended up losing interest in the game in the interim.
We only spent about 10 minutes or so talking about it, but still, it was 10 minutes of followup questions. I feel pretty strongly this, and one other anecdote is what got me hired. (The other anecdote was writing a really dumb hotfix out of a decompiled java class to fix Novell eDirectory support for one of my prior company's products - in protest of our engineering group not finding the effort worthwhile)
[0]: https://github.com/SerenityOS/serenity/pulls?q=is%3Apr+autho...
The goal was to find a job in Russia, but no one pay attention. Instead, the project got some traction in US, and company from here made me offer. So I continued the same side project as the full time job. They did all work to provide visa ( and Green Card later ), and sell project to Jboss where it became "richfaces" https://richfaces.jboss.org/ .
Decent success story, but keep in mind several points that made it happen: - Project targeted a current hype wave.
- It was implemented with wide used technologies.
- A lot of time spent to promote it.
For the moment, there are two possible candidates to repeat : Large language models, and cryptocurrencies. But former is already eclipsed the later, so probably it's the only candidate. There's a little set of technologies used by LLMs, so this choice is oblivious ( keep in mind, the project supposed to demonstrate you skills in areas required by potential employer, so nothing exotic ). When gold rush happened in Klondike, the total cost of the found gold was several times smaller than money spent on food, tools, whiskey, and whores. So it's better to create some useful tools project ( like LangChain ). And promote, promote, promote. Wherever it's possible.
Also moved to the US at that time, searching for a job for months after that. Finally, one company was using the same tech stack got interested and we had a good talk about it during the interview, and they offered me the job.
I was close to give up my dream of working as a programmer until that point (you know, when you moved to a new country, with a family to support, you can’t just do interview forever, the most possible option for me at that time was to work at a restaurant or something like that).
# Starting OCaml Batteries Included.
(that and my academic research) got me my job at MLstate, no interview.
# Contributing to Firefox
Got me in touch with Firefox devs. One of them suggested I applied to Mozilla. I worked 9 years at Mozilla before moving on.
# Contributing to Rust
Contributing to the Rust compiler and stdlib got me in the pipeline for a few other jobs. I declined most of them (not a bit fan of cryptocurrencies and how they're used).
Also, generally, I find that coding in Rust is good for clarity of mind and purpose. In other words, having solved a problem in Rust helps me write code that both solves the same problem in other languages and has clear, explainable, invariants. YMMV
# OpenBerg
A long time ago, I started one of the first e-book software readers, called OpenBerg. Jim Gettys [1] got in touch with me by IRC to offer me a job working on it full-time for one year. I already had a job, so I declined.
At the time I was an in house lawyer, and then a software engineer, and things just kind of snowballed from there.
As a student, he reverse-engineered his country's tax application (not sure how he did that), turned it into a programming language, published the result as open-source along with formal semantics and precise documentation. Apparently, the official implementation was closed source, the state didn't have access to the source and the results were undocumented and nobody understood how it worked.
A few years later, the state adopted his application as the backend for the tax computation infrastructure and, if my memory serves, offered him a job. He declined.
Then in 2017 I interviewed for an Engineering Manager role at Facebook (now Meta). The role was with a web performance team. I'd barely had time to prepare - at most a week - and my coding interview was not amazing.
In the final interview segment we were discussing web performance and I mentioned the ENCOUNTER project as running at 60fps. We pulled up the game on the interviewer's random Android phone and it worked well! It turned out the interviewer was a fellow C64 nerd and we bonded over shared memories.
I learned later that the project code was used as a tiebreaker to get signal on my coding ability. I'm working at Meta to this day!
Check it out at https://github.com/air/encounter
It got me a C programming job that had nothing to do with the side project.
I would say that it only helped me in the interview process, but it did so in two ways:
* I could actually answer C-related questions on top of the more generic questions.
* It showed that I had skill in C.
For a given photo of a person, it will provide you with lip cosmetics that match those the person is wearing. My wife gave me the idea saying it would be cool to match what celebrities are wearing.
It definitely helped landing a job. My interviewer said it impressed him and that he had shared it around the company. Everyone called me the lipstick guy for a bit after joining. During the interview it helped to have a non-trivial software project to discuss.
Its only relation to my job is that it’s a Python web app based on Django. I don’t touch any of the computer vision aspects in my day to day.
Now that I’m in a position to hire I put a lot of weight on deployed and working projects. There’s no better way (outside verified career experience) to show you can back up your skill claims.
P.S. I built this years ago so wouldn’t be surprised if it has load-bearing issues. This blog post describes how it looks and works: https://blog.kyleingraham.com/2018/11/28/lip-colour-finder/
These days I should probably do something similar with LLMs if there's time.
I did a side-project related to Second Life in 2007, and it landed me a job at Amazon Web Services in 2008.
I narrated the story back then, and replicated it on Medium [0].
I don't want to brag or anything, but please trust me if I tell you that this is a good story to read.
[0]: https://simon.medium.com/2008-how-i-got-hired-by-amazon-com-...
This was because anywhere near a screen was packed with crowds and my mobile network couldn’t keep up using the official app.
I was job searching and wrote it up and posted to LinkedIn. My now manager saw it and was trying to hire for a role building integrations. My project was enough for him to reach out and set up a chat. Without the project we wouldn’t have connected.
* Amazon was using WebRTC, didn’t care about Pion
* Apple was the same. Just cared about my knowledge of WebRTC
* Twitch I joined because they use Pion
* LiveKit uses Pion and is very open about it!
Side projects/Open Source has been so beneficial for my career I can’t recommend it enough. It also frees you from defining your career by your employer.
I came across Decipad while looking for a job, and messaged the founder, highlighting my work on NumPad. They were impressed enough that the hiring process ended up being just a few interviews, I've been there for almost a year now, and it's been pretty good!
If there's a moral to this story I think it's that you should aim for work that's highly relevant to your side project experience. In my case both NumPad and Decipad have a sort of programming language that can do calculations with units.
But ignore this advice if you can't find that work, or it doesn't seem good for whatever reason. You can still highlight your side project in an application, and they might be impressed anyway.
That project has since led to a long term collaboration with the Topos Institute where we are building a type theory for Polynomial Functors: https://github.com/toposInstitute/polytt
Polynomial Functors are a really powerful abstraction from Category Theory which subsumes the co-algebraic approach to finite state machines used in `cofree-bot` and which can also be used to encode wiring diagrams, tactics engines, game semantics, neural networks, and dynamical systems in general.
After a year I then went back and realized it was getting 1,000 downloads a week, I did it a bit more work on it and stuck a price tag on it, it's since been my full time job for several years.
It's no longer live but here's the archived version: https://web.archive.org/web/20160305001753/https://makerslat...
I considered trying to take it further but didn't really see a clear path to any kind of investment or monetization at the time, so I ended up just using it as my résumé. I interviewed at one company and got the job, so I guess it helped! It did get a good reaction in the few interviews I did at that company.
I'm ashamed to admit that I never got the Wiki up and running again after I relocated from Australia to Sweden. (Not yet anyway, I may still have a backup copy on a hard disk somewhere...)
I do contract work for a pretty niche industry and after you've done a couple big implementation projects, you've seen 80-90% of all user stories, integrations and edge cases.
I started a side project that was a combination of tooling, processes, checklists and methodology to stop reimplementing the same project work and stop approaching every client like it was greenfield work. Not fully productizing our approach but moving in that direction.
My company was not interested. During an interview I pitched my side project ideas and they immediately said they wanted to hire me. Skipped the rest of the hiring process and landed a new role doing exactly what I had wanted to do at my previous company.
https://www.illumos.org/opensolaris/ARChive/PSARC/2007/688/m...
Once Oracle acquired Sun and hiring started, I was hired into the zones team. While interviewing I discussed my ongoing work on zfs dataset aliasing to virtualize the zfs dataset hierarchy in zones. After being hired I was able to get this feature prioritized to make it into Solaris 11.
As a teenager, I got my first job as a technician at a local PC store in the mid-90s, I think solely because I dabbled on a Amiga at home. I just walked into the store with a resume. The guy who ran the shop was an early Amiga user, and though Amigas had fadded by that time (1994), it created a connection - in the interview, the owner said: "Amiga, that's a sign of good taste".
When I graduated from university, I was looking for work. I had an great-uncle who repaired and sold church organs. I helped build out his website, and I think it ultimately helped me land a job at a another company that build digital control systems for pipe organs.
The "build in public" approach of publishing often while doing a side/weekend project helps a lot in showcasing your skills.
To this date since I started by freelance business, it's more often clients finding me then me looking for them.
I saw they had a bounty program for a mobile app, I built an app alpha & claimed the bounty. The foundation running the project saw this and reached out. 6 years, 3 countries & a few wild rides later, I can't thank the guy who was crapping on crypto enough.
Edit: check out some crypto bounties here: https://bountycaster.xyz/
My Siri proxy during the first iteration of Siri, which would intercept requests and inject custom responses. The code is fairly horrible by my current standards, but reverse engineering everything was fun.
It became a hobby and since I was in contact with the community, someone asked me if I would be interested to take a job in sysad for a very large company that was expanding in Europe. I was half mid my PhD but I said why not.
The job ended up being way way more than sysadmin, I started a few centers in Europe from scratch, learned a heap and the rest is history.
This was not exactly a side project but rather a hobby that one day on an IRC channel changed my life.
Same with my serious involvement in the Openstreetmap project, where I learned everything I could about geographic data just prior to having a major corporate GIS system dumped on my lap.
Have fun, follow the white rabbit - he'll lead you to the good stuff !
I was bored at work in one day, in summer 2007, and I was searching on internet free tests to test my knowledge. I did that previously in 2000 when BrainBench was new, and I even got physical diplomas from them for free. So, in this summer I searched for BrainBench again, to test me to see how much I grew during these years, and I was disappointed to find now BB was paid. So during my search I found this site oDesk, which was a freelancer site, but also allowed you to take tests. Didn't cared about freelancing part, only testing. So I took some HTML, Delphi, SQL tests there in that day. On Delphi I was proud that I was on 2nd place, while on rest I was in top 5% of all people that tested. I published that and forget about them.
In November I receive an e-mail. Someone was contacting me on my oDesk account. I was like "wtf is oDesk?". Then I remembered about the day in summer whne I got bored and made an account on that site. Long story short, that was my first client, he hired me and I realized how short I was selling myself to companies in my country. In March 2008 I quit from the day job and went full freelancer ever since. Btw, oDesk, after acquired Elance, got renamed Upwork. I still, partially, get new clients on Upwork, though most of my new clients are now through recommendations from my previous clients.
If I wasn't bored that day, if I didn't created that account, I'd still be working for a soulless corporation in my country.
I’ve got thoughts about the ability for side projects to directly demonstrate not just proficiency, but passion, which is very important in undergrad when looking for opportunities. Might end up writing a blog post about it.
Early 2000s, I wanted to work only on and for the Internet. I did my “e-Commerce” course and others, but I was hoping from interview to interview without success. In one particular interview, I was waiting with a few others and started tinkering with an open computer in front of me. Adobe Photoshop had an easter egg where you press some key combination to show the splash screen with a sunset scene (or something like that). I morphed a few images together with that, and it turned out good enough that the boss walking in noticed, “Did you do that?”
That’s how I got my 2nd job in an Internet Media company while applying to be an ASP programmer; I ended up working with the Multimedia team, was challenged to work with Macromedia Flash, and wrote a lot of ActionScript.
I wrote quite a bit of the front-end video decoder for VONGO (a streaming service from STARZ), built a few employee tools for Disney, worked as one of the Creative Directors of Razorfish, etc. None of them through official channels or resume submissions. So, I have an ardent respect and soft-corner heart for anyone I interview and have a side project(s). I love listening to their stories about their side project, hobbies, and open-source contributions/work.
This was the side project that I ended up writing about in more detail later on: https://paulstamatiou.com/stocketa/
It went to the front page of Hacker News (https://news.ycombinator.com/item?id=8315616). At the time I was a student in Spain doing coding just for fun, so any job-related opportunity would be slim and with really bad pay (I had actually already worked a bit as a dev for a pittance).
Someone contacted me and offered some really fun freelancing projects for what at the time seemed like an absurdly ridiculous large amount of money, so much that I got a great designer friend involved and split the money so the project would be even better.
I learned many things from that and as my curiosity pumped me to keep learning. I read about cases of people making 500k+/year as "normal" devs (meaning, not managers, and also not famous). Most of my Spanish peers didn't even believe that existed at the time, and thought I was crazy believing those "obviously fake" blog posts. But I've been working for USA companies basically since then, and couldn't be happier/wouldn't look back.
A few months later I landed a 16-month internship on a team writing an OpenGL ES driver. There were 160 applicants, but the hiring manager said I was the only applicant who had actually played around with OpenGL.
It was a great job and I learned a ton.
Since then I have been working on a file streaming application. Its side items in that project that have been winning me jobs lately, primarily anything to do with full duplex socket streaming and browser test automation.
As a JavaScript developer took me months this year how to sell my experience and skills from my side projects. As a JavaScript/TypeScript developer you can do the same shit everybody else does, which is put text on screen using a giant framework. If that is the kind of employment you are looking for be prepared to degrade yourself to working with newbs that have high insecurity, low self-esteem, and spend all their time talking about how awesome they are. Its all marketing all the time, no original application code, and outsourcing everything to some external tool. As a developer you are a commodity product to hire/fire just like public is to social media. This line of work no longer interested me, so I spent months unemployed figuring this out.
Instead your alternative as a JavaScript/TypeScript developer is niche skills, which is in higher demand than it sounds. It seems almost nobody can figure out test automation in the browser. Having application architecture skills is a huge plus, which typically means Java/C# and HTTP session management with something like Spring, but if you can demonstrate a more generalized approach to application architecture you have a skill that you can adapt to a bunch of different things. It also helps having things like a security clearance and security certifications. There are a huge number of cleared developer jobs that recruiters cannot fill.
My github profile is not a polished portfolio, it's not supposed to show my enterprise-level code-making abilities, it's meant as the place where I have fun and hack stuff and try things out. I've explained (and it has been understood) that when coding for fun, I'm not going to focus on the same things as when coding for a long-term enterprise project, and since time (and interest) are limited resources, it would be unreasonable to expect my hobby code to reflect how my work code looks.
Those hobby projects have granted me the job / provided a source of discourse during technical interviews, the openings themselves have always come from people I've previously worked with recommending me.
The first job I landed after presenting my exam project, the censor asked me to come for an interview.
Because I was following multiple Erlang-related accounts I saw that Basho was hiring a tech evangelist in my region, and while I doubt there was a lot of competition for the role, my side “gig” as ErlangInfo at least didn’t hurt my chances.
Later I applied for a job and all the work I did, backend and frontend and support and database and migrations and reports and visualizations showed my future employer that I knew every stage of work suddenly finding myself moving them into devops.
Upon returning to the States, my photography, particularly those gym and fitness-themed shots, caught the attention of locals in my city. They reached out to me for similar projects, focusing on social media branding and marketing, especially for bodybuilders and fitness enthusiasts. This was around the time when Instagram was rapidly evolving into a major advertising platform.
What started as a personal interest in photography and a love for the gym turned into a lucrative side hustle. I found myself immersed in the world of fitness photography, working with influencers and brands in the nutrition and fitness accessory sectors. This experience, born out of a hobby and a deployment, unexpectedly paved the way for a sustained engagement in professional photography, particularly in the niche of fitness and social media marketing.
I wrote an essay[2] about it which turned into a book[3] which turned into consulting gigs. Gigs turned into full time jobs including a stint at Stripe. The book also earned mid-five-figures over time.
[1]: I'm convinced that one of them was straight up gift card fraud facilitation. You could buy in-game currency with retailer gift cards.
[2]: https://www.petekeen.net/design-for-failure-processing-payme...
[3]: https://www.petekeen.net/mastering-modern-payments-launch-da..., the book links don't work any more :(
NxFilter ended up asking if I would be ok with being the official docker image and listed me on their website and in documentation.
I listed that on my resume for getting into DevOps fulltime and got the job. Now I work with people all over the US, Canada, and India.
I am job searching at the moment. While I adore 99% of the people I work with, the work itself isn't meaningful and I've survived 3 layoffs in 1.5 years. In my job preference list, it's currently only a few steps above HR/Payroll PAAS companies, just above Food/Dining/Beverage/Travel. I'd rather work on something that's improving people's quality of life, or solving the world's problems or making something more efficient for people outside of tech.
It's an alternate program editor that breaks source into tiles around grammatical boundaries: https://www.youtube.com/watch?v=tztmgCcZaM4
It mostly just showed that I had a genuine interest in programming, and served as a talking point (why Clojure, my experience with it, etc). The project wasn't related to the job at all.
We exchanged numbers, and after six or so months of talking to me, they convinced me to join them instead. I got in early and had a really good exit. Completely changed the course of my life.
My other passion (apart from biology) was film. I've made a lot of indie films over the last decade, but I always focused on film tech - volumetric video, mocap, etc. I'm currently building a startup in that space that started as one of my side projects. We're doing really well!
Side projects have always led to inflection points in my life. They have more pull than anything else, and they lead me down interesting problem gradients.
I'll get back to biology one day. I have some ideas there, too.
I wrote a Spirograph clone that worked on an iPhone as a Christmas present for my 6 year old, mainly because back then I couldn't find any existing clones where you could drag the gears around to draw, and I thought it would be a fun coding exercise.
It got me over the line in a job interview at the first startup I worked for. Spirographs and toy web apps had nothing to do with the job, but it was a quick way to demonstrate "chops" to the engineering team, in what was otherwise a disaster of an all-day interview.
I was sick, and tried to reschedule the interview, but the company had planned their whole day around me being there, and the CEO was going to travel for vacation afterwards. I put on a brave face and talked with the CEO, then the tech founders, but I was becoming more and more listless as the day went on.
The engineering team took me out for lunch and beers. We sat outside, and I was facing the sun, feeling like hell, and after the first beer I was in no way able to think technically. Rather than invert a binary tree, or whatever they were asking me about, I shifted the conversation to kids and apps, and passed my phone around for them to all play with the Pufftygraph controls and draw some hypotrochoids.
Some combination of sympathy for someone obviously dead on their feet but still trying, and the app, was enough to get my foot in the door. I had a good time there, but if I had it to do over again, I would have just cancelled since they were so inflexible. Now in the post-covid world, the idea of inviting someone sick to breathe all over your team for a day sounds insane.
[1] https://cautery.blogspot.com/2012/12/pufftygraph-html5-spiro...
After a few unsuccessful interviews, I was going to revisit what would be best for demonstration.
However, another interview came along and decided to try one last time with my existing software and hobby demos.
One demo was a C++ engine/game I wrote in my spare time. It was first person and dynamic lights (it was a thing back then). I was showing the editor side, which had 4 windows... front, side, top, and 3d.
It was fortunate because they had a C++ project, and nobody really wanted to touch it. So I gained bonus points to getting for being open to it.
The other demos I was showing was me mucking around with Javascript. One silly game was a helicopter trying to hit balloons. It had music and sfx.Surprisingly, of what I presented, he was really interested in the html+js demos, as they are doing a lot of web applications and want to push one of their existing products with more functionality.. animation, drag+drop, images, automation, etc.
Its funny. I felt like I had nothing to really show that would land me a job. On this ocassion, I managed to show things that just happens to link with real projects (in one way or another) they are doing. They pretty much offered me a 2 day trial (on a thurs and fri) to see how I would get on. The good news I passed without issue. They gave me a web project, heavy in javascript -- and to 1) avoid full post back (refresh) and 2) to support drag+drop.
I knew a little PHP at the time (more into C\C++) but they were using VB.NET - so managed to learn a lot in those 2 days, and meet their expectations.
I was officially a Junior Developer on Monday... and they decided to remove "junior" from my job title a few months later.
I demo'd it to him and I was allowed to start picking up development issues. Eventually became a full time developer. Kept learning and ended up containerizing all our applications and set up a kubernetes cluster, moving us away from VMs. ( responding to a desire from all the devs to start using docker ).
Circled back around and built automation for spinning up k8s testing environments for each the story in the QA queue to simplify things for our testers. By the time I the left the company, they hired a whole company to do everything I was doing, which I held off leaving until they were set up and I was able to knowledge transfer fully to the company. Moved to GoLang also now, don't really do php anymore.
Though still get keepalived alerts when a node goes down.
There are a lot of people who can program out there. Being really opinionated mattered more. Perhaps to a fault, I was very opinionated about how card games should work on phones, how people should play multiplayer games, how you should work with free versus paid game content, etc.
A few days after posting maybe even to Hacker News, there was a lot of adoption. A year later, shortly after graduating, Scopely found it on GitHub, recruited me, and I went on to make some big mobile games with the rest of their talented team. A New York Times Flash interactive I made helped too.
First was some downhill skateboarding projects - a bushing recommendation system and a site that allowed me to search all NZ skate shops from one place.
A popular US skate shop posted on Reddit looking for interns, but they weren’t interested in hiring so remotely.
Fast forward a week and the CTO got in touch to say that he’d interviewed a bunch of dud candidates, and meanwhile had been watching me commit exactly the code they were looking for.
Ended up contracting with them for a bit building an internal equivalent of the search tool, as well as bushing recommendations integrated with their listings.
The next is my work in the Cycle.js community (niche FRP JS framework). Mostly worked on trendy dev tools, but also did some valuable work on improving the speed, reliability and clarity of async UI tests that is still arguably close to best-in-class for JS.
That resulted in multiple job offers and an approach from Manning for a possible book deal, but none of it was that good of a fit.
In late 2019, I got a well-paid job in a large local company because of the project reference. Unfortunately, COVID happened, and I lost that same job after a few months. So again, because of Blazorise, I got several other gigs as a freelancer.
But after a while, it was hard to do all the work on the projects and do freelance jobs at the same time. Not to mention that family time was also very limited.
So I decided to commercially license Blazorise to companies, and keep it free for individuals. Hopefully, the decision paid off. Today I run a small company and continue to work on Blazorise full time. We're still fully bootstraped without any external funds.
Long story short, I got into programming by wanting to make my own SA-MP (San Andreas: Multiplayer) server back in the days, I was totally addicted to GTA. I then went on to learn other languages and ultimately built GTAMap.net, a interactive web map for the GTA series.
When I moved to Edinburgh, I realised Rockstar North was based there. I couldn't let that opportunity pass and applied for a junior IT support job. During the interview phase they saw my projects and the maps one in particular. They then got me another interview with the web team for an engineering role, which I ended up getting!
Dream came true, I spent 4 years there surrounded by amazing people and working on some incredible projects, I learned so much there. GTA is what got me into programming and 8 years later I end up working on it.
By the way, looking for a second one March-September 2024 :)
Hosting my own webservices for fun for years transformed to a side-business during a couple of years, where I was hosting paying customers.
My involvement with GNOME landed me a job with a GNOME-related company (but I sent them my resume, so this was not unexpected)
My life-long investment in free software landed me a teaching job at my university, totally unexpected.
I built a whole career doing side projects. Do more side projects. (many of my side projects didn’t pay me but, for some, it was a choice because you cannot do everything. Also, side-projects have different taste once you are paid for it. You don’t want that for every side project)
Another project that I built was a component library using HTML and CSS, so I built this to learn HTML and CSS in a better way. Its repo also has 6 forks and 7 stars - https://github.com/hsnice16/PoshUI-Documentation
When I found myself out of a job 1,5 years later, the company and it's needs had grown considerably and they hired me. That was 2014, I'm still there as the primary infrastructure guy. Although my responsibilities have grown and changed considerably since then, I'm still maintaining that CUPS install. Switched out OpenVPN for Wireguard, though :)
It was a fairly decent job, I helped the company scale from 5m to 15m communities and gave my software and infra skills a huge boost. I think without this experience, I wouldn't have the confidence to start working on software by myself as I do now.
The home server started off as an ubuntu machine that had everything installed manually. During this it taught me about port-opening and reverse-proxy setups. After I had it go down I then learnt about re-setting it all up with Docker.
Several times in my professional career I have used knowledge I gained directly from the setup and maintenance of my home server in my job. It's pretty cool seeing as my homeserver was used mainly for... umm... hosting a large number of linux isos...
The project was eventually discovered by my (now former) employer who needed the same provider but did some searching before writing his own and discovered my project on Github. It landed me a job interview and eventually a job. I don't think my project was the sole reason I got the job, but was more likely telling them I was operating in the niche they were looking for. Something that probably didn't stand out as much in my LinkedIn profile to be noticed there. Or I hadn't told it to enough people as there was some shared working history with others in the company. Enough to let them know they should hire me, but not enough to tell them I was someone they were looking for.
One of the contributors to the project also ended up at that company, I was asked about him during his interview and could give nothing but praise because I had been working with him on my project.
My 2ct is that whatever you do, make, patch, write, think up of, just put it out there. Even if it is not finished, create a repo and publish it, write a blog post, post it on a social. You never know who is searching for what and will find you that way. Your project , contribution or code snippet doesn't have to become a (commercial) success, if it just helps people or connects you in a way to someone new w're all better for it.
In some ways the backend at my current job is slowly coming to resemble some of the patterns I used here, funnily enough.
It got me my first 6-figure job at a startup the next year, as we weren't able to raise funding or afford to continue running it. We also got a cease and desist from Nasdaq for our awesome name (Nasdanq). It also played a role in getting my current job, as it was a more refined version of the b2b play we were shooting for and the CEO loved the project.
This lead to picking up a few projects from agency which led to a full time job and the rest is history.
The app ended up referenced in a later interview I had and helped land a job doing mobile development. This was very early days of iOS development, so just navigating the mess of getting an app signed and uploaded was sometimes a challenge.
[0] The first was a Minecraft server software with a web interface similar to an operating system. Players could log in, upload items, xp and trade etc.
[1] The second was a note-taking app similar to Obsidian, but completely real-time, based on a CRDT (yjs)
They had to go deep into the library of the platforms I uploaded to but it stood out as a work of passion. They contacted me and offered me a job on the spot.
The project took 9 months and a ton of iterations but I was so happy doing it I didn't care.
Still happily working at this gaming company.
After a short period of time, I saw a job posting by the company that read something like, "We need an MS Word Add-In developer," and from the job's description, it was clear that they want a developer to build a Word Add-in that consumes their API. Yay! I said. I instantly applied and attached a short video showing the add-in I built in action. I immediately got a response from the CEO himself, and I think the CTO or a lead developer was with him. They interviewed me and liked me, but, unfortunately, they didn't hire me because of me!
Honestly, I tried to sell them the add-in and ensure some level of future support, but they insisted on hiring me on an hourly basis; instead, I couldn't. I did not decline the offer directly but asked for an hourly rate I knew they would not be able to afford, and well, that was the end.
________________________
So, while I tried to figure out what to do, I worked on my hobby NES emulator for Apple platforms, Blackbox[1]. It's written in Swift and uses SwiftUI.
When a potential contracting role (100% SwiftUI) dropped in my lap, I had the confidence and skills to go for it. It's been great (my meeting-to-coding ratio has inverted!) and they're wanting me to extend my contract for another 12 months. I know the project helped make them feel confidence in my capabilities, but I think it's possible that they'd have gone for me regardless. But, I would've struggled, and I probably wouldn't have even gone for it in the first place because I'd have known that my skills weren't where I wanted them to be.
I got a couple of reach outs based on having that keyword on my profile alone on YC's job board and on LinkedIn that led to some paid consulting.
Not as life changing as some of the other answers but I'm amazed when this sort of thing even happens
Here they are: https://github.com/mosermichael
When it was finished I showed it to a few colleagues, one of which told the professor. I showed it to him and he got me a interview with a friend of his who was looking for an employee. We went for a coffee and he offered me the job right away which i took. A few weeks later i quit college, and I'm still mostly working for the company that gave me that first job, but I have my own company now.
https://github.com/x-govuk/govuk-form-builder https://github.com/x-govuk/govuk-components
Later I applied for an internship on a whim. I assumed I wouldn't get it since I didn't have the best qualifications. But the job required Flash experience and the Doom renderer made it very clear I had that much. I got my foot in the door, made a career out of it, changing the course of my life.
All of what I have learned is levered in my career and I’ve utilized that knowledge during all interviews.
My first startup was a different idea and back in 2007 it was a very odd idea that received attention here (lots of hate ..some pretty vicious) and in various tech publications. I learned how to code and design during that time and I think both factors which I marketed when applying for jobs helped me more easily get my first few tech jobs.
It was a silly, hacky, poorly made mess but it got the attention of a VP at my current company. They offered me the highest paying job I've had thus far (and I've worked at Apple and Spotify in the past) to play around with Gen AI.
Ended up working with them and later moved to a startup that also worked with them. For a college student, being able to work as one of the two engineers was great, system architecture, distributed queue, networking setup, everything is yours to do and learn. It was also a Mac OS X / Objective-C shop so learned a lot of obscure debugging techniques because there’s just not that many info available for OS X as servers. (We made web photo album editor and print it out for our users, OS X had the best PDF engine for free.)
Moved to the US from Taiwan later, the knowledge I’ve accumulated helped me passed my interview at Twitter and things went from there. I would never imagine a tiny app would lead me into a career!
Fast-forward to 2021, I got interested in debugging tools so I started contributing to the then newly created Ruby debugger[2]. In less than a year I opened more than a hundred PRs and became the 2nd biggest contributor of it. And that eventually landed me a job to work on Ruby's development tools, like LSP servers, REPLs, and of course, the debugger :-)
Secondly, before taking my most recent job (at Pinterest), I had just secured a conference talk about Isograph (https://www.youtube.com/watch?v=gO65JJRqjuc). At both companies where I eventually got offers, I spent a good amount of interview time nerding about Isograph with the interviewers.
Ultimately, it's unclear if this tipped the balance in any case, but the side projects seemed helpful.
----
Previously, while interviewing at a previous place, I showed off a side project to the interviewers, ran into a bug, and deployed a fix in real time. I was later told that they had never seen that. I think I would've gotten that job anyway, though.
This knowledge and quick demos I was able to do because of it enabled me to get multiple client projects.
I got a Mac Plus, and a DX-7.
I wrote a Mac MIDI driver. Worked well.
However, when I was done, Apple released their own, so ... plonk
But it got me familiar with the Mac, and landed me my first Apple job (which I actually got, before it was done -they didn't leetcode, in those days, so I was given a chance most folks wouldn't get, these days).
I built Doggypedia.org as a side project, I grew it to 100,000+ organics/month without backlinks or technical BS.[0] I wasn't able to monetize it. It actually made negative profit after hosting expenses.
But the case study was enough to attract the attention of a seed stage startup. I grew them from 0 to 1,500,000 organics/month and added ~100k paid customers [1]. This growth enabled them to raise a Series B from A16z.
This case study led to working with brands like ClickUp.
The company lawyer called me and accused me of "hacking" their website and ordered me to shut down the app or I would be sued. 30 (very long) minutes later the CEO called me, apologised, and offered me a job as iOS engineer.
And this is how I landed my first job, and the one that shaped my career for the next 13 years.
At my first 2 professional game industry jobs the people interviewing me had been players of a halflife source engine mod I was heavily involved in authoring. I think that was probably the major thing that got me in the industry.
Several actually. Neatly compiled into a PDF and with pretty pictures to represent them.
That said: those projects all had a visual or haptic component that could be captured as a picture.
I handed that PDF in with my applications. Some warned me about that, but overall I got only positive feedback.
I had an interview and just showed the live analytics of its use. At that time it had about 50,000 new users per day so the analytics was just a huge stream flying past.
That was fun.
I was avoiding working on my thesis and started diving into the world of OpenWrt. Added support of two devices and got interested into wireless driver. Put the stuff above into my resume. My boss saw it and invited me for an interview.
Some of those libraries became _very_ widely used in the Perl community. The number one most used is probably DateTime (https://metacpan.org/dist/DateTime), and number two is probably (https://metacpan.org/dist/Log-Dispatch). But some of the others also got a lot uptake.
I also contributed a lot to libraries create by others, most notably HTML::Mason and Moose, both of which were very widely used in Perl.
All of that, plus speaking at the Perl conferences, really helped me develop my professional network. If I recall correctly, all three of of my most recent jobs came about because of my Perl connections to varying degrees. Two of them were just because I posted on my blog that I was looking for work and someone I knew through Perl reached out.
Today I work in Golang at MongoDB. In 2022, I again posted that I was looking for something new and someone I knew from Perl who worked at MongoDB reached out to me. I'm really thankful he did, because working there has been great!
Nowadays I don't do much Perl any more, though I still maintain many of my modules (bug fixes and small feature requests only, though). I've also done some Golang (https://github.com/houseabsolute?q=&type=public&language=go) and Rust (https://crates.io/users/autarch).
But I think it would be _much_ harder for a young person to do the same things I did. Nowadays there are just so many freaking programmers. Someone invents a new language and five minutes later there are a huge number of foundational libraries for it. By the time I started with Go (mid-2010s), pretty much all the stuff I had done in Perl already existed in Go. And I found the same to be true with Rust when I started using it after Go.
Unfortunately, I ended up losing a good portion of my savings I'd made developing websites over the years. I choose to take the night off to figure out how the make the best out of this situation, which ended up turning into TrumpTracker.
TrumpTracker [1] followed Donald Trump's Electoral Promises and kept the previous president-elect accountable for all actions and promises he made prior to his commencement. I deliberately open sourced [2] the project so that everyone could equally vote on whether a promise was comprised via GitHub issues. There was also a published iOS app for a bit.
Since I'd completed the project in 12 hours post election results it got picked up by the news cycle.
I enjoyed working on something at scale which collaborated with engineers, data scientists, and economists from all around the world, especially when the codebase was forked and used in other countries for their respective electives.
This project paved the way for a number of projects, as well as my current job, and also helped in securing my eventual O1.
[1] https://trumptracker.github.io/ [2] https://github.com/TrumpTracker/trumptracker.github.io
The first fully functional Unit Test framework for ActionScript. It was great fun and helped get my career off the ground.
I stuck mostly to Linux and network engineering channels. I contributed to open source projects, answered questions, and asked plenty of my own.
One day I helped someone with some weird Docker issue in 2014. He later referred me to the company he worked for in San Francisco. I moved from my small 2,000 person unincorporated town a few months later, tripling my salary.
There were other ways it could have eventually happened, but the serendipity of that was never lost on me. Changed my career for the better — tho I left that company a year later for a unique opportunity at FB.
A year later, someone had approached me and asked me to join their start up. No interview or anything at all, just was like "You seem to do good work, I'd love for you to come work for me." Probably the wildest thing that happened to my career at this point, lol.
I was looking to switch careers from the current electrical engineering job to IT around 2008, and I found out after getting the job that members of the hiring committee had read through my blog and thought I'd be a good fit. I'm very thankful to that group.
In the process I taught myself web development and landed my first job because of it.
I did a (paid) side project for a macOS app and another one a few years later. The first one very small (but complex, digging through many layers) the second one small but substantial in scope. I got two job interviews because of those.
Moral of the story: keep doing paid side projects whenever possible. You learn a lot from your customers.
We got bought out and hired by a blockchain location company called XYO. We didn't interview at all. Well, I didn't. The rest of the team went to the company's HQ to sign paperwork. I happened to be on vacation at the time, so I had to call my boss while I was on vacation to give my two weeks.
I loved it.
I don't think any project specifically made potential employers say 'wow, we definitely have to hire this guy', but I think having actual experience doing stuff and demonstrating an interest for the field goes a long way towards landing you those first couple of jobs.
I used AWS kinesis video and Rekognition primarily with opencv and Python. There were electrical components to deal with too.
It was not the only reason he was hired; it was a solid addition to his already good performance at the interviews.
Or at least that is what the hiring manager later said.
The post: arminbagrat.com/What-on-Earth-is-Natural-Language-Processing/
a little flask based SAAS starter kit.
Got multiple work contracts some little publicity :)
I was lucky enough to have a good friend and neighbour down the road who ran ExNet [1], who provided me with space to host my first server, and oh boy looking back, I am surprised I didn't blow everything up! [2] - Windows 98 connected directly into the internet, with a fairly terrible firewall and some random remote control software I found!.
Eventually, though another MUD, we were donated a more up-to-date box, which ran Linux, and we hosted that MUD and the Faereal MUD for a while, eventually adding in my own DNS server, website hosting (PHP), and that is how I ended up hosting friends websites.
That turned into a hobby where I started to write my own PHP, started helping firstly helping out on a game called "PhaseOne" which was essentially a copy of a game we were all playing at the time called "Planetarion" [3] -- (OMG As I looked for this, its still running!). Part of this code I created a "Team based chat area", which eventually became the primary base for something that has taken over nearly 20 years of my life.
The code became the custom-written forum code behind DDR:UK, a Dance Dance Revolution fan website for the UK, which through the founders we created the "official" Sim Packs for DDR simulators such as DWI [4] and Stepmania [5]. This eventually moved into us working at events such as the London MCM ComicCon [6], where we bought in actual DDR arcade machines, including a Stepmania run DDR Machine that used to sit in the Namco Station in Central London on the South Bank. (I would love to say it was a world first, but there was one group in the US that had a temporary setup... I would like to hope we are the world first permanent money-making one :D)
That got me into running a Japanese Culture Festival called Tokonatsu [7] which got me into learning AWS. This festival has now been running for 20 years!
So all in all, how did this help:
* Interviews, it's a great story to tell, and I always get a lot of fun looks!
* Experience, from hardware, to networking, to early days of internet, software, hosting etc etc. I went thought a LOT of sleepless nights when I was younger sorting this out, gave me a whole bunch of experience that I would never would have had.
* Networking, still talk to a lot of people today, and these people are key for where I am.
Honestly, the owner of ExNet, I couldn't have done any of this, if he hadn't of started me on the right path.
EDIT: Totally forgot to explain where I am now! So with all this, through support tech, manager of of datacentres, through lead engineers, etc etc... I am now the AWS Practice Lead for my company, a Principle Consultant, and I am writing this in the airport on the way back from AWS Re:Invent 2023 :D
So yeah, that is my story! Hope someone does eventually read it :D
[2] https://static.colinbarker.me.uk/img/blog/2020/07/faereal-se...
[3] http://www.planetarion.com/
[5] https://www.stepmania.com/
Eventually landed me a job at Curse out in the States.
It’s also just quite a nice thing to be able to talk about in interviews or with colleagues who may be into the game.
A month later I received a cold email from a CTO to chat a bit about that PR, turns out they were using mini_racer heavily and forked it for their own purpose, and also created PyMiniRacer for the Python side of things. Next thing I know I got hired. Two years later the company got acquired.
Of course conditionally adding a compiler flag wasn't what got me hired per se, it only got my profile noticed. Probably side projects such as porting go by example to Ruby by implementing a ~1:1 CSP channel API[1], an Electron desktop client for Mattermost basically on a dare[2], an anti-ORM "why do we keep referencing ever-changing models in migrations" Ruby SQL generator[3], ex mode for the Atom editor so that I could have that frackin' `:w`[4], leveraging Blocks to bolt on object-oriented-ness onto C because "closures are a poor man's object"[5], or reverse-engineering the Xbox One USB gamepad and writing a kext to turn it into a HID device on macOS from scratch on a lonely 7+h train ride with passengers judgementally staring at me sideways[6] probably contributed to it a bit.
My takeaway: luck is when preparation meets opportunity; but don't do side projects to get hired, because if you don't get hired then that time is lost. Rather, of all things, scratch your itch, be curious, have fun, embrace whatever quirkiness you fancy, be proud and put it out; no one can take that away from you.
[0]: https://github.com/rubyjs/mini_racer/commit/2086db1bbf2b5de4...
[1]: https://github.com/lloeki/normandy
[2]: https://github.com/lloeki/matterfront
[3]: https://github.com/lloeki/rebel
[4]: https://github.com/lloeki/ex-mode
[5]: https://github.com/lloeki/cblocks-clobj/blob/master/main.c#L...
1. https://github.com/robertsdotpm/pyp2p - This was an attempt to make a peer-to-peer networking library in Python. Don't use it or anything as it's horrible code. But it was enough to get me a job at a startup called Storj. I messaged the team and was able to talk about specific challenges of peer-to-peer networking which were relevant to the product they were building.
2. https://github.com/robertsdotpm/coinbend - This was my attempt to build a decentralized cryptocurrency exchange whereby all trades were done without the need for an intermediary to hold deposits using smart contracts. This was actually one of the first 'decentralized exchanges' made at a time when the only coins that existed were forks of Bitcoin. It was impressive enough to land me a job at Exodus which is still the most incredible company in the blockchain space (IMO obviously.)
((If anyone's wondering: I lost both jobs due to severe untreated depression. Lmaoo... But I'm on meds now.)) But yeah, companies absolutely will hire people without degrees and based on the quality of the projects you've worked on. I know that many people say that working on side projects doesn't matter. But you need to actually talk about your projects and reach out to people for it to matter. If you just apply through HR they'll just go through a generic list of things to check off while they look at your resume.
By the way OP: I've always found that taking the effect to actually understand the problems that companies are trying to solve and outlining how existing work that you've done qualifies you to provide a solution is the fastest way to get a job. But again -- you need to reach the people who know what you mean. Shout out to Storj and Exodus -- both great companies that I would recommend.
Long story short: I had a bit of a fixation with political data wrangling.
This got me two really odd personal successes (excuse the slightly blowing of my own trumpet here, for story's sake): an app [1] that takes UK Parliament debate transcripts and makes an interactive n-gram analysis, similar to Google Books N-gram viewer, which was used by Robert Peston's political show on national TV and the press in the UK (e.g. on the Financial Times [2] and the Sunday Times [3]); then I did a quasi-viral blog post that used code to calculate the average face of a British MP [4], which got me a few contracts, including one with the BBC for the same thing in the US Congress [5]
When I say sideways, what I mean is that the interesting thing is that the jobs I got when using these as examples were not hands-on data wrangling jobs (in fact, they are terribly dirty pieces of code, but that's another story). What they got me is two things: from a technical perspective, the ability to see an end-to-end process to create a product, the running of a service no matter how small for a decade, the use of cutting-edge technology; from a broader point of view, they were great to show me catching the zeitgeist, seeing stories in data, engaging with national media. Both were incredibly "catchy" stories to tell during an interview, and even when challenged (my recent employers being in the public sector) they allowed me to explain myself and my journey.
So, in summary, I love how these two one-day hacks turned into great interview stories, beyond the very minor direct income that they got me.
Aside from the ability to blow my own trumpet a little, the broader applicable lesson here is that by working on something you have a passion for, no matter how geeky it might be, you can build something simple and not necessarily super tidied up, that will however be a good prompt to discuss both your technical and non-technical skills.
I've coached a few candidates for interviews in the intervening years, especially people in tech roles, and it strikes me how often they play down their own side project, which are sometimes much way technically better than mine and with some pretty good stories around the initial motivation and use examples.
[1] https://parli-n-grams.puntofisso.net/
[2] https://www.ft.com/content/d9db05e7-bb1c-4f38-9a02-bd6b66c9c...
[3] https://www.thetimes.co.uk/article/mps-are-becoming-more-loc...
[4] https://puntofisso.medium.com/i-calculated-the-average-face-...
[5] https://www.bbc.com/future/article/20171018-this-is-the-face...
After a few months of looking, I realised that there really aren't that many Chemistry jobs in my region, and fewer Maths jobs. The closest I got to a Chemistry job was an interview at a chemical sales company, and I the only Maths jobs I found were either research positions requiring a PhD (I only have Masters), or were at gambling game companies (which I'm morally opposed to). So I started applying for programming jobs. I got a couple of interviews, but no job.
When I applied for the role at my current employer (August 2019), I didn't really understand what the role was. I was hoping it was related to programming, as there was a bullet point about 'program logic models' in the job description. But in fact that was not the meaning at all. Nevertheless, I got an opportunity to talk about my experience with hobby programming, and particularly my experience working on the data processing script for importing addresses into OpenStreetMap. Providentially, my future manager was on the lookout for someone with programming experience, as the organisation was just beginning to understand the importance of good data processes. I'm pretty sure I got the job because of that project.
After a few months, I was able to get my title changed to Data Analyst. Within a year or so I was Data Team Lead of a brand new data team. And now I've moved sideways to a Data Engineer role.
My takeaways: - While you wait, find projects that you're passionate about, and go deep. - Don't be too fussy about your first job. Get in, then make it yours. Or leverage your experience to get the next job. (Either at the same employer or elsewhere.) - Once you get that first job, you get out what you put in. Go the extra mile to understand what people need, then figure out how to give it to them. Try to think about the big picture AND the details. You'll learn more this way, and show people your value at the same time. Find projects that will stretch you and give you hands-on experience. - Knowledge and experience compound. Never stop learning, and never stop practising what you have learnt. - Set hard boundaries for how much time you spend at work. If you are paid for 37.5 hours/week, then don't work a minute more. If there's more work than you can do in that time, it's a sign you either need to take on less, or your organisation needs to hire more people. It's not your job to fill that gap, and you'll burn out if you try, which is bad for everyone involved. (We have a 'flexible work arrangement' which means if I work an hour extra today, I can finish an hour early tomorrow. I write down my extra time on a piece of paper to make sure I remember to take it.) - Rest well outside of work, and keep learning.
At first I couldn't believe this would be a thing done by US companies (I thought maybe people in other parts of the world would have tried this, but no), but ultimately I had to face the unpalatable reality that indeed they were trying to unethically trick me into surrendering my IP by using grabby IP clauses.
When I pushed back and went through multiple rounds of contract clause negotiation, their grabby language only got more extreme in iteration (to a ridiculous degree), essentially a legal "fuck you" to standing up for myself and my rights.
Essentially a ploy to try to use an employment contract to own all my OSS work, and when I brought up ways to clarify and mutually protect IP on both sides from any such contamination, they resisted, and ultimately refused. SMH disgusting experience.
I think the most offensive thing about this was that they thought I was such a rube that I could be tricked by that, and also that it demonstrated they would try this with others. I hate the idea that little OSS developers out there were seen as inexperienced rubes to be taken advantage of. It's so hurtful. What about all the other folks out there who weren't canny enough to protect themselves, or even read through the contracts?
For reference this is not just "default clauses". I've signed many contracts that had zero grabby "own everything related" IP clauses at all, in multiple US jurisdictions. This is entirely an optional thing and does not need to be included, especially not in the circumstances I was in. The resistance in the face of subsequent negotiations, only strongly supports the idea that this is a deliberate ploy. Please respect that I'm not going to name and shame specifics tho right now, I think there's other more apt responses. Consider the experiences related here a warning enough to be careful with how you protect your IP in your own dealings, no matter who you deal with.
Sometimes the public face a company presents is so different to how they conduct themselves. Disgusting.
Recognizing potential in this idea, I approached a burgeoning startup in my country that was launching a ride-hailing service. To my astonishment, they expressed interest and invited me to join as one of their first engineers. This role turned out to be one of my most enriching startup experiences. I dedicated over a year there before transitioning to another company.
This startup, Yassir, later gained traction and support, securing backing from Y Combinator and raising over $150 million. My early work with them remains a pivotal point in my career, highlighting the power of innovation and the impact of new technology in the startup world
I love these stories. And for every cool one, there’s at least a hundred “contributions” that result in no form of “payback.” I fear younger readers might read these and work their butts off in hopes of a payback, or worse, “tune” their philanthropic contributions (er, open source) to optimize for a return. Make cool things. Be glad when good things happen to you. Don’t try to connect too many dots.