I am very interested in actively driving my own career in software testing. I believe that everyone should take responsibility for their own professional career development whether or not they get support from work to do so.
Ian Clatworthy recently shared his own professional development framework aptly named M.E.T.A. – Management, Engineering, Technology and Applications.
The framework is great in that it superbly breaks down technical professional development into four dimensions/pillars. The M.E.T.A. framework is probably better for software engineering so I have remixed it into something that suits my own software testing context better.
Leadership (Ian’s Management)
Whilst I have been in direct Management roles in the past, I currently do not work in one. I believe that it is important to demonstrate leadership no matter what role you are in. Even if your are not given the title Manager or Supervisor, or even if you don’t have people to manage, you can, and should, still demonstrate leadership. This is why I renamed Management to Leadership. For me Leadership is all about:
- Using the right side of my brain – being organised, tidy & efficient (following concepts like 5S), being emotionally intelligent and aware, developing creative solutions.
- Having a project management focus – following sound project management techniques and conducting each bit of work as a small project.
- Writing Well – following known writing guidelines. Documenting every bit of work. Sharing all knowledge and information.
- Communicating Well – Documenting well. Communicating progress and issues in the right format at the right time.
- Team Building – establishing productive relationships with members of teams working in and with. I can’t emphasise how important this is.
- Finding Informal Career Guiders – always indirectly looking out for people who you can chat to informally about career stuff. This is where I have discovered great leadership styles and techniques. I call these people career guiders because I really hate the word ‘mentor‘.
- Being ethical – Making sure I provide value and I am honest in everything I do.
- Sticking up for others you work with – Making sure that your fellow team mates are well supported.
Concepts (Ian’s Engineering)
I personally have chosen to focus more on the software part of software engineering. For me the Concepts pillar is all about the concepts and theories behind software design, development and testing. This is the stuff that I learnt at University and is generally timeless. For me Concepts is about ‘understanding’:
- Understanding Software Development Methodologies: how IT software design and development works as a whole.
- Understanding Software Projects: how IT software projects work.
- Understanding Programming: knowing programming concepts and techniques.
- Understanding Testing: understanding testing best practices, test driven development, test automation, acceptance testing.
- Understanding User Centred Design: focusing on usability and designing for users. Paper prototyping and iterative design.
- Understanding Design: understanding general design principles.
Tools (Ian’s Technology)
I was going to leave this called Technology but I ended up changing it to Tools as this is pillar is essentially the tools required enable the ‘Concepts’ above. These are different from concepts in that while most concepts are timeless, the tools or technologies tend to change.At present I am focusing on developing skills in using open source tools. I find these are good in that they are open and free (as in speech). Some tools I know and/or use are:
- Programming Languages: such as Ruby, Python, Jython.
- Testing Tools: such as Watir, OpenQA.org and homebrew test automation tools.
- Collaboration Tools: such as wiki’s, defect management, blogs.
- Versioning Tools: such as SVN, Git, Mercurial, Bazaar
I guess that one component to this pillar that doesn’t fit under the term tools are the technologies that are worth knowing about and understanding (perhaps I should call it Technology after all!). Things like:
- Ajax (Rich Internet Applications)
- Web 2.0
- Social Networking
- Tag-based Folksonomies
Business-focus (Ian’s Applications)
I believe it is important to understand the business of where you work, as well as the applications that support the business. Even open-source projects have business, they are in the business of providing software developed by communities of people to be used by other communities of people. I often see IT staff that do not have understanding or respect for the business. For me, displaying a business-focus means:
- Understanding business goals: why I am employed in the first place.
- Understanding business applications: what they do and how they fit into the business processes.
- Understanding business processes: how business is conducted, with or without IT.
- Understanding how business and IT collaborate and partnership: Hoping that the tail doesn’t wag the dog!
- Providing value to the business: continuing to be employed.
- Keeping up to date with the business: knowing what the business industry/competition is doing and about the other happenings in the business domain.
- Understanding how executive management operates: because they usually pay you and maybe you would like to be there someday.
As Ian covers well in his post, the pillars make a great ordered list of dimensions in terms of career mobility. As I renamed his Applications pillar to my Business-focus pillar, I tend to consider my Business-focus pillar to be equally as or more important than my Tools pillar.
This means that my ordered list of dimensions is essentially Leadership, Concepts, Business-focus & Tools.
Like any contextual approach, everyone’s pillars will be different. This is a good thing. Although sometimes an unbalanced focus on a particular pillar can cause problems in your career. For example, focusing mostly on the Buiness-focus pillar may mean you can’t easily move jobs into a different organisation/industry when you want to.
What’s worse is not thinking about your career at all. Organisations may consciously develop their staff (as good managers do) but as staff are becoming increasingly mobile and contracted, the responsibility for career development is being pushed back upon the individual. This is when coming up with a personalised, balanced and ordered career development framework (and continually revisiting it) is so important.