A Developer’s Manifesto: Software Development As A Means To An End

A growing collection of public statements stating my views and intentions as a software developer.

11 min read

1. Create opportunities for yourself that allow you to be free from any constraints.

As a software developer, I am in a unique position to tackle problems with my own hands. It’s not uncommon for a single developer to create value for millions of people around the world.

If I end up working with a group of people that allows me to tackle a problem more effectively, that’s even better. However, I don’t need to wait to be hired by company X to solve for problem Y.

It’s my responsibility to always be on the lookout for problems to solve and create solutions for them. I have the freedom to act at any point in time wherever I may be.

2.Solve for problems that you understand and believe in. It’s okay to say no to everything else.

If I don’t understand or believe in the problem I am solving, I most likely won’t be able to sustain the amount of time and effort required to create effective solutions.

It’s my responsibility to ask the right questions to fully understand the root of a problem and decide from there if I can commit to being part of the solution or not.

3. Make an effort to take something complex and make it simple.

Ironically, it’s often more difficult to create a solution that is simple rather than complex. You have to be able to understand every level of complexity and break it down into simpler steps for everyone involved in the process.

This applies to UI/UX, software architecture, database design, and almost everything that goes into developing a solution.

4. Nothing is perfect. Create a baseline and improve from there.

It’s easy to hold off on putting your work out there when you think there are still a million ways you can improve it.

In reality, the majority of those improvements do not create as much value as you think they would to your users.

You must filter through the noise and focus on the essentials. Start testing your solutions by putting your work out there and getting feedback as soon as possible.

Embrace the idea of incremental improvements. Your solution will always be in a state of constant change.

5. Pass on your knowledge to anyone who will listen.

Coming from a family of non-technology professionals, I didn’t get exposed to the world of software as early as I would’ve hoped. While the majority of software developers started writing code during their teenage years, I didn’t write my first line of code until I was 23 and that’s okay.

Before I became a software developer, I managed to drop out of business school twice, build 2 unsuccessful businesses, go into product/project management, work for an EdTech company, and work for a digital agency.

Everything I learned along the way allows me to see both the business and technology sides of product development. It’s not society’s traditional way of learning but I wouldn’t have it any other way.

Having been through all that, it’s now my responsibility to share my experiences with people who are in the same position as me before and hopefully encourage them to pursue software development no matter what their previous life was.