I have been spending a lot of time lately thinking about career development, especially in IT. It started back at nCircle, where I spent much of the final few months that I was there pondering the question of how to repeatably turn a team of relatively young, relatively inexperienced engineers into a high-performance team of high-octane security engineers. We did it once when we opened the Toronto office, and I wanted to ensure that we could do it again.
And in pondering that question, we put together a training program that would take any security engineer with a bit of knowledge and turn them into a security superstar. I'll be talking a good deal about that type of program here in the coming months - I have been frustrated a lot about the state of IT and Security training. As have more than a few others in the industry.
I have also been exploring with other friends recently the part that we rarely talk about - it's the part of a career that is given lip-service often, but not really explored enough with a real eye toward improvement. Guy Kawasaki talked about something similar in a recent post, and I paraphrase him here:
Technology is the first 90% of what is necessary to create a successful [career]. Unfortunately, the second, and more important, 90% is the [relationships with the other] employees who invented or discovered the technology.
The point is that we don't spend nearly enough time on that second 90%, yet the skills that enable a brilliant technologist to formulate her ideas and create relationships that allow her communicate them in a way that is palatable and readily digested by other humans is the limiting factor for success in IT. It is not that the best idea wins - it is always that the person with the most powerful relationships who best communicates their idea wins.
The problem that we have is that our thinking on the topic isn't integrated. We understand that code has to work together in the appropriate environment, but we often disregard that environment when we're thinking about our ability to communicate. I have seen engineers who wouldn't consider not testing their code treat the communication of their ideas with very much the "It compiles, ship it" attitude, and it's something that we (as an industry) need to work on in order to make a real impact over the next 20-30 years of evolution of the industry.
I'll have a relatively big announcement on a related topic coming up in the next few weeks. Stay tuned for more details...