Would you like to know a little more about who I am, and how my successes and setbacks shaped me into someone who is so passionate about doing less at one time, and embracing uncertainty as part of a lean software development mindset? Today I’d like to share part 1 of my software development journey with you.
Leadup To My First Development Position
Though I’d learned some BASIC programming on “old school” Apple computers in middle school, when I attended college to become a “Microcomputer Specialist” *cringe*, I didn’t know exactly what I wanted to do in technology. One of my first teachers had me do some web development sidework in college, and soon my Mother met someone at her church that would give me my first job. I came into the organization with no idea of what to expect but excited to do front end testing of software components using Visual Basic at the time. This was my first professional IT experience.
Finding My First Mentors
I explicitly sought out older, disgruntled software professionals at my company and asked for them to teach me. It gave them something to be excited about (teaching others), and I learned tons! It’s easy to be a skeptic today with all the information previously hidden from the public that’s come out in the past decade or so online. Though we’ve all become more distrustful of the government, corporations, and the news – we should be careful not to let opportunities to learn from other individuals pass us by.
One of the biggest mistakes I’ve made in my career is trying to “shortcut” learning by asking mentors to only describe things I “don’t know”. Often the most revolutionary insights I learned from others were about what I already considered myself an “expert” on.
Envisioning And Prototyping A New Product
A little over a year into my first position, my wife was pregnant with my second son who would go to bed at 7pm. I was around 21 at the time, so I didn’t feel right going out and partying while she was at home. So I would stay home and read books about the latest new technologies. Eventually I created a prototype of a new product that simplified 5 existing products we had acquired from other companies to simplify the user experience. My boss showed it to the CEO and within a short time I was the technical lead (Application Architect) over a team of 12 people.
Inventing an XML Message Protocol For Manufacturing
At the time, web applications were written about but hardly anyone was doing them. SOAP and REST were not out yet, but I recognized that the application needed to use a messaging protocol to talk to applications and manufacturing devices. XML was popular at the time, so I invented and patented a messaging protocol allowing this to happen.
Getting Executive Sponsorship
Somehow my boss showed a prototype of what I was working on in my spare time to the VP (who would eventually become the CEO). He recognized it as “the most strategically important project in our portfolio” and asked us to pick 12 people from anywhere across the company to build a project team. On the surface, it was an amazing opportunity – new technology, a new product, a new team, full sponsorship. What could possibly go wrong? 🙂
Recognizing My Limited Understanding Of Development Process
At the time, there was no agile manifesto, and many companies did “waterfall” but didn’t call it that. I realized quickly that I was unprepared for all of the process nuances related to successfully leading the team. I was good at producing artifacts, but I was horrible at estimating being both new, and working on new technology. Luckily, the company was aware of the need to relax predictability to innovate and take risks so they could grow.
Recognizing My Lack of Relationship Management Skills
I was leading many people who didn’t know me very well and were 10-20 years older than me. I didn’t understand how to setup our relationship with respect for them so we could work together well. Half of my team was inspired by me and loved my passion and ability with the technologies. The other half couldn’t stand me and soon conspired to get rid of me. This was all due to my inexperience with company politics, knowing how to treat people, and relationship management in general.
The IT Industry Needs To Focus More On People
Our industry is driven by gadgets, tech, and whatever helps engineers be intellectually stimulated. But understanding people, how to get concensus, and how to win trust from others is JUST AS important if not moreso to your career. My first job was a great example of how not having these skills led to a lot of friction with my colleagues.
I Hope This Channel Helps You Be Less Anxious
I’ve made a lot of stupid mistakes in my career when I let fear and anxiety get the better of me. As this channel’s videos progress, I hope hearing more of the story of my career, and the tools I’ve used more recently, will help you have less anxiety as your career moves forward.
#softwaredevelopment #softwareengineer #softwareengineering #softwaredeveloper #softwarearchitect #softwarearchitecture #agile #ux #productmanager #productmanagement #digitalproduct #digitalproducts #career #leader #leaders #leadership #relationship #relationships #patents #patent
Also published on Medium.