We’ve all heard the advice: the best developers live and breathe programming. But you’re also a human being. Maybe you’re not the stereotypical 22-year-old with no ties or responsibilities, happy to work 18-hour days. Maybe you’re a mother or a father, a husband or a wife, a caretaker of an elderly relative. There are millions of developers in the world, and they come in every shape. Most of us are not in our early 20s, many of us aren’t single, and few of us want to give our entire lives to our jobs. So how do we reconcile that truth with the general belief that the “best” developers are those who eat, sleep, and breathe code? In other words, how can you show you’re passionate and committed without completely neglecting the rest of your life and responsibilities? Specifically, how can you find the time for personal projects without losing your mind? I spoke with a few developers who face this challenge every day. These are people with full-time jobs, families, and busy non-work lives who have also built and continue to build successful side projects. There’s no magic bullet, they insist. It’s a matter of priorities and accountability. Here’s how they do it without destroying their lives in the process.
Why do developers build on the side?
Keeping skills sharp
Max Page, a lead developer turned product manager, values the opportunity to work on his side project CouponHippo because it helps him keep his coding skills fresh now that he’s not using them like he used to in his day job. “My main goals for this work,” he says, “are to keep my coding skills sharp, play with new technologies that come out, and to augment my normal income if possible.”
Additional income
A secondary income stream is a driving factor for many developers who work on personal projects outside of work. Craig Phares runs his own digital agency, Six Overground, full time, but also works on smaller projects (here’s one example) outside the scope of his client work. “As a digital agency,” he says, “we’re often tied very closely to an hourly rate, so to make more money you have to work more hours. Building a product that brings in revenue without a direct relation to hours is ideal and fills in those inevitable slow periods of client work.”
New technologies, new opportunities
Craig also values the non-monetary benefits of side work. “Side projects are a great opportunity to learn a new technology. My first Ruby on Rails web application was a side project. My first native mobile app was a side project. Because you have the luxury of taking the time to experiment, you can really advance your technical chops.” Developer Neil Harris built Intently.co as a side project while also working full-time as tech lead for a UK engineering company. Intently.co is growing quickly, and he expects it to become a full-time venture soon, but he maintains that building it “on the side” was of great value. “I wanted to build something without any investment, and this was the best way—my job gives me the financial stability to try new ventures on the side.” Neil adds that it’s opened doors in his career. “I am now much more adept and confident with web technologies than I was before, and this gives me the confidence to lead teams in this space at work. Perhaps the most exciting opportunity is the chance to advise other startups or companies who want to grow their web presence—I have learnt a huge amount about hosting, SEO, and web apps because I have made a success of Intently.co, and I think it gives me the credentials to go and advise other companies.” Stephan Baker, a software engineer at Forest Giant, agrees: “I don’t really go into these projects expecting it to open doors, but without a doubt it has on many occasions. Side projects, as well as attending developer events such as meetups and conferences, can really help to grow your professional network. Finding other people who are excited about the things you are excited about opens many doors, both personally and professionally.” Justin Avdich, a Web Developer at Cheeky Monkey Media, says his side project is a passion project, and notes the benefits of building a reputation. It “helps me learn new skills and stay on top of some of the trends,” he says. “It’s also a way for me to put my work out in the wild for people to see.” We’ve written before about building reputation and getting your work out there for people to see, and the developers I talked to agreed that side projects are an ideal way to do that. “Most technology jobs like people who have side projects,” says Max. “It shows you don’t just mail it in 9-5. You actually enjoy pushing yourself and using new technology. It shows passion.”
Passion
Passion is a main driver of side projects, and often times that passion comes from wanting to address a roadblock you’ve stumbled across in your daily life. Liza Rodewald, a .NET developer for the Mississippi Secretary of State’s office, cofounded a company called MadSkills on the side to fix a difficult issue she experienced: “I starting working on this project to solve a business problem I came across as a military spouse. There were professional spouses struggling to find meaningful professional work due to the frequent moves required by the military. MadSkills is my passion project.” Unfortunately, some employers equate “you’re passionate about coding” with “you code in your free time.” While this is unfair assumption, developers who do have a side project can use it as a tangible and demonstrable example of loving their craft.
How do they find the time?
Keep it fun
In fact, passion was a recurring theme with the developers I spoke with. Most of them, when asked how they find or make time for side projects while they’re working full-time, raising families, or fulfilling other obligations, cite passion before anything else. Justin, who has both a full-time job and a 10-month-old daughter, says, “I feel that if you’re passionate about something, and enjoy doing it, it becomes easy to find the time. I treat it as a hobby, more of an escape than actual work.” Adam Richardson of Forest Giant agrees. “I think it’s crucial to try to keep the job fun. Maybe what you’re working on at your day job isn’t your favorite and you feel totally drained once you’re done. This is understandable, but I think a powerful tool to fight burnout is continually seeking out, independently, things you find exciting and interesting.”
Prioritize and schedule
Doug Bradley, owner of Inland Empire Lawyers (which he built on the side while working full-time as a software developer for another firm), stresses the importance of being realistic. “Anyone that thinks building a side business is something you can do in your spare time is kidding themselves. There’s no such thing as spare time.” Rather, he argues, you can find the time if you’re truly passionate about something by prioritizing that over other things. “If you have no passion for it, then you’ll find no value or sense of pride trading your personal and family time to develop it properly.” Watching TV was the most commonly cited activity that developers forego in favor of coding. Liza, raising four children with a husband in the military who is gone often, says, “I schedule every aspect of my life in order to create time for everything. I hire in-home childcare and household cleaning to help maximize my time. Everything in my life functions according to a plan. Laundry, groceries, family play time and work all get a schedule.” Craig is blunt: “Replace ‘I don’t have time for this’ with ‘This isn’t a priority for me.’ Anyone can make time for something if it’s a priority… stop talking about it and start making it.” One technique developers cite for “making” or “finding” time is setting aside a block of time—even a very small one—every day and holding yourself accountable. Milen Marinov, Lead Mobile Developer at Kanbanize, has built an app on the side called Help A Paw that “helps volunteers coordinate their efforts in helping injured stray animals.” Milen reminds us, “We all get 24 hours every day and having the time to do something is just a matter of priorities. So, if you feel your contribution will really help make other people’s (or animals’) lives better, you’ll find the time to do it!” Overall, these developers felt that finding time to work on side projects wasn’t as difficult as many of us think it will be. Finding something you’re passionate about, holding yourself accountable, and scheduling hard blocks of time that you’re committed to spending on your project will all help you make progress on a side project.
Ship it. Now.
Most of the developers I spoke with stressed the importance of just shipping. Stephan says, “Whatever it is you’re making, remember that development is an iterative process. What you are making doesn’t have to be perfect the first time through, it isn’t going to be everyone’s cup of tea, and you shouldn’t wait until it’s finished to show someone what you’ve been doing (hint: It’s never really finished.”
Ethan Schmidt, who built GymBull.com with friends while working full-time as a software developer for the Department of Defense, agrees. “Don’t wait until you’re 100% comfortable with either technology or your business idea because by the time that you are, someone else will have made what you want and the whole community will be using a different set of tools.” Neil says, “Jump in—if you have an idea then you can build it.” And Max advises finding a problem that people have (preferably all people, not just other developers, he emphasizes). Next, you should build “a small solution in a weekend and push it out live. Once something is live usually people find small amounts of time to incrementally make it better. Just take that first step, and it’s easier to keep going.”
Don’t forget about open source
Jesse Lucas, CTO of Forest Giant, advocates dabbling in the open source world, something we’ve also mentioned before here. “Don’t wait to be asked to help or join,” he advises. “Find something you’re interested in and start helping. The open source community is extremely helpful and inclusive. Don’t be afraid to put yourself out there and start contributing!” This is also a way you can get involved and show your passion without diving in fully to building an entire product on your own. Just getting your feet wet by helping with somebody else’s project is a good start, and for some developers, that’s enough side work to keep their skills fresh and their network growing. Even if you don’t have a Big Idea, there is work to be done that you can do. And then you can put it on your resume.
Is it worth the sacrifices?
All of the developers I talked to about this felt strongly that working on side projects had benefited their careers and their lives; none of them regretted the time they’d spent on their projects. They all have full-time jobs, and most have spouses, children, and other obligations, but they all maintain that prioritizing a side project, starting small, and keeping the work fun help them push forward and accomplish great things “on the side.” Julia Silge, a Data Scientist here at Stack Overflow, told me that getting involved in open source helped her transition into data science after spending a few years caring for her children full-time. "I got involved in open source thinking I would learn and update my skills,” she says, “but the network I've built has been invaluable to my career." Don’t waste what little time you have on things that aren’t worth the sacrifice; chances are, you have plenty of those things in your life, sucking up minutes here and there. A little discipline and prioritizing can help you make those minutes productive and rewarding.
Liza says, “I have a passion to see other professional women balance their families and continue their careers.” This passion drives her to find the time, and she finds it rewarding. “If I can juggle two jobs, four kids, and a husband in the military that’s gone all the time, the sky’s the limit.” Craig, who is married with two young children, acknowledges the difficulties in balancing his priorities. “I pick up the kids from school every day, and cook dinner for my family,” he says. “And client work always takes priority over side projects. Yet, I’ve been able to build and launch a number of side projects.” He works late at night, when the kids are asleep, and gives himself strict deadlines. “It’s important to do a little bit each day,” he says, “even if it’s just an hour.” He also acknowledges the importance of a supportive partner. “Having a partner’s support can be incredibly encouraging,” he says, noting that he can bounce ideas off his wife for feedback. “It’s important to make sure [your work] doesn’t infringe upon your personal relationships or family obligations...Friday and Saturday nights, there’s a no-work policy in our house.” Justin’s wife, too, supports his efforts. “Without her support, it wouldn't really be possible. I feel it’s important for a relationship to spend time doing things we both enjoy (sometimes it’s something together, sometimes it’s something individual).” “Building and launching your own product can be an incredibly fulfilling experience,” says Craig. “And once you launch your first side project, you’ll be back for more.”
A word of caution
One thing the developers I spoke to agreed on was the importance of keeping your employer’s time and your own time separate. If you’re doing work on the side, it must actually be on the side—not snuck in at the office, or done when you should be working for a client. Craig says he has a policy of “Funday Fridays, where everyone is allowed to work on their own side projects. Of course, if there’s a deadline for client work, that takes precedence, but having that day informally set aside to work on personal projects allows for an extended period of serious progress each week.” You might be surprised how many companies will allow some of this. But of course, many do not, and expect you to be on task for 40 hours per week, no exceptions. If this is the type of company you work for, don’t cross any lines. You should also be aware that some contracts include clauses stipulating that if you DO build anything on company time, the company then owns the result (and any profit that comes from it). See what Stack Overflow CEO Joel Spolsky has to say about this. The developers I talked to all agreed it is possible to find legitimate “free” time, even in the busiest lives, if you prioritize that time—and you shouldn’t have to short-change your employer to do it.
Your turn
I’d love to hear from you, the reader: do you have a side project? If not, why not? And what other information on side projects can I bring you to help you succeed? Image courtesy of wocintechchat.com