Career Paths...


Knowing your career goals early on is key to achieving them, especially in the corporate IT sector. When it comes to software development we can generally (and sometimes unfairly) place developers into one of three brackets. Those who want to rise to the top of their game technically (Specialists, Architects), those who want to end up in management (Team Leads,  Development Managers) and those who just want to stay entertained with interesting challenges (Engineers). Let’s take a look at these three personality types and what it is they could do to maximise their career potential in each respect.

The platform debate rages on between developers across all personality types, but less so in those who only seek broaden their exposure to problem domains. Typically these individuals are passionate about problem solving and programming, technology doesn't readily factor into their career decisions. For these individuals the market can be tough. The nature of human resources procurement in the IT industry at the moment is that it is very skills focussed. A number of systems departments are understandably seeking only individuals with demonstrated experience in a particularly relevant technology stack. This allows them to employ productive staff with little training and a gentle ramp-up curve. The downside is that HR tends to miss a lot of talent in the market because of this approach and the organization suffers as a result in the long term. Software development houses that have mature incubation and training programmes have the ability to take on individuals in this category and keep them challenged and entertained across a number of domains and technologies. The “jack of all trades” developers are valuable to an organization and make well-rounded problem solvers. So here’s some pointers on how to streamline your career path as a software engineer:

·         Don’t let yourself get left behind. Being unfamiliar with a platform can lead to misinformed career decisions. Do you know what type of development work you are committing to when accepting a job offer from a potential employer? Will you be acquiring transferable skills? Will you be challenging yourself or will it be maintenance work?  
·         Being a jack means that you need to put in extra effort to meet the productivity of more specialized developers. Do your research, apply common patterns and invest in understanding the technology before diving in.
·         Focus on your core strengths: solid OO design, patterns and software architecture. Practice applying these principles and let them shine for you in interviews and in your work.

For the specialized individual, the market can be your playground. Whether it be Java, .NET, iOS or Android, being a specialist comes with a number of benefits. Firstly it increases your perceived value in the market place. An individual with 5 years of experience in a particular technology may appear more valuable than an individual with little experience in a particular technology but who has a higher aptitude for software development. This is a common oversight of a number of the larger organizations playing the short-game but works to the advantage of specialized individuals. The downside of course is that limiting your platform can also limit your domain and your list of potential employers. Highly specialized individuals tend to have greater earning capacity as their level of skill is a scarce resource in an already small pool. If your goal is to seek out a highly specialized skill-set there are a number of ways that you can achieve this.

·         Firstly decide on a platform (this may already be obvious from the sum of your experience to date).
·         Do contract work. This allows you to see a large number of problems on the platform of your choice. The wider variety problems you solve, the more proficient you will be in all areas of your chosen platform.
·         Participate in training and deliver training to your colleagues. Formal certifications can carry large or little weight depending on the person on the other side of the interview table, so it’s good to cover bases here. Teaching colleagues is a great way to teach yourself and being a specialist is all about having knowledge.
·         Read educational literature and stay up to date with conversations about your technology and platform. This gives you the edge in interviews and with your colleagues and lifts your authority as a an expert.

Then there are the developers who are passionate about software development, but have a plan to move into a management position in the future. Whether it be technical management or people management the key trait that organizations look for here is the ability to earn the respect of your colleagues and make tough decisions. Being a leader is an integral part of being a manager and you’d do well to develop a vision for yourself and your company before having this dialogue with your organisation. Ensuring that you have a solid track record of delivery, client satisfaction, tenacity, diligence, integrity and honesty will go a long way in winning the confidence of your superiors. Always be willing to go the extra mile and focus on building meaningful relationships with your colleagues and peers. 

0 comments:

Post a Comment