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.

The dreaded interview


The interview is probably the most daunting part of the job search. The prospect of meeting new people, coupled with the pressures of trying to impress them makes it a bit like a blind date. The thing to keep in mind is it is nothing like a blind date. Companies need your skills as much as you need the company.  It’s a level playing field; both you and the interviewer are there to find out if you can work together.

In the course of my career at Entelect, I’ve interviewed hundreds of applicants, especially developers. The most successful has been when the candidate sees the opportunity to work with us and presents themselves as such. They ask pertinent questions about who we are and how we can work with them. They are professional, engaging and direct.

Here are a few tips:
  • Prepare beforehand. Use LinkedIn and Google to find out about the company and the interviewer. Find out the format of the interview. If there are tests, prepare beforehand.
  • Be professional – in appearance and presentation.
  • Sell yourself - what you offer them.
  • Be sold: what do they offer you.
  • Engage with the interviewer – there’s nothing worse than someone who just answers questions. People like to talk about the company and themselves, give them the opportunity to.
  • Interview the company – you’re going to be working there, make sure that it’s what you also want from a cultural fit.
  • Find out what a typical day will involve.
  • Make sure everyone is clear on expectations form a career, salary & benefits point of view.
  • Just relax and be yourself.
I've included a few links, some are from the perspective of interviewers (good to know both sides) and others just general tips and guidelines:











Some benefits of working for a smaller company…


In general, large organisations will tend to have bigger budgets meaning they can offer bigger salaries and more benefits to potential recruits. However, smaller companies are often able to offer a number of other advantages that may balance things out.

First off, there is often greater opportunity at a smaller company to take on more responsibility. In a software scenario, a developer at a smaller company is more likely to be involved in analysis, testing, client liaison work and all kinds of other areas of the business. If this is the case, it is really an opportunity to obtain a broader skillset and give you more of those crucial transferrable skills.

The spin off to this, is that if you are someone who excels given extra responsibility, at a smaller company the big-shots are more likely to notice. Getting rewarded for your extra initiative is another matter altogether, but it can’t hurt that the senior management have visibility to your willingness.

Another consequence is that there is a good chance you will be able to make a difference. This is a size thing – it would be impossible for a large corporate to be able to consider all their employee’s individual ideas.

These are just some of the potential advantages of working for a smaller company. It’s important to remember there will be pros and cons to working for any organisation of any size, and that just because a position doesn't come with a huge salary or a big-brand logo it doesn’t mean that there aren’t any other benefits.

Writing CV’s – don’t put yourself out of the running


Most of the time, a potential employer’s first encounter with you will be via your CV so it’s imperative that you spend some time on getting it right. CV’s are usually used to filter out candidates since an organisation will only actually interview a small percentage of the CV’s they receive. This topic has been covered by a million websites and books so we’ll just quickly recap some points:

  • Make sure punctuation and spelling are PERFECT. Proofread. Have someone else proofread – preferably someone with strong English language skills.
  • Likewise, be a perfectionist when it comes to formatting – check line spacing, use of bullets, table alignments etc. Stick to standard font types and be consistent with font sizing. It should be logically ordered, easy to read and not cramped.
  • Keep it informative but concise. Using bullet points can be effective in minimising word usage.
  • Start with basic personal details. Exclude superfluous information like religious affiliation, children’s names etc.
  • Move on to education and qualifications. List the names of institutions and dates attended in reverse order (e.g. university before school). If you received any awards or distinctions for subjects related to the job you’re applying for then find a way to include this information.
  • After that, list all certifications. There are arguments for both listing these in reverse chronological order or by relevance.
  • Order your job history chronologically, with your latest/current job first. Make sure you succinctly mention what you did at each position (achievements, responsibilities, experience). Again, tailor your CV to the position you’re applying for by including details that are relevant to that position.
  • In the world of development, a skills matrix can also be added. Tell the truth though, because listing technologies you haven’t actually been exposed to will be found out quickly in an interview situation.
  • Some people have a short section on personal interests in their CV’s – this is fine, but keep this section short.
  • If you list references, make sure you have asked the referee’s permission first!


As mentioned earlier, a quick Google search on how to write a CV will bring up a number of useful links. From personal experience of hiring, the first two points of our list give us the quickest excuse to hit the delete button when receiving a CV though – there’s just no reason to get these wrong.

Are there alternatives to recruitment agents?


I came across this article recently - http://www.guardian.co.uk/technology/blog/2011/sep/23/problem-recruitment-software-jobs. It is written from a UK perspective but is definitely applicable to the situation we find ourselves in in South Africa.

Basically the author looks at “reframing the needs of candidates, employers and the agencies”. First he looks at things from an employer’s perspective and notes that recruiting by receiving CV’s from a recruitment agency can be an arduous process. He then explains that with software companies paying recruitment fees up to 20% of a candidate’s annual salary, the software companies are losing money that they should be investing in themselves, and that this fee may be a factor in an employer’s decision when choosing between candidates. Also, the fact that recruiters generally won’t understand the software industry in enough detail to effectively screen candidates is inevitably mentioned. Up until this point, the article mentions nothing that we haven’t heard before.

However, he then turns the argument on its head and suggests that the problem actually lies with the candidates and employers themselves. He suggests doing research on companies that you’d like to get a job with (look for them on the internet, hear about them via mates, see them out and about in the tech community etc.), and then contacting the company directly with a cover letter, some examples of your work, a CV etc. This obviously depends on the companies reciprocating by having job specs, contact details and some useful information for potential employees posted on their website. Using LinkedIn nowadays is also another easy way to get in touch with relevant people within an organisation. The author says “To be honest, if someone wrote to me with a nice covering letter and spoke about open source projects that he or she liked, pointed me at a Twitter feed where they were intelligently engaged in the problem domain, and sent me some code that they'd written, they'd be more or less hired at this point” and I would imagine that a number of other employers in our industry would feel the same.

Graduating soon? What to look for in your first development job


Every year at Entelect we have a couple of Grad Days where we give graduates a short presentation on the state of the Software Industry in Johannesburg, some basic career advice and some information on what to do once entering the workplace. We also give a few tips on how to identify what types of job will suit you best.

We believe that the first two years of your career can really accelerate your career, so in many ways that first job is an important decision.


Firstly, do some research on the company you are applying to work with. You need to find the atmosphere that is right for you. It’s hard to determine this before the fact, so if you are granted an interview then ask for a tour and ask questions about the work environment. you know anyone else at the company, ask their opinion. Even check the company’s website. Which will also give you an idea of the company’s core values. It’s important to work for a company that has values similar to yours. This is all fairly generic stuff, relevant to all industries.


In the software industry, there are a few other things to look for. Number one on our list is to make sure your first job gives you transferrable skills. Without opening the debate on generalisation versus specialisation because there is definitely a place for both, your first job should give you some generalist skills. For example, initially working in a position where you will learn the basics of the Java EE technology set should be preferential to working in a position where you will only learn a very small technology set (for example Tibco). This isn’t a hard and fast rule since specialist positions can be lucrative and fulfilling, but what this allows you is greater options to move between jobs. And you can always specialise down the line.


Tied to this, there are all sorts of other decisions – do you want to go down a pure technical route or move more towards consultancy? Do you see yourself fitting better into a small development house or a large corporate? Do you want to work in a particular technology set or industry? No matter what the answers are to these questions, look for something that will give the widest exposure to gain the maximum amount of experience in the shortest amount of time.