Frequently I’ve felt my inability to code has hampered my ability to do many things. I’ve had so many ideas I’d love to test. IF ONLY I COULD CODE.
Fueled by frustration, 8 months ago I started teach myself PHP. I wanted to be able to rapidly prototype ideas and have a better grasp of what was going on underneath the hood of my project Sfter.
Bogged down by other obligations, I stopped after 2 months. Albeit short, my quest was not a total failure. I left with a better understanding of technology and high level development concepts. Still, I was bummed I never reached the level I wanted to.
Fast forward to my thoughts today:
I still am looking to start a company enabled by technology someday, but I don’t think I’ll ever try to teach myself to code again. I feel pretty comfortable with that stance. Here’s why:
I like spending my time doing things that excite or energize me. Having my head in code was about as far from excitement as I’ve ever been. All that’s required to become a novice developer is diligence and repetition. But as a realist who values their time more than anything else, I know I’m never going to spend hundreds of hours doing something I dislike unless the payoff is incredibly high. Sup bankers.
The ability to build a crappy prototype is not a high enough payoff for me. But why stop developing your skills there? Simple: the process of getting good at coding does not energize or excite me. I’ve tried it and know I’d want to relieve myself from this duty as fast as I could within any company I’m involved in.
Once I offloaded my technical duties, my rudimentary skills would definitely make the product management process less opaque. But assuming things became more sophisticated, I’d probably return to a similar dependent state.
In essence, learning to code would be a means to an initial end and a skill I’d realistically call upon infrequently. This payoff is not enough for me to justify the time investment.
Starting A Company vs. Building A Successful Company
The ability to code definitely makes it easier to get a product out there. But I don’t think it will ever give me significantly greater chances of building a successful company.
In my mind the most valuable asset to any company is the team. Thus, attracting the best team gives you the greatest odds of building a successful company.
During the next few years of my professional development I could approach attracting the best counterpart/team to eventually start a company in two ways:
- Spend time learning how to code on the side in order to be able to build prototype(s). Then assuming there was traction, leverage this to attract a counterpart(s) or the resources to hire them.
- Spend my time focusing on becoming extremely good at the skill I enjoy doing most (business development/sales). The strategy would to get so good at something that people with complementary skillsets want to work with you on whatever your next project is.
I think a much more fulfilling and effective approach is the latter. Here’s why:
- The best want to work with the best. If the goal is to attract the best, you better make sure you are very good at something. I recognize I will only become excellent at something if I enjoy the process because when you love something you persist even when you don’t succeed.
- Ideas and the prototypes that manifest them are apt to change. I never want this to be the core foundation of why someone works with me. I’d much rather have a bond grounded in confidence in each other’s ability to perform at a high levels independent of the scenario.
- Everyone and their mom can get a crappy prototype out with some cash or time. This is far less unique and attractive than a highly valuable skillset.
- Life is short. I don’t want to spend inordinate amounts of time doing things I don’t enjoy. Yes, even at the expense of my career. If I did, I’d probably be working in finance right now.
Playing To Your Strengths
There was a lot of hoopla at the beginning of the year about more people learning to code. I think it’s a great initiative that will serve the technology community very well.
Though I think one thing many people in the community need to realize is we’re not all wired to be developers. We’ve each been given natural abilities and proclivities which allow us to excel at different things. Although I think everyone can be a “hacker” at some level, I don’t think everyone can be an excellent developer.
Have you ever seen American Idol at the beginning of a season? All of these people try to become professional singers despite the fact that they have not been given any natural talent. As viewers, we say to ourselves, “Why would this person ever try to be a professional singer. They have no business doing that.” Well…does the same rationale not apply in other professional arenas?
Everyone can sing just like everyone can code. But achieving excellence is something much less people are able to do – again, due to natural abilities and proclivities.
The mere fact that I didn’t enjoy coding signals to me that I’m not playing to my strengths. I know I can’t win here. So I’ve given myself permission to forego spending time on it despite the acknowledgement it’d serve me well.
We can do anything with our lives, but we can’t do everything. And as much as coding is an awesome skill I’d love to have, for the reasons above I just don’t think its the best place for me to allocate my time right now. Maybe that will change, you never know.
I’d love to hear some other perspectives on this. If you have thoughts about it, I’d love to hear it in the comments sections.