thecodeboss logo

My Experience as a Contract Developer while being Employed

Last Fall of 2016, I had the experience of taking on a contract web development project while I was actively working as a full-time W2 employee, and I want to share with you my experience through all of it. Whether you’re considering doing something like this yourself, or you’re a seasoned developer who’s already worked many contract side projects – I hope this helps to show you another perspective. This was my first big contract job that I’ve been paid for on the side, and I learned a lot from it – especially that the lifestyle of combining full-time employment with outside work just wasn’t a good fit for me. But I’m getting ahead of myself, we’ll get to all that; for now, I just want to walk you through what the project was like, how it all got started, development, design updates, and my mentality through it all. Let’s get to it.

Phase 1: Project Setup

It was back in August of 2016 that I was contacted by my old boss at a previous employer to see if I’d be interested in building a web site for one of their clients. The project would be similar to every other project I did while with this previous employer, so I knew I already had the skills to take it on; in case you’re curious, the project was a fully custom-built site using Craft CMS. It would be about 80% HTML, CSS, and front-end JavaScript – and 20% configuration on the backend for the CMS. The thought of making a little extra money on the side excited me, and I trusted this client since I already had a relationship with them (I worked there for multiple years). So far, everything seemed pretty awesome: I knew how to do it, and I felt like I didn’t have to worry about any issues over actually getting paid. I checked with my current employer to verify that they were cool with it, as well as my girlfriend Layla (since I’d be spending evening and weekend hours on it) – and everybody encouraged me to take it on. Things were looking as perfect as could be.

Within a week, I had lunch with the client (my old boss) as well as the designer on the project, and I got the design comps for the website so I could start building things. After spending a couple hours setting up my work environment to run this CMS, I was ready to rock and roll.

I was told that they’d love to have a staging site up in about a month (mid-September), and were planning to take the site live the first week of October. So far, this project was continuing on its perfect streak, because I felt really good about hitting those deadlines. I won’t disclose my rate, but suffice it to say that I kept it low compared to what I’ve heard other developers charge – simply because this was my first contract job. I wasn’t too concerned about getting burned financially; if it happened, then it happened, but I felt fair about my estimated hours. I quoted 50 hours for the project in total: 40 hours of development, and 10 hours of updating based on the client’s needs. I charged a lump sum amount to be paid after the project was done, so if I made it under my quoted hours, then I would have technicaly been paid “extra,” but if I went over, then I wouldn’t get paid for that extra time.

Phase 2: Development

I gave myself 40 hours to develop the site and get it pushed up to staging, and everything honestly went really smoothly and methodically in this phase. I built a home page and styled it, built the navigation, tied all of that to the CMS, and then started working on sub page components. I spent about 2-3 hours every evening on this project for a little over a week, and I got a lot done pretty quickly. My favorite feeling was that while I was early in my hours (< 15), I truly felt like I could spend the time to architect the site and the CMS in a way that made me proud. I built accessibility features, semantic HTML, CSS that followed BEM and SMACSS, etc. I was really happy with it.

There were a few times that I needed to communicate with the client to ask for clarification on design, but that always went well. We communicated entirely through Slack (we were both a part of a local developer community Slack group). After I hit about 20 hours, things were looking good; I had a lot done, but still had a good chunk more to build. It was about this time that the project started slowly wearing on me. I started thinking, “I’m spending these evening hours working, when I could be enjoying them with my family, writing blog posts, playing video games, or just relaxing.” I kept pressing on, but I kept coming back to the thought that these hours I was spending on this contract project weren’t like normal hours I’d spend during a workday. They were prime hours – hours that I only get perhaps 4-5 of a day (time at home after work, before bed, and not spent at the gym). These are my most valuable hours of the day, and this was the only time of day that I could really do things for me. I really started thinking that this might not be how I wanted to spend my free time – or at the very least, I might want to do this very sparingly.

I want to reiterate that the project itself had nothing to do with how I was feeling. The project was 100% perfect, and I truly enjoyed what I was building as well as the tools I was using to build it. Everything was great from that standpoint. It was just the lifestyle that was getting to me.

Regardless of my thoughts, I bulleted through the development phase of this project and got up a staging site right at 36 hours. I came in 4 hours under my quoted development time, which was awesome. That gave me 14 hours to handle any updates from the client – and from my experience being previously employed with this client, that was more than enough. Metaphorically, it seemed like I just rounded 3rd base and was sprinting to home! Or so I thought.

Phase 3: Updates from the Client

It was this phase that really broke my desire to ever want to do contract work again while being employed. I took about a week off after I got the staging site up, which was really nice. I enjoyed my free time relaxing during that week – but there was always this reminder that the project wasn’t done yet, which was kind of like a constant weight on my shoulders. After a few days, I got word from the client that they were really happy and had some updates (which I was expecting), and they shared them to me via a Google doc. When I first saw the updates, it was much more than I was expecting – but nothing I couldn’t handle. I spent about 5-6 hours on that round of updates, which was perfectly fine because I was still under my quoted hours (currently at 42 out of 50 hours).

After I finished those updates, I should have been done, right? Wrong. That was only the first wave of updates in what seemed to be an endless sea of updates for a good month. Within a few days, I got new updates to work on from the client, and when I’d finish those, I would get more soon after. Some updates were small, but some took several hours to work on. For about the whole month of September, I was pretty unhappy working on this project. It turned from something that I enjoyed building to something that I just wanted to be done. It was this constant cycle of thinking that these updates would be the last ones, and there always seemed to be more after that – and that right there wore me out more than anything.

It became this running meme in my household that whenever I’d plan to have some free time, I would always spend it making updates to this project. Literally all of my free time was eaten up. I’d occasionally think things like “I just got the Witcher 3 for my birthday, maybe I’ll play that?” – soon followed by the reminder that I still needed to work on this project. Layla was super supportive throughout this whole process and kept helping me to focus on the end goal – but I know that even she was ready for me to be done with this project.

Every update I made was within the scope of the project, so please don’t think that the client was being too demanding. My job was to give them a perfect site, and I absolutely wanted to follow through on that. After everything was said and done, I spent over 26 hours on updates. I had only planned to spend 10 hours in this phase initially – and I even thought that was a lot. I’d never spent this amount of time on client updates before – but every project has the potential to be different, and this one certainly was in that regard.

Phase 4: Done!

Early- to mid-October (about 2 months after I got the contract), the site finally went live, and there really weren’t any updates after that. I finally started feeling relieved, and like I could truly start spending my free time like how I used to.

All in all, I spent 62.5 hours on this project, and I quoted a price for 50 hours. That means I spent more than 20% additional time on this project than what I was getting paid for, so I politely explained the situation to the client and asked if I could increase my payment by a set amount to get closer to the time I actually spent on the project.

The client was really awesome about my request, and granted me the extra money. This was absolutely something they didn’t have to do – and I was aware of that, since we had an agreement before I started – and I was super thankful about it. I’m glad I asked, and if you’re in a similar situation, then I encourage you to do the same. The worst that can happen is that you’re told “No.”

I soon sent an invoice to the client, and they paid me within a month. This project now had officially been put to rest; I was happy, my client was happy, and their client was happy (the one who the site was actually built for).

My Overall Thoughts

I want to make it absolutely clear that this project was as perfect as it could possibly get as far as contract work goes. My initial quoted price was immediately accepted (and increased when I asked!); I used to work with this client, and thus trusted them to not swindle me out of getting paid, or treat me poorly; I was very confident in my ability to perform this contract, and there really weren’t any unknowns; the deadline was a ways away, so I had more than enough time to build the project; and lastly, it truly was a fun site to build.

It sounds silly to say, but this experience was seriously valuable to me because I know now without a doubt that I hate contract work. I do a pretty good job of leaving my full-time job stress at work, and am able to really enjoy my free time otherwise – but something about contract work just continuously stressed me out during the 2 month period that I was working on it. That’s definitely a personality trait of mine – and I completely understand that everyone’s different in this way. I just wasn’t very good with time management, I suppose. I think it’s because with my full-time job, I know that I’ll be there 40 hours every single week to get done what I need to, and that’s a lot of time. With contract work, I really don’t have any clue as to how much time I’d have to dedicate to it during any given week – and I think that stressed me out a lot. I would often wait until Layla fell asleep to work to work on it, because I hated the idea of taking time away that we could be spending together – but that meant that I’d be working late into the night when I’d rather be sleeping, and normally I’d only work a couple hours a night. You can only do so much in that small time frame, and the next day I’d be back to stressing out about when I’d have time to work on it again. I really struggled with that. I’m sure a seasoned pro at this would dedicate set times every week to work on contract projects – but I just had no idea what times I’d consistently be free.

Here’s my advice to you: if you’re thinking of doing contract work while being fully employed, be 100% transparent about it. Inform your current employer, your family, your friends – anyone important in your life. It’s much better for all of your relationships if you’re open about it. If your employer isn’t cool with it and you can’t convince them otherwise, then it’s best to just say no to contract work rather than go behind their back. Trust me. That same advice goes for your family too. If it’s going to cause any problems at all, it’s not worth it.

I hope my experience working as a contract developer while being employed as a full-time developer helped you in some way. It only took one contract job to show me that this isn’t the lifestyle I want to lead – but if you’re able to handle it just fine, then I encourage you to keep it up! Everyone’s different, and that’s something I really learned through all this. I found that I truly value my spare time much more than any hourly rate could provide me, and thus I decided to hang up my contract developer hat.

Tax Season Update: After filing 2016 taxes, nearly half of the total amount of money I made from this project was taken away. Yikes! I was expecting 30-35%, sure – but I was unaware of the additional self-employment taxes that added to it. Definitely something to keep in mind if you’re planning to do contract work!

P.S. If you made it this far, then you deserve to see the actual project I’m talking about in this post. I hope you enjoy it! I’m really proud of it.

Presenting: Guernsey