5 Lessons from a Self-Taught Coding Veteran
As a veteran entrepreneur, self-taught coder and Kalamuna’s Support Manager and a senior developer, I’ve been around more than “a block or two.” With so many of you kids getting into development, I figured I would try to make my humble mark on this planet by throwing out my take on the kind of mentality that can help someone thrive in our field. So here’s my story (abridged!) and a few tips on how to think about work.
In 1986 I was a 10-year-old bystander to a massive movement I didn't understand. I was fortunate enough to have a father who, at the time, owned a large software consulting firm. I was exposed to the world of development when most people didn't know how to turn on a computer.
I used to go into my father's office to see a man named Tom write code in RPG on these giant IBM System/38 computers. I was mystified by how he made a computer do whatever he wanted it to do. I asked Tom to teach me the ways. For a year I read books he suggested and completed a handful of frustrating code projects. I then showed Tom everything I had done from the book and a couple of other awesome-sauce programs I wrote. He congratulated me. Then he taught me my first real lesson: everything I’d just learned wasn’t used in the real world. I was mystified and angry. Why had I wasted so much time for nothing? He said it was not in vain, and that I’d just learned the basic structures of most languages.
The first professional website I did was in 1995 while I was an E3 in the Air Force. I got a call from one of my father's clients who asked me if I knew how to make these new “World Wide Web” pages. I had already been tinkering around with HTML, thanks to a guy who built the HTMLgoodies.com website. There weren’t too many experts at that time -- the Web was in its infancy. I told him, “no problem, the work should take me about a week or two.” He offered me $5,000 dollars and I nearly fell out. Back then, 5k was about six months of pay for me. I knew I needed to do this professionally, so I changed degree paths to computer science the next term.
Things happened. I got my MBA along the way. I bought a bankrupt Web shop and turned it around into a healthy IT support and dev agency with 12 employees. I sold it and made a bundle. Here I am, 20 years later, still making websites. I am a very fortunate person, and I’d like to share the knowledge I’ve gained over the years. Here are a few nuggets on how to approach your career:
1. Learn new technologies.
This is quite possibly one of the most important things I have encountered in my journey. The Web was once thought of as a little fad, until it started making money. With that little nugget of info, what should you learn and what shouldn’t you learn? The biggest mistake I made was not hopping into advanced web technologies until the early 2000s. I was a PowerBuilder programmer for most of the late 90s and shuddered at the idea of doing Java / PHP and other newfangled things. That was a huge oversight on my part. I was young and naive, but you live and learn. You always have to ask: what should I learn? Why should I invest time in this? My gut reaction is: if a handful of people in the San Francisco Bay Area are the only ones using a new language, then it isn’t worth it right now. If you want to take a risk, then do it -- it’s your call. If you need consistency in life, then learn languages that can pay your mortgage and feed your kids. There is no shame in that. I’ve learned dozens of new technologies and languages over the years. Some I use, some I will never use.
I have been a PHP coder for many years, but I just taught myself NodeJS. I did this so I could help out with Kalabox, Kalamuna’s workflow solution for developers. Will I use this elsewhere? I don't know. But that’s the point: it’s always good to learn stuff even if you do not use it in a professional capacity all the time. You never know when you may need to use it.
2. Enjoy this while you can.
I have been laid off two times in my life. I see the industry as very strong right now, but we also saw the desktop software industry similarly strong in the 90s. When the bottom fell out right around September 11th, it was not a good time for a quasi Web programmer. I couldn’t find a job to save my life, so I had to do this on the side and took a job as a healthcare headhunter. I hated it, but I am thankful for that experience. I did learn sales and marketing and other fun things. Without this knowledge, I wouldn’t have been able to institute programs that Kalamuna uses to bring in a healthy portion of our work. So, who knows? Thankfully, all is well right now.
3. Always say “yes.”
This only pertains to work. (Don't do drugs kids, they are the devil.) Sometimes it is good to have your hobby be your career, sometimes it is not so great. What I have learned is that you need to always be involved. If someone asks you to help you out on a project, you say yes. You can learn stuff or write code that you can use on another project. I would not be the programmer I am today if I played it safe all the time. If you don’t know something, learn it. The Web is more than just Facebook, Twitter and YouTube, kiddos. The online universe has matured into a cornucopia of learning material that is like nothing that has ever existed. If you don't have some level of autodidacticism, then you’re in the wrong field. That hurts, but so does your primary coding language becoming obsolete.
4. Adopt open-source.
I grew up and matured professionally in New England. While I was there, I was instilled with a hard-nosed business sensibility. (“Your competitor is your enemy, you must destroy them and take all their clients. Money is the only reason you are in business, etc.”) It is all BS; there is more to this than just making a buck. Years ago, the cost to learn a language was several thousand dollars, usually. The barrier to entry was set with that. The books available to you were usually out of date and you only learned from your coworkers. There was very little industry collaboration, it seemed. After the so-called “bubble” burst, something happened, and it was glorious. Open-source came to the fore. Search engines and other collaboration spaces became exponentially more efficient. You no longer needed a professional space and thousands of dollars to learn new technology. I can also see that open-source has gained serious momentum in the last decade. As a developer, this is great because we can now collaborate with people across the world for free. We don’t need to drop 10k on a class to learn parts of an outdated platform. Even though we work at different companies, we can all still work together in some shape or form. It is a far leap from yesteryear, that’s for sure.
5. Be happy.
We are lucky to have the career we have. You could be working a job you hate or that offers no skill progression. People will make you angry, people will do things that piss you off. This is all status quo. If you really don’t like writing code, designing comps or working with clients, then go do something else. Why be miserable? Enjoy your work: you use your creativity and problem solving skills to create things that, hopefully, make a lot of people’s lives easier. Most people can’t say that.