I have a firm belief that nobody has any business running a software team (or entire company) unless they can get down and dirty with their team and write real production code. This was a source of frustration in my previous employment where directors, general managers, CIO’s or even CEO’s would be making decisions and leading large software development houses, but they had little or, no experience in actual coding. They talked about DevOps (or DevOpsSec), AGILE, extreme programming (XP), Continous Delivery, Continous Integration, Automated testing and every other buzz term or phrase you can think of, but I always had strong feeling that many of them have never even written a ‘Hello World’ program or maybe that’s the extent of their coding skills. By the way, all those things I mentioned are essential, but I always prided myself on the fact that even though I was a manager that I could genuinely code something when the need arose. It helped me bring a sense of legitimacy to my leadership role and made me a more authentic manager to my team. I could empathise with their struggles to solve complex issues, as I would have past experience doing the same thing.
However, that doesn’t mean I don’t have my own software cobwebs and just like any well-oiled engine if you don’t use your skills, over time you get rusty. So over the past six weeks, I’ve been oiling my coding engine and getting it back into shape. I’ve done little else, as I believe the foundation of a truly world-class software company will start with a founder with strong coding acumen. I’m also going to make it company policy that everybody from the cleaners to the CEO to the CFO has some experience coding and actively keeps their coding skills current. I want to keep managers and leaders in particular in touch with the code that will become the foundation of the company. Not to just know about coding, but to actually actively code.
Some of you maybe be thinking to yourself at this point in time – ‘holy crap, he is talking about me’. If so, I suggest you check out Codecademy as your first step. They have some great interactive courses for free and some (not free) intensives to help build further more advanced skills. I’ve recently completed the Front-end Web applications and Web API’s intensives and they were a valuable learning experience.