Intra-Company Leadership

Positively standing out above the rest as a leader is the fastest way to move up in a company. 

How soon should you become a leader? As soon as possible! Obviously the easiest way to signalling that you are a leader is to get people to follow you and engage in your cause. In software development, this could be an initiative or a deliverable project. 

Now not everyone is a born leader, and critical introspective review of oneself may be required; for this I recommend completing 3 simple topics for a self-review: 

In terms of leadership capabilities, 
  • Catalogue what you do best 
  • Document what others think you do 
  • List things that you should be doing. 
After this review, you may find that there are key areas in which you excel or fall short. Some simple processes can help you gain leadership abilities – and don’t forget: Practise makes perfect. 
  • Identify the project or initiative requirements and position yourself as the go-to-person. It also helps if you can provide an (on-going) explanation of the project on demand. This act of explaining, often in layman’s terms is a core element of leadership. To put something in layman's terms is to describe a complex or technical issue using words and terms that the average individual can understand. 
  • Identify tasks that your line-manager completes daily, weekly or monthly – perhaps you could volunteer to do these? 
  • Understand your team. We are all human, make mistakes and respond differently. These traits should not be seen as weaknesses, but should be handled with sensitivity and discretion (where applicable). 
  • Understanding your environment, deadlines, key reporting individuals and if possible, risks and finances.
  • Celebrate successes as a team and give credit where due. 
Leadership is not simply performing your standard work items (these are expected by management), but stepping up to the challenge and adding value above whilst empowering your team to deliver their work items easier, on time and with positive/happy thoughts. 

Here are a few things for an employee to consider about leadership: 
  • Leaders are made: Consider identifying a mentor to answer questions. Refine your skills. Refine again. 
  • Research first, then ask: you’ll remember the answer far easier if you understand the question and the domain. 
  • Grab an opportunity to lead: If you wait, that seat may be taken. 
  • Peer review: Ego will only get you so far, colleagues will help keep you on target. 
The act of leadership is a complex and continual process and while there are no easy solutions, your growth as a leader will be impacted by how you take your first steps. I recommend reviewing and refining your approach often.

Choosing the right company for you continued


In continuation to the last blog, there are many factors that need to be considered when looking for that perfect company for you – and again yes, IT professionals are in demand so you can be picky about the company you choose to work for. So in addition consider some of these factors when choosing your next position.

Growth

When looking at Small and medium sized companies it is important to look at their growth (head count and client base) over the last few years (where possible). Joining a company that is experiencing an accelerated growth can be very beneficial to your career in the long term.
On the flip side a company that is losing customers and shrinking its business may not have room for you in the long run. Look for companies that lead in their industry and are performing well, acquiring new clients and retaining the business and loyalties of old ones.

Reputation of the company and its staff

Do some research; try understand the image a company holds in the industry. Working for a company synonymous for quality and delivery will be seen as a very positive reflection of your abilities and attitude on your CV.

Culture and values

The company culture and company values are very important to your happiness and growth within the company. Ask about the company culture, the team structure and try to ensure that the ethics, values, team dynamics, management style and atmosphere are in-line with what you would like.

Finer details

In the interview try get a better understanding of exactly what your day to day job entails. This normally happens within larger companies, where developers are pigeon holed into certain components of a project or within certain internally developed frameworks. Make sure you know what type of development work you are committing to. Make sure you are acquiring transferable skills. Will you be working on challenging new development or are you going to be confined to maintenance work?

Management team

Management teams and styles vary from company to company. In my opinion a development manager/team lead/project manager is most effective if he/she has worked their way up from developer or analyst and therefore understands the interests/dynamics/intricacies of all parties and components as well as the business motives behind the decision he/she makes.

Employee turnover

It is generally accepted that developers, analyst, project manager etc. are in high demand and will move between companies in the search for better career opportunities. So resignations in an IT company or division are natural and organic but be weary of companies with higher than normal employee turnover. Generally companies with this effect have underlying issues that may not be easily seen. Try ascertaining what the management’s attitude is toward employee development and retention before making this important decision in your career.

These are not blanket rules and there are exceptions in every case but hopefully they have given you a better basis to make a decision on your next career move.

Choosing the right company for you


So your CV is ready, you are prepped for the interview process, and you are now ready to start sending your CV out… but wait, there are so many companies. How do you choose where you want to work? Here are some things that should be considered when choosing a company to work for - and yes the IT industry is in demand for strong IT professionals so you can be picky.

Size does matter

As mentioned in a previous blog, the size of the company makes a significant impact in terms of roles, responsibilities, career opportunities, working dynamics etc. There is no right or wrong size; you need to find what works for you. Here are some of the advantages and disadvantages of both:

Advantages of a large company:

  • Mature HR procedures and policies
  • Structured career paths
  • Financially stable

Disadvantages of a larger company:

  • Rigid, bureaucratic and inflexible as well as impersonal, with less room for visibility at the top and more layers of management approval required for every decision.
  • Positions are clearly defined and developers tend to be pigeon-holed into specific areas of the technology stack and Software Development Lifecycle.

Advantages of a smaller company

  • Greater opportunity for visibility by top management
  • Generally more opportunity to get involved in all areas of the Software Development Lifecycle as well as all layers of the Software Architecture
  • More flexibility in smaller companies and it is typically easier to get buy-in for and implement change

Disadvantages of a smaller company

  • Slip ups and weak performances are also more visible by top management
  • May not be financially stable

Track record

If the company primarily focuses on consulting, have a look at their website and see if they have a track record listed. Read through the most recent releases and get a gauge of the type of work and technologies the company focusses on primarily. See if the type of projects listed are in line with what you envisage yourself doing, look at the technology stack used in these projects. Is the company making use of the latest technologies and tools? Does the company work across a variety of industries and technologies or are they specialists? Are they doing recurring work for the same clients? Are they growing their client base? These are very pertinent questions that could potentially indicate the health of the company and will give great insight into whether it would be a suitable fit for you.

Training and Mentorship

Mentorship is an integral part of a developer’s growth. I truly believe that for a developer to accelerate his technical growth he or she must be working with stronger developers. This, in my opinion, is critical to laying the foundations of good software practices that will live with a developer throughout his or her career.
Training is just as important for accelerated growth of a developer - do some research and ask around to get some insight into the companies training policies. The company may not need to send you to expensive external training sessions - sometimes self-managed internal training sessions are much better. These are generally focussed sessions presented by senior representatives of staff and have the advantage of being relevant to the current industry trends. These are usually run throughout the year which can be far more beneficial than attending a 3 day course once a year.

This will be continued in the next blog where I will discuss things like company culture and values, reputation of the company and its staff, management team and employee turnover and why these should be considered when making your decision.

Using LinkedIn to find a job (Part 2 - Etiquette)


As mentioned in previous posts, LinkedIn can be quite handy to determine information about a prospective company. You can use it to look at various things like the profiles of the staff of that company (are these the kind of people you’d want to work with), staff movements (i.e. does the company retain its staff successfully), skillsets of the staff and senior management etc. The company will also probably have its own profile page which may give some more information to supplement their website as to what they do. If all the information checks out and the company looks like a viable option for you, chances are they will have the contact details of someone who will help you through a recruitment process.

However, before making contact, there are a few useful etiquette tips that one should follow:

  • First check whether the company has a careers portal or email address before trying to make contact via LinkedIn. LinkedIn should be a last resort, but most companies will have an easier and less intrusive way of reaching their HR/recruitment departments.
  • Send personalised messages – be original and avoid using the templates provided.
  • Send messages to people at the correct level – for example sending a “hire me” message to the CEO of a company with 20,000 staff members may not receive a response.
Other etiquette rules outside the scope of this discussion include:

  • Don’t ask connections that you don’t know personally or professionally for recommendations – this is considered rude.
  • Don’t use LinkedIn like other social platforms. Post only headlines that your connections would find useful or informative
  • Remember that it is a professional network so you must act in this manner i.e. watch your language, don’t post abuse etc.


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. 

Using LinkedIn to find a job (Part 1 – Setting up a profile)


Setting up a LinkedIn profile is an easy way for graduates to create an online professional identity. As has been mentioned in some of our other articles, this is often one of the first things a potential employer will see of you. Many employers and recruitment agents use LinkedIn as a method of unearthing talent, and so it makes sense to keep an updated profile. The following is a rough guide to creating a decent profile:
  • Fill in all the fields for the information box at the top. This is the first thing anyone will see of your profile so it is important that it is complete. Add a summary (a little bit about yourself, your key skills and perhaps a career goal).
  • Upload a photo – try to use a professional looking one!
  • Under Experience, list any experience you may have gained in vac work, internships, tutoring etc. There is no harm in listing all of your part time work, and you can always remove this information in a few years when your stint as a bar-tender is completely irrelevant.
  • The next section surrounds Education – as a graduate, these are areas that you can really elaborate on. Firstly, input your entire educational history, and then also add teams, clubs, societies etc. Add any awards or noteworthy achievements as well. This all shows that not only did you turn up for studies, but that you engaged, got involved and excelled – all important aspects a prospective employer will look for.
  • Under Skills & Expertise it is important to give the appearance of a set of skills (perhaps pick 8 to 10) without lying. Line up the skills that a relevant to the types of job you will be pursuing.
  • Recommendations are trickier since you firstly need someone else to recommend you! At graduate level, obtaining a recommendation from one of your lecturers or tutors again shows that you were involved above and beyond during your studies.
  • Joining a few industry-specific groups will again show that you are engaged and interested in your chosen field, so search for relevant groups, join them and take part in the discussions that follow.
Creating a LinkedIn profile takes very little time and gives another opportunity to engage with potential employers, so there is no reason not to have one!

Prepare properly for interviews!

Going for an interview can be a daunting experience, especially if you are a recent graduate and this will be the first interview you are going to. If you prepare yourself properly an interview does not need to be a stressful experience at all.

Over the years that I have been interviewing candidates for Entelect, I have seen both well prepared candidates and candidates that were not, by far the individuals that were well prepared were more relaxed and confident. I have collated a few pointers from my personal experiences, those of friends and colleagues and from the vast number of links that a quick search on Google will return!

Know the people that will be interviewing you – this is a simple way of transforming the people at the other end of an interview table from faceless individuals that will be grilling you and testing your knowledge to people with a personality that you could easily hold a conversation with. It is very easy to ask the recruitment agent or the HR personal that set up the interview, who will be interviewing you. Alternatively you can have a look at the meeting request, if one was sent to you via email. Once you know the names, have a look on Linkedin or the company’s website and try at very least find a photo of the people that will be interviewing you.

Know the company – Have a look at the company’s website, chat to friends that may work for the company or have dealt with the company. Try find out as much as you can! Before the interview decide whether this is in fact a company that you are interested in working for. Formulate questions that you can ask the interviewer about the company and what role you will fulfil. Try ascertain what the appropriate dress code will be for the interview, if in doubt always dress-up.

Know yourself and your own experience – At some point during an interview you will be asked about your past experience. Make sure you are able to talk through your experience and are able to give detail when asked. Generally you will be asked the following:

  • Description of the project you worked on
  • The team environment for the project and what role you fulfilled in that team
  • The technologies that were used during the course of the project
  • The successes of the project and the failures, what you would have done differently that would have prevented these failures
Do some reading before the interview – Brush up on your textbook knowledge and ensure that you have covered the fundamentals that are required for the particular role that you will interview for. For example, if you are going to an interview for a C# developer role, do a quick search on Google for Top 10 C# developer interview questions and make sure you are comfortable with those questions.

If appropriate have a portfolio of work that you completed – It is always nice to be able to show an interviewer something that you have done in the past, this not only can creates a conversation point but it also provides something concrete that you can use to reinforce your experience. Make sure it is something that you can run through in 5 minutes or less as this should only complement the interview.