As I reached my three-year mark at Network to Code, it seems like just a round enough number to take a second to reflect back on what I have learned, where I have gone astray, and general thoughts on my journey.
Fair Warning: if you are expecting a well put together theme or are not into reading about someone’s personal journey, I would check out now.
A little background, back in 2000 I joined the Air Force where I got into IT and soon thereafter into network engineering. I was always willing to raise my hand for the next job, to gain experience. After the Air Force, I spent a few years at a consulting company called INS, where I worked on accounts for Mars, Barnes & Noble, and Novartis. Then I spent 9 years working for McKinsey’s IT department.
I took programming in high school and with the help of a contractor, started to include programming at my second duty station. From then on, I was the “scripting guy” within the networking team, working on Perl/PHP. I had little guidance on the scripting front, and the open source culture was certainly not the same as it is now. At the time, you mostly had to rely on Source Forge, CPAN, and Perl message boards. For well over a decade, I learned every wrong way to automate, but I did get a feel for programming logic and managing production issues at a very large Enterprise
I came to realize what an impossible hurdle automating is to do by yourself. I got a chance to learn from the Network to Code team, and that was invaluable. Learning why everything I did previously, was answering the wrong question, was both extremely exciting, and disappointing to know how much harder I had made it on myself. The first few months, I was completely mentally exhausted, and drained by the end of the day.
Another realization was that while I hadn’t found too many programmatic issues I couldn’t solve, I did not know the best practices well enough, to not shoot myself in the foot. Each time I fixed a problem, I was likely causing two more. Once I learned the fundamentals I was able to add more tools to my tool belt. Eventually, problems become easier to solve, and it gets easier to find the next tool to put in my tool belt. This drastically changed my ability to deliver.
I’ve been lucky enough to have nothing but great bosses, and I really mean that. However, there was something unique about working for Jason Edelman. We didn’t exactly have time to worry about how to properly frame the conversation, which led to very direct feedback. We carried ourselves in a way, to get better each day, and not take anything personal. I never once felt that there was anything but my best intentions, and never felt like I had to hold back in responding. Years of hearing “compliment sandwiches”, usually just left me confused as to what the feedback actually was. It was a relief to just get it state simply and straightforward. It was a rather liberating feeling, and a known path forward to success, and easily the single most reason for my growth at this point in my career. I know this doesn’t work for most, but it certainly does for me.
When I was at McKinsey, the culture constantly reinforced the importance of communication. I had gotten into a good groove there, and felt fairly confident, but that was within the safety of a tightly knit group of people, who had been together for years. Getting back to the consultant side as well as growing a team/organization, I really had to relearn everything, and along the way, mistakes were made. Communication is difficult, especially amongst highly technical concepts. I tend to repeat cliche’s or “Kenisms”, as anyone who has worked with me for any extended period of time could tell. It helps me resonate with people better, and keeps my naturally snarky side at bay.
As a company, the larger we get at Network to Code (NTC), the more important it is, so it is something I am thinking and working on all the time. Communication strategies have to change case by case, e.g. speaking to a highly technical client who wants to ensure you can deliver, is much different than speaking to executives who are trying to understand the value of what you deliver.
When I started at NTC, it was amazing to be able to full time automate and code. My calendar was clear, except for a one or two meetings a week, and I was a full-time developer. Now I spend most of my time on client relations, talking to new clients, giving network automation assessments, reviewing architecture, and the hands-on time has reduced. On any given day, it was probably more fun to just be coding, and working through issues, however, as a whole, I love what I am currently doing more. I’m in a position to communicate change in a company’s automation direction, redirect technicians to show them better ways of doing things, and just overall have a much larger impact. As we continue to grow, my role continues to evolve every six months or so, and so far, I still love it.
When I started with NTC, I was in place in my life that pretty much demanded change. I didn’t intend for it to be a change in jobs, it’s just the way it ended up. I convinced myself that I had a five percent chance to make it, by any reasonable measure, and I was good with those odds. I’ve always wanted to do something risky and just swing for the fences. About a year in, I realized I had made it, no matter what, the journey alone was worth it. The social networking side would have been enough. I’ve personally met a bunch of people who have thanked me for helping them on slack, had a peer at a vendor tell me that their customer told them a podcast I did was a must listen for them, gone from not having any voice on direction within my enterprise to being asked my opinion at every step of the way for much larger organizations.
Within Network to Code, it has been an absolute pleasure to identify and cultivate talent. Teaching someone Ansible, and then realizing they are teaching you is an incredible transition. Knowing someone doesn’t have the experience, but they have the intelligence, and watching them soak in everything is amazing. Talking about data models for hours with little to no results, and then the “light bulb” moment comes is a great experience. Knowing that you have an internal knowledge pool with decades of experience that seemingly has touched every technology is game changing in how you can operate. The culture internally is just top notch, no one is “out to get you”, everyone embodies the open source and helpful mentality. In reading the Netflix HR model I’ve come to realize that a great work place is stunning colleagues.
It’s been a crazy ride, I can’t even remember how hard I thought it was going to be, but it has been harder than that. Along the way, I have learned more on every level imaginable, but I did it the hard way–making every mistake twice. Sometimes I realize my mistake immediately, other times it takes a long time. I’ve argued a position, only to argue the opposite position a few months later. There is never a right answer, just the best answer for today, and everything is relative. I’ve dealt with impostor syndrome, lack of work life balance, fallout of my many mistakes, been “tested” in front of large groups, asked to deliver the impossible, and much more. As someone much smarter than me said, “if it was easy, it would have been done already.”
I have learned more than ever that I have much more to learn. Humbling does not do justice to what this experience has been. I hope to come back a year from now cringing at reading this, much like code that you can’t bear to read, it will simply mean, that I have grown past the person I am today, which is always my goal.
-Ken
Share details about yourself & someone from our team will reach out to you ASAP!