For about 10 years I was a software developer for various consulting companies in NC. I worked on some really cool projects and helped build some neat things during that time and learned a lot during the process. I think it is pretty common for a developer to take the path I’ve taken – build software from scratch over and over (as a consultant) for other people until you eventually come up with a product idea of your own. We (the developers) design and create databases and then build a web application to put data in and take data out. We build it, deliver it and then do it again. It is all the same basically – just different kinds of data and different needs on the front end. Like any other trade, over time you come up with techniques and patterns and reusable modules that make getting something to a customer (or to market) faster and better. You get better and more valuable and eventually you’ve learned enough to create something for yourself.
I did this and created Schedulefly and today I reflected on some things that prompted this post. I write some sort of code almost every day – have been for 12 years. Back when someone paid me to write the code (before Schedulefly) – I spent a lot of time on things that might not have really mattered. Well, they mattered and they were part of the deliverable and were satisfying someone’s requirements but they rarely had a direct effect on bringing that person more business or more value. I mean things detailed software documentation and diagrams, in-line documentation for future developers who were likely going to re-write what I did anyway (because the budget was there) and endless developer meetings about things that mostly did not matter. Don’t even get me started on a few government consulting projects I worked on that (in hindsight) seemed more like pointless budget wasting projects. We would be asked to create something kind of useless just because the money was there and it put consulting butts in seats. But hey, the budget ended up exhausted and next year’s meaningless projects were looking good!
So back to my point. Today I am the one and only software developer at Schedulefly and a part owner of the business. 99.99% of the time I write code that means something to our customers. I am not writing code to satisfy a requirement that doesn’t matter. I don’t have time too. I have no “requirements” except to try and make customers happy. Literally – the lines of code that come off my fingers can mean immediate value to our customers and possibly even more revenue for us. Not because we charge them for the code I write – but because I am making a valuable product even more valuable. It is a fantastically enjoyable job to have! I can grab the laptop, write some code (or remove some code), deploy it to our site overnight and immediately increase our chances of converting a trial customer to a paying customer or making an existing customer even happier and even more likely to renew. That’s just awesome. Nothing is more rewarding than making something better or adding something for a customer overnight and have them thank you the next day. I know that, when we do this, they will tell someone else about us.
Amazing that as a consultant with a huge budget and all the tools I needed and team of people helping me – my work never really mattered much to the customer’s customer or to someone’s bottom line. A few times I think it did – but not many. Now, with no money to spend (and no meetings to have to go to) I am moving mountains and creating value all the time. I am working on stuff that matters and putting it the hands of people who need it and it’s fun.
So no matter how big the business is you work for, figure out what matters to the people who pay for the product or service and see if you can somehow work on that. Try to help them directly. Filter everything else that’s in the way. Try it and the customer’s reaction will likely make your work more rewarding.