Recently, I had lunch with a aspiring developer who reached out to me online. He was deciding whether or not to enroll in a web development bootcamp, and decided to ask my opinion. Up to then, he had been a freelance web developer and even employed off-shore contractors to build him a legitimate Instagram marketing service. His service was straightforward, simple, and making money.
I realized how my drive into the technical aspect of products have taken me away from the perspective of solving problems that people will pay for. Instead, I’ve spent most of my time exploring software development as a passion.
I started a series of projects this year that I have taken from idea to product. I released an update for my iOS app, built a community platform for sharing breakup stories, made a low-cost VR story builder platform, released a chrome extension, explored a social network based on the twitter network graph, and launched a delayed email sending widget for publishers.
Everyday, I’ve enjoyed exploring the problems associated to building a product that didn’t exist. I’ll pull out my computer to and from work and work on side projects. I figured out what skills I didn’t have and tried my best to learn them to make a service that other people could use. In each case, I was trying something new, that I couldn’t have done before.
I’ve gotten to the point in my explorations where I want to do more. My first few years of professional web development was focused around contracting. Through contracting, I was able to accumulate skills that provided employable skills. From there, I was able to freelance and deepen my understanding my value as an employee.
I became an expert of WordPress websites, learned to make stores, set up virtual environments, configure servers, mastered concepts surrounding best practices, identified how to keep up with trends, developed a rhythm for learning, and regularly attended meetups, conferences and hackathons.
After a number of years as a web developer employee, I found myself pushing away freelance projects and focusing on personal projects. I deepened my understanding of software that wasn’t immediately valuable, but would be important for seeing my ideas to fruition. If I wanted to make a social network, I learned how. If I wanted to make an iOS app, I understood the options and pursued the best route.
Through this, I learned Ruby, developed many rails applications, used front-end frameworks, built my own set of prototyping practices, became obsessed with workflow process, identified the fastest and cheapest ways to launch products, and began showcasing my past work.
As a front-end developer, I remember learning about mobile development and being very confused. I started learning frontend css frameworks to understand best practices and began identifying the common solutons to a responsive web. I learned how to use CMS’s and began regularly making WordPress websites. From there, I had begun reading about API-first development and didnt know how the tools I knew would let me build any application. The concepts made sense, but I didnt have the toolchain to do it. So I learned how to use node and rails and explored the different options. As I encountered problems or questions, I would identify the solutions and then learn them.
Im feeling like the next step is to build things with people that solve problems people will pay for. Its not a huge step from where I’ve been exploring. My attention recently has been lost on the “newest and best” programing languages and trends.
I have passed the point where I feel the things I don’t understand will have a significant improvement on what I can offer. Im ready to start working on projects that fill needs that people can’t fill themselves.