Retrospective on two years working from home
How it all began
It’s been a little more than two years since I took the plunge and quit my job. It wasn’t an easy decision. It was something I had wanted to do for quite some time. At that time I didn’t have any saved money. On the other hand like most other people I had to pay rent, bills etc. So there was a little uncertainty. Luckily I was introduced to a guy in New York who was offering e-commerce platform services to people selling shoes, handbags etc. He was looking for a contractor like me with experience with web technologies and passion for perfection. For a short period of time I was working on a new project for the client from NY and also helping my ex team to release a new corporate website. A month later I was on my own - working from home and doing what I had been doing for the past 6+ years - developing websites and web applications.
Some of the most frequent questions I get asked all the time is “How do you find projects?”, “Do you have enough work?”, “What do you do when you cannot find projects?”. I understand why people ask me such questions. They are used to the secure job and the paycheck at the end of the month. Working alone has some risks but I must say that usually I have all my hours booked for months ahead. There are plenty of projects and potential customers out there. It’s hard to begin but once you start freelancing then people call you and ask for your services. Your friends/clients start referring leads to you. And soon you have so much work that sometimes you cannot handle it by yourself.
If you work in an office you cannot choose what you work on. You work on whatever project your boss assigns to you. Of course you can always look for another job but we all know how stressful this is. On the other hand if you are a freelancer you choose which projects to work on and which to reject. You chose the people who you work with. It is really nice to be able to make such choices!
(skip this section if you are not a programmer)
Back in the days when I used to work in an office I was a .NET developer and worked with C# and ASP.NET most of the time. I had always wanted to try some other technologies but when you work for a big company you don’t have much of a choice - you have to stick to whatever technologies the management tells you to use. So I never really had enough time to play with other trending development technologies. When I quit I continued developing ASP.NET apps but Ruby on Rails quickly became the technology I used most of the time. Then one year later I started developing mainly with node.js and MongoDB. The best way to learn a new technology is to use it in a production application! And every time I learned something new I felt so happy.
For the past year two of my biggest passions (in terms of technologies) have been Angular.js and Golang. Let’s face it - websites are not what they used to be. Many people do not want a website anymore - what they want is a web application. Angular.js is my favorite tool for building single page apps and my choice when I start a new project. So when I became a freelancer not only could I choose what projects to work on but also which technologies to use. Back in the office days I had one big constraint - everything had to be written in C#. I like C# and .NET but it just doesn’t feel right for some projects. Now I have freedom to be creative with any technology I see fit.
Managing my time
Before I quit my job most of the time I used to ride my bicycle for the daily commute. I used to ride 50km (31 miles) per day - about 25km in each direction. It used to take me about 1 hour to get to work and 1 hour to get back home. Just for the record it used to take me about 1 hour in each direction to get to work by car (I lived outside of the city). In addition to the time riding my bike I used to spend about 30 minutes to have a shower at the office and to change clothes. So after I quit job I suddenly had 2.5 hours a day bonus to my time. Time that I could spend laying in bed, reading something, play with my dogs in the yard or do whatever I want.
I usually have a weekly plan - imagine a weekly scrum sprint. Some days I wake up early, work 4 - 5 hours, sleep 1 - 2 hours, then work again. Some days I am very busy and have to work overtime or during the weekends but when one works alone he has to deal with any problem that arises himself and believe me there are a lot of them down the road! I have had also days when I deal with some personal stuff and leave the work for the following day. I also had 3 days when I was sick. But in general I have had plenty of time for my tasks and usually I have a lot more time for myself.
During the summer time my wife (I got married in the mean time) and I usually spend a lot of time near the beach. In the mornings we wake up early, walk the dogs, go to the beach and get back to the apartment by noon. Then she sleeps, reads, plays with the dogs or watches movies while I work. This is one of the biggest benefits of being a freelancer - much more time for yourself.
I am able to travel and work from different cities and countries and still be productive. For example 4 months ago my wife and I went for 10 days in Netherlands. We rented a house in a small village near the German border. The village was very nice and green. During the day she was out with friends and I was able to work. We enjoyed this calm and beautiful part of Netherlands, we went to the cities nearby and also visited a friend in Köln, Germany one of the nights. You cannot just go 2200 km away from home for 10 days without taking days off if you are an employee working in an office. All my work was delivered on time and my clients didn’t even know I was on the other part of the continent. The trip was awesome! We were happy and the clients were happy.
Having more time than before and also having established lots of connections with interesting people I decided to become an entrepreneur. Together with one guy from Denmark we decided to build a social network for sports. He had many connections in the sport world and this brilliant idea. On the other hand I had the needed skills and experience to develop the application. We decided not to apply for funding and do it on our own (It was a big mistake!). At this time I had some saved money and also worked on other small projects on the side. It was his idea and my realization so we decided to split 50⁄50 the shares of the future company. Eventually there was a lot more work than I could handle and I had to work more on this and less on other projects. Last summer I had to stop working for clients at all and only work on this social network. I managed to do so only four more months when I had spent my savings and I had to start working with clients again. In addition to that there were way too many people already involved in the project (none of them a developer - designers, marketing, UX ..) so I had to continue pushing hard to fight for 10% of the shares. What is more my partner was working and living normally like before while I had to continue developing for free, hoping that some day I will be able to enjoy the sweet dividend… Then he decided that he wanted the development to be faster and decided to hire a team in India and outsource part of the development. Initially I was supervising them but later I stepped out of this project. I learned a lot about entrepreneurship - especially how not to do it! :)
I got married
After living 3 years with Elena we finally decided to get married. We got lucky because on the wedding day it was supposed to rain heavily according to the forecasts. But the weather was nice. When we finally went to the restaurant after the ceremony and the pictures in the park the rain started pouring. Nobody cared because we were inside having fun.
That’s not all - the greatest news of all is that Elena is pregnant and we are expecting a baby in about a month and a half. We already know it’s a boy. I am “forking the process” as a friend of mine jokes…
We plan to move to Varna (we are living in Sofia now) in order to be close to the sea. Varna is the city I was born in and it is really nice. I just bought a piece of land and plan to build a house. It’s actually not in the city but in a small village some 10 minute drive from the city center. We wanted to live calm and quite in harmony with nature. The dogs will enjoy the yard, our kids will be able to play freely, we can breathe fresh air and will not have to face the ugly concrete jungle in the city. But this deserves a separate post. I just want to point out that such big decisions can be accomplished when you are a freelancer.
I would say that quitting my office job and becoming a freelancer really made me happy and I would do it again if I could turn back the time. If you have ever wanted to try freelancing - there is no better time than now. One can always find excuses (e.g. not enough saved money, not secure enough, it’s hard to deal with problems alone, etc.) but the only way to know if you will like is to try it yourself. You can always get an office job again if you decide that freelancing is not for you. At the moment there is a serious demand for software developers all over the world so don’t worry about having trouble finding a job.