1. 20

I would love to hear from people who a got job through their side project or got recognized through there blog. What was the experience like and how much leetcoding did you do?

  1. 5

    I systematically report side projects on my CV, as well as a link to my technical blog. In my opinion it matters even if who evaluates you as a candidate doesn’t delve into your code.

    I cannot tell if my perception corresponds to truth.

    I personally don’t do leetcode. I believe into making sensible, working and curated side projects instead, serving the double purpose of personal satisfaction (mainly) and live CV (side effect).

    1. 4

      All sorts of things. A side project turned into an (unsuccessful but educational) company, at the same time that I changed careers from geology to programming. I had nothing else recent on my resume that was programming-related.

      Another side project got somewhat popular and so when I posted about quitting my current job a collaborator said “hey, why don’t you work for me as a contractor for a while?”, and several other interested people reached out to me with interviews. The contractor gig not terribly successful, but again very educational, and so I went on as a contractor by myself for a while, because I knew I could do it. That side project also resulted in a lot of documentation and testing work, so when I moved on to the next job the reception was “wait, you know how to do all this stuff? PLEASE KEEP DOING IT”. I also know a lot more about robotics than I really expected, because I like writing video games on the side, and turns out a lot of the math and problem-solving is very similar.

      Do something you’re interested in, treat it professionally, and some part of it WILL be useful someday down the line.

      1. 1

        Agreed. I totally believe in this and this is also a way of giving back to the community

      2. 3

        I recently purchased an @.dev domain for email and started referring to my blog on my CV (I mainly talk about math). I don’t know if it’s coincidence, but I landed a high-profile job shortly after that. I suspect it might have helped, not because my blog is especially high quality, but just because it shows that you like to spend time investigating.

        1. 4

          that’s really cool and I would love to read your blog

          1. 2

            Ooh, please link your blog!

            1. 1

              It’s rubenvannieuwpoort.nl (the site is hosted on rubenvannieuwpoort.github.io) :) The “I mainly talk about math” remark was directed at my blog, not at my CV. BTW I am currently rewriting the article about Cardano’s formula (I think it’s actually called “Cardano’s method”) and I have a lot of ideas for articles that I haven’t found the time for to write.

          2. 3

            I don’t know if this counts as getting a job through a side project, but it’s close.

            Around 2012, I found I just didn’t get along with webdev, and I really wanted to do something else. So, I started self-teaching about how to implement programming languages. I did some side projects that some small amounts of publicity. As of 2020, I have mostly succeeded in focusing my career towards more low-level tech: compilers, languages, high perf code, etc. It was a combination of luck (I got some small-ish DSL/compiler/interpreter professional projects) and deliberate practice.

            I did zero leetcoding (assuming you mean the website), as it is uninteresting to me. IMO, coding is intrinsically motivating and a bicycle for the mind. Though it took quite awhile, my self-teaching enabled me to learn how to find people with whom I share a common technical aesthetic. This turned out to be a key skill in networking. Now I see many more opportunities that are up my alley, whereas they were not as apparent before.

            The long-nights-of-the-career-soul eventually do turn to day.

            1. 1

              Very inspiring. Hoping to read one or two your experiments, achievements. Don’t see you got any blog though!

              1. 1

                My blog is out of date, but you can browse some of my work on Github.

                1. 1

                  Will do. Thank you!

            2. 3

              I’ve never gotten a job specifically via side project, but they have acted as good nerd-credo in interviews and with co-workers.

              I think this has been mentioned before, but I think the group of people who grind sites like leetcode and the group of people who have a significant side-project output is pretty separated.

              Side projects, appropriately deployed, have to interact with the real world in a much wider context than leetcode exercises, they’re a lot more likely to be ambiguous and deal with fuzzy scenarios and force you to problem solve in a product-oriented way. leetcode, on the other hand, has one purpose: Get better at algorithms so you can do better in interviews.

              Of the two, I’d highly recommend writing a side project that scratches a personal itch of yours, and then figure out how to try to share it with other people that might want it, going as far as trying to learn how to market and sell it.

              1. 2

                Agree. People are often very good at sniffing out intrinsic/extrinsic motivation, and, ironically, intrinsic motivation is often a stronger hiring indicator than extrinsic. Or, at least for the types of jobs I’m interested in. :)

                1. 1

                  I’m unsure that that’s necessarily a healthy thing for the industry as a whole, (in part because for many people, myself included, intrinsic motivation can be a fickle thing). But, at the same time, I do prefer to work with people who have a curiosity for software development that isn’t bound to only the current job.

                  Though, more than anything, I want to work with people who have made the space (at work or otherwise) to keep learning, and that don’t get stuck in a rut from 5-10 years ago. And side projects are not the only way to have that.

                  1. 1

                    Agree. I see it more as doing something, rather than sitting around and hoping things change for the better.

                    It is entirely rational for employers to want experience working in certain domains, like compilers. And it is entirely reasonable for employees to want to switch into those domains even without experience. The only way around that is either academic or self-instruction. It’s not economically or personally sustainable all the time, despite what all the productivity blogs claim.

                    But it’s a helluva lot better than feeling stuck.

                2. 1

                  I totally agree with you. Leetcoding tests your algorithmic skills but It can also be memorized but Personal Side Projects really tests your creativity and helps you learn a lot. Side projects basically allows you to your idea to life.

                3. 3

                  I have pretty good github page: https://github.com/antonmedv It helps significantly.

                  1. 1

                    You have a lot of stars. May I ask how do you promote your projects

                    1. 2

                      reddit/lobster, rarely hacker news. Sometimes one/or another got popular. I think the main inside - I do lots of projects (it’s a hobby for me). Example:

                      And, of cause, I have lots of unpopular projects:

                      As you can see, quantity grows into quality.

                  2. 2

                    Around 2007 or so I was writing articles about stuff I was doing in Perl at the time on my blog. Perl was on the downswing at the time but there were, and in fact are, still companies who needed to maintain applications and code that was written in Perl. The combination of a shrinking pool of Perl programmers and Blog featuring articles about Perl landed me my first full time non-contract job as a software engineer.

                    I’ve been doing this software engineering thing ever since.

                    1. 2

                      When I went for my first programming job, it was at a games company, and I had a disk full of graphics demos and a completed game (just a simple sliding puzzle, but it was a full game). This really helped with the process as they could tell from looking at that, and talking with me about it, that I already knew 68000 code, how to put a working program together etc. When I went for my interview I was in the waiting area with a guy with a much better education (a masters degree from a better college), and yet I still got the job over him.

                      Side projects have helped since then. Maybe 15 years ago I was working on a Playstation game that wasn’t going anywhere and wanted to move to a better job. I spent some time on the side working on a Bezel surface renderer that used some advanced (at the time) surface subdivision techniques. Showing this to some guys at work I got a new and vastly better paid job without even applying for it! Some colleagues of mine one Friday afternoon said, hey congrats on the new job, and on Monday I got a call about it and started later that day. All from a side project.

                      These days I no longer work in gaming but I often do side projects in my spare time which sometimes don’t see the light of day and other times become conference talks or prototypes for new business systems.

                      1. 2

                        I owe my entire career to open source projects. I flunked out of college after flunking the same math class three semesters in a row. My current employer snatched me up because they were already basing their security appliance on tech that I am either foundational to (HardenedBSD) or a core contributor of (OPNsense).

                        If it weren’t for the generosity of others in sharing their code for me to learn from, I wouldn’t be gainfully employed in my passions. I truly stand on the shoulders of giants. Now as I’ve grown and learned a lot (and still have a lot to learn!) I’m able to contribute back and hopefully change someone others’ lives.

                        1. 2

                          I’ve been dabbling in video game design ever since I started programming. During my time at university, I had various small side projects. One of them was reverse-engineering a Windows 3.1 game and reimplementing it in JavaScript (you can play it and read all about it here: https://mental-reverb.com/blog.php?id=3 and the source code is available here: https://github.com/BenjaminRi/Banania). I was also working on a C++ game (using SDL, OpenGL and boost::asio) which is how I learned the bulk of my C++ knowledge. When I applied for a job (embedded software engineer), I showed them my blog and I also showed them a functional and interactive demo of my game and I’d like to believe it increased my chances of landing the job.

                          Ironically, I never finished the C++ game (mostly due to difficulties with cross-platform C++ tooling, but I could write an entire blog post about why it never came to be). I consider it one of my biggest failures, but maybe I’ll reboot the project in Rust.

                          Fun fact: By pure chance, the creator of the Windows 3.1 game I reverse engineered stumbled upon my website and contacted me. We had a nice chat via email. Sometimes, the internet is a smaller place than you make it out to be.

                          1. 2

                            While I was at university (and dropping in and out and doing random early webdev) in the late 90s I got involved in the GIMP/Gtk+/GNOME community, mostly on IRC. I ended up starting to contribute to Gnome-VFS (precursor to GVfs).

                            Eazel, the company that was building the Nautilus file manager contracted me to contribute to particular parts (http client, ftp client) and then hired me. They moved me from Western Australia to Silicon Valley and though they went out of business a few short months later I’m still here and the connections I made through that first Bay Area company I worked for have guided my career in many ways.

                            1. 2

                              After I joined my current job, I found out that the people who were involved in hiring me had been reading my blog. In another interview, I found out that one of the interviewers had delved into a project I had on github and I ended up explaining the architecture of that project to them. I actually didn’t hear back from them, so technically I don’t know what happened, but after all this time, I can guess :). Also, interestingly, at one interview they quizzed me on a technology I had not used at work, but had used in a hobby project, and perhaps the only reason I was interesting to them was because of this hobby project that used this technology.

                              1. 2

                                I get contacted from potential employers all the time because of my blog. I had to do very little-to-no leetcode (i’m still not really sure what it is), and most of my interviews are just explaining the stories behind why blogposts got written. I’ve had lots of fun conversations this way.

                                1. 2

                                  What do you mean by “leetcoding”? Are you referring to https://leetcode.com/? I never used this and I’m not sure that it’s a good idea to spend time doing “artificial exercises” when so many real projects are seeking for help. Contributing to these projects and communities can give you an experience close to (if not similar to) working in a company, with all the complexity, annoying details and social human issues that constitute the mess we call “real life”. https://leetcode.com/ seems mostly about algorithms and pretty much nothing else.

                                  What really worked for me (but I can’t guarantee that it will work for others!) is contributing to an existing project and community. The community aspect is really important: a company much more a set of people than a pile of code. As the project already exists, you can meet many people, learning to work with them, see your contributions shipped and recognized, write them on your CV and maybe some people in the community can help you to get hired (that’s what happened to me). But obviously there’s the risk of contributing for years without getting anything in return, so it is important to contribute to open source projects you really like.

                                  Starting your own side projects is funny and useful for learning technical things, but you will probably not end up working with others this way. And I never started a blog as I don’t have a lot of experience and ideas to write about so it’s probably too soon (but also probably something I should do in the future)

                                  1. 1

                                    I worked on a particular well known UNIX desktop environment for a few years, starting out writing a utility and a game, neither of which were great, but then learning the ropes a bit and starting to contribute to core utilities and libraries.

                                    After a few years I started to respond when companies asked around for developers with experience with the toolkit. I got into contract work and had some fun working on cool apps and tech.

                                    I was working entirely from home for about fifteen years. At one point, I needed work and there was nothing immediately available, so I took a local job in an office with very different tech, starting ‘at the bottom’. It turned out to be a great learning experience though, so I stuck with it and forged a different path.

                                    1. 1

                                      I landed my current job after meeting my future boss at a conference where I was speaking about https://rubystyle.guide (a project that I started a long time ago). I’ve often gotten some job offers because of my Ruby and Clojure OSS projects (https://metaredux.com/projects/) or some talks I’ve given (https://speakerdeck.com/bbatsov). No one cares about the Emacs stuff, though! :D Side-projects can definitely help your career if they gain some traction, but given the huge amount of time I’ve invested in them I’m reasonably sure the ROI on them is negative. :D

                                      1. 1

                                        Interestingly enough, I got my first job because someone saw me doing coding live on Twitch. I was trying to get more comfortable with Angular.js. I found that if I talked challenges through with myself, it helped. If I talked challenges through with other people, it helped even more.

                                        Anyway, it turns out that letting someone see your thought process as you’re working is a lot like doing a coding challenge in a formal interview. Someone popped in to watch and asked me if I was local to them. A couple weeks later, I had an on-site, and had an offer before I left.

                                        1. 1

                                          When I was looking to leave academia, I started working on side projects related to SciPy, learning more algorithms and blogging about it as I went. The blogging part helped me stay consistent and focused. Having the blog also convinced a friend of a friend to vouch for me at Google, and that became the start of my programming career.

                                          1. 1

                                            I can’t point to a causation but doing a lot of open source work (not in established projects) and being active on social media built up my resume, gave me enough credibility to at least get an interview.

                                            *My open source was not super complicated or impressive (it wasn’t kubernetes), but it was for things I needed myself.

                                            1. 1

                                              My blog landed me a job a few days ago! I got an email telling me they liked my writing, got on a call, got hired—ezpz. Oh, and no leetcoding whatsoever.

                                              This is my first “real” job, by the way. Excluding internships.

                                              1. 1

                                                A few months back I was reading and learning a bit of COBOL. Someone found my blog via a link to GitHub or my site and reached out to me saying they enjoyed some of my posts. I’m doing some contract work now as a result. Alas, it’s not COBOL work :( But web stuff is fun too :)

                                                1. 1

                                                  I got my first ever programming job after being a bit tipsy and answering a question about meta-programming on a local Ruby mailing list (Ruby Ireland) and impressing someone who had freelance work on offer.

                                                  1. 1

                                                    I’d say I first heard about the posting for my current job from a tech forum I answer questions on, and may have got the interview because I would help people with their problems.

                                                    The job is embedded development, something I’ve been meaning to get back into. I had still been doing embedded development on my own just because it’s an interest of mine. I don’t think anyone saw my blog, but just being able to talk about embedded stuff during the interview really helped.

                                                    But similar to what @BenjaminRi mentions, my blog got the attention of someone working on a project similar to mine. They were much more experienced and they reached out to me and helped me through a lot. So not related to getting a job but my blog really did help me get connected with them.

                                                    I have no idea what leetcoding is.

                                                    1. 1

                                                      I see many people posting having no idea what leetcoding is on here This gives me hope if you are willing to put in enough work by writing blog or even side projects this can help you get noticed and you can end up having a rewarding career. Honestly this gives me a lot of hope

                                                      1. 3

                                                        Success is what you define it to be. Internalize this.

                                                        The archetypical tech success story involves high salaries, famous companies, and a life defined by upward mobility. This is extraordinarily fragile if only because each one of these metrics is other people’s perception of you, which you cannot control.

                                                    2. 1

                                                      A couple of years ago I wrote a book on cloud hosting which has never sold very well and doesn’t actually have gotten me a job, but it has made the process much easier (when the interviewer notices it) and has generated many interesting opportunities.

                                                      Being a book, I didn’t really code much, but I think that the research, the writing and editing were comparable in effort and difficulty to a coding project.

                                                      1. 1

                                                        I received a job offer by mentioning the company’s name in my article. Didn’t take it up, but thought it was interesting.

                                                        1. 1

                                                          I didn’t land a full time job, per se. I write posts just about things that interest me or that I’ve worked on. I was contacted by someone from Packt to write a book about Python metaprogramming (which I turned down, I don’t have the time for their publishing schedule), and I was contacted by someone from LogRocket to write some Rust articles for their blog, both within the last few months. I took up the folks at LogRocket because I can write about whatever I want (for the most part) and on my own schedule.

                                                          I didn’t do any leetcoding at all because both opportunities were based on my writing skills and there wasn’t a traditional interview.

                                                          1. 1

                                                            During my PhD, I started doing some writing and consulting and by the end of my PhD I was making enough to do that full time:

                                                            • I was involved in XMPP fairly early on. Peter Saint-Andre was supposed to write a book about XMPP for Prentice Hall, but didn’t have enough time. He sent a call to one of the mailing lists and I followed up with his editor. They decided that there wasn’t a big enough market to justify a book (O’Reilly had just released on and it hadn’t sold well) but I did some work-for-hire on a Linux book as a result of this. This, in turn, led directly to 4 more books and 150+ articles for InformIT.
                                                            • I wrote the GNUstep Objective-C runtime and have had a bunch of consulting work from various bits of Objective-C things. Objective-C ends up in a bunch of weird places (SS7 stacks for some major telcos, for example).
                                                            • I contributed to LLVM from about 2008 and had a bunch of consulting work as a result of this. I had a bunch of personal projects related to cross-language interop from this and came to the conclusion that doing it properly required some extra hardware support. I got a job at the University of Cambridge working on the hardware support that I needed because of the LLVM work and this (they needed someone to lead the language / compiler thread of the work). I only found out about that job from talking to Robert Watson in the FreeBSD private IRC channel - I’d been contributing to FreeBSD things for a while, including a load of LLVM-related work and the project was using FreeBSD for the OS support.
                                                            • I mostly got my current job at MSR on the basis of the work at Cambridge, but the fact that WinObjC shipped the Objective-C runtime that I wrote certainly didn’t hurt: MSR needs to be able to work with MS product teams to transition research to products and having already done (working with the MS developer division to get the runtime into a state that they could ship) that was probably helpful.

                                                            I’m not doing consulting work at the moment, and just asking anyone who benefits from open source projects that I’ve worked on to contribute to Murray Edwards College if I happen to fix bugs or add features that they care about.

                                                            1. 1

                                                              I must say I am loving reading everyone’s replies and it gives me a different perspective of how something you love can help you land a job such as helping in software communities , writing a blog or doing side projects. Leetcoding and side projects both have pros and cons but I would prefer side projects as it really tests your abilities

                                                              1. 1

                                                                For last few years I’ve been working on Atlassian products mainly Jira and Confluence as a Administrator. Before that I’ve had done some Web Application development (J2EE, Struts framework). IMHO I was never good at it though.

                                                                But as I took on the role of Application Administrator, I saw lot more opportunities to use my programming knowledge to automate many mundane tasks; wrote my first open source add-on for Confluence, now commerical to make my life easier as a Admin. After contributing to Jira and Confluence open source SAML / SSO connector, I developed another open source SSO Connector for BitBucket Server I think by using my programming skills for Administrator role, I was already doing DevOps role even before this term was coined :-)

                                                                I strongly believe this all side projects helped me to give two talks 2013, 2018 in Atlassian Summit as a featured Speaker.

                                                                Last year when I was interviewing for a job change, Interviewer told me that he has attended my Atlassian Summit 2018 talk. Yes I did I got offer for that position, but decided to pursue startup where I’m very happy to learn more craft.

                                                                So yes my side projects and blog that I’m maintaining, have taken me to places which would not have possible otherwise! Few weeks back I’d given talk in front my Alma Mater where I encouraged students to do the same.