M.E.T.A. Career Development June 15, 2007Posted by Ian Clatworthy in Management, Software Engineering.
The most important thing every good engineering manager does is find and employ the right people. The second most important thing he or she does is develop them. It sounds so obvious and simple! In reality though, developing the careers of technical people well is one of the biggest challenges every IT company faces. Whether you’re responsible for managing technical people or simply interested in actively driving your own career, it helps a lot to have a good framework. And the name I’m giving mine is M.E.T.A. – Management, Engineering, Technology and Applications.
Have you ever wondered why open source teams often produce software faster than commercial teams? There are numerous reasons but more M.E.T.A. people is part of the answer. Agile methodologies work well for much the same reason: every team member is encouraged to take an interest and role in planning, tuning processes and using technology to deliver value to users. Having people that can see and balance all these aspects is a truly major win. Products get out the door sooner and quality, in terms of fitness for purpose, is often better as well.
Why is this so? As explained previously, software engineering is ultimately a communications challenge. As a consequence, a bunch of multi-skilled people all on similar wavelengths will win every time over a bunch of specialists each focused on just their part of the problem. Collectively, M.E.T.A represents the 4 pillars of software engineering success. It therefore represents the 4 dimensions every engineering manager needs to be thinking about when developing their staff.
So what does the M.E.T.A. model look like in more detail and how do the pillars interact?
It’s worth mentioning that many management articles make a point about how management competencies are so much more important than technical ones. This simply isn’t true! It is true than management competencies are most important to managers, but companies need to be strong across every dimension. Like the legs of a chair, all dimensions are required.
Having said that, the nice thing about management competencies is their mobility across jobs. In fact, M.E.T.A. is an ordered list of dimensions in terms of career mobility. There will always be a strong demand for good managers. Core software engineering skills are equally timeless. On the other hand, being an expert in a single programming language or tool-set (technologies) is less useful because technologies have a short half-life in the IT industry. Likewise, being an expert in a single application domain (accounting, HR, manufacturing, mining, etc.) may be your thing but it does limit the companies and internal teams you can move to easily in the future. Once again, every dimension is essential so learning technologies and the application space is really important. Just be aware that those skills are not as portable over time and across companies.
In coming months, I hope to discuss the various parts of M.E.T.A. in more detail:
- Management – Planning, Leading, Organizing, Controlling, Communication, etc.
- Engineering – Methodologies, Collaboration, Quality, Requirements, Architecture, Design, Construction, Technical Writing, Testing, Maintenance, etc.
- Technologies – Bazaar, Launchpad, Ubuntu, and more.
Having great people and developing them correctly might be at the top of the list for software engineering success but getting them working well together is right up there as well! Next week, I’ll be taking a closer look at collaboration beginning with why I think the future of Version Control is Adaptive. I hope to see you then.