While I was not working for a client but on the new versions of all our plugins and themes in the summer of last year, I learned some lessons, which I’d love to share with you today.
1. It’s not really work
Working on your own projects doesn’t feel like work. This meant that I got very enthusiastic which is usually a good thing when there’s plenty of work to do. It can also be a very bad thing when you spend your nights squashing bugs and creating new features, completely negate sleep and have to work for actual clients the day after. For me it turned out to be a though thing to get balanced; enthusiasm and, you know, having a life. One of the factors that didn’t really help was that I was spending the entire month of June on this project as well. Without interference from client work, developing these plugins became an obsession keeping me busy day and night.
Having work that sucks *just enough* so you can easily lay it down and get some rest is definitely worth a lot. Although an enthusiasm-fueled development-rampage can be a lovely thing, it’s important to remember to get some sleep and spend time with family and friends.
2. Bouncing ideas of other developers is invaluable
When I was creating our first stack of plugins I was the only developer in the company. Talking about structure, classes and database-schemas wasn’t really a thing I could do on a daily basis. Now we have some other developers (front-end and back-end) and it turns out it’s really great to talk about new features or possible bug fixes with them. Building something on your own might be easier, but your tool definitely won’t be as good. You need more than an echo-chamber.
3. Bugs get personal
It was tough dealing with the first rounds of bugs. I was used to fixing bugs, obviously, but not on tools i’ve spend so many hours on. With new people working with these tools every day stuff will break. And you will be completely caught off-guard by them. When you figure out the cause and patch it you’ll sometimes feel stupid for leaving a bug like that in your code. And other times you’ll congratulate the tester for doing something so outlandish that it finally broke.
You’ll definitely start to doubt your own intelligence at one point. The thing is; doing this will most definitely make you smarter.
If you’re up for it, creating something for yourself can be extremely rewarding. When the project turns out to be a complete pain-in-the-ass, that usually means it’s worth it. Don’t do stuff like this on your own though; checks and balances are important. Both in code quality and quality of life .