Whilst a hot software engineering job market is a ‘good problem to have’ for those professionals pursuing their passion within this field in KL, this does, in turn, pose a host of challenges. A fast growing, dynamic job market in an ‘emerging tiger’ location like KL is going to be difficult to navigate and capitalise upon. For that reason, I felt a great value add for our Software Engineering community of candidates would be to provide a simple interpretation of the job market here in KL along with some suggestion regarding how best to position yourself for success. Clearly, summarizing everything on one crib sheet is going to be overly ambitious, though it is possible to break things down in a systematic way and, at least, then you will be able to assess and address the best course of action for your future career in the sector.
First of all, a quick summary of the economic factors influencing growth…
It’s one of fastest growing areas of the market – c.20% growth/annum
There is a big gap between supply and demand
This growth is driven by ‘Digital Malaysia’ and its role as a viable regional hub
Very high levels of digital penetration: 72% of households have broadband / 68% signed up to social media / 48% are ‘mobile first’
The average Malaysian spends 5 hours on internet/day!
E-commerce revenues in Malaysia – USD1.5 billion with 24% annual growth
What are the different employer types for Digital Software Engineers?...
Broadly speaking, the primary employer types can be split into the following categories and each will have its own role to play in the digital transformation journey and will, therefore, have its own unique characteristics in terms of workload and culture, so it’s worth addressing this as a key consideration in your search:
Consultancies, eg Big 4
Social media & On-line services
Media service providers
Corporates, eg banks, FMCG and retail
And what are the hottest skills in the market by demand?
Based on jobs available, I would categorise broadly as follows in terms of specific skills:
IOS / Android developers
Full stack Java software engineers
Ruby on Rails
QA – Selenium etc
Big data, eg Hadoop, NoSQL
What role do Education and Certifications play in terms of job prospects?...
The Right University, Right course and Right certifications do play a role, BUT some faculties will stand out but very few will hold you back. There is a famous saying in the sector – Degree and certifications can get you the interview, but not the job! There is no substitute for passion and track record…
What courses stand out? Those that cover the building blocks of your craft – Computer Science, Electronics, Maths – all show the thing all employers want – problem-solving skills!
Do I go for an MSc a PhD? – only necessary if you really have the passion or wish to go into research. They could help you if you do wish to make the switch to the commercial sector in areas such as data science
Extra Certifications – are great for acquiring skills you may not be able to get on the job, plus they show right attitude, so are good interview ammunition
Interview processes seem to have become more complicated? What can I expect?
It goes without saying that the software engineer in the modern commercial setting needs to respect the interview process to get to where they want to be. Passion and track record are key, but employers are increasingly needing to assess a wide range of competencies and alignment before they will commit to making the hire – after all, it’s people that do software and you will need to collaborate with your boss, the team and company culture, so be prepared as you will be assessed for these qualities:
Typically multi-stage – technical assessment and face to face plus HR
The bar is very high and employers are very picky – 3 interviews are standard
Competency assessment approach – companies assess for specific skills based on specific examples that you can demonstrate. Use examples!
Employers rarely select on 100% skill match - transferable skills make the difference. So what are your main transferable capabilities? Quick to learn? Problem-solving?
I would categorize the main pillar competencies employers seek to assess in the interview as follows:
Capability, Mentality, Communication & Behaviour – what do these mean?
Problem-solving – numerical, logical reasoning
Creativity – new solutions to problems
Grasp of Computer Science fundamentals – OO, Core Java, not just frameworks
Passionate – believes in high-quality code and great products
Committed – see things through to fruition
Resourceful – independently comes up with solutions using available tools
Credible – presentable, well-informed, reliable, confident
Stakeholder management – conflict and expectation management
Loyalty – not a job hopper! (at least 3 years per job ideal unless very plausible reasons)
Team player – collaborative, not self-oriented
Culture fit – good alignment of values
Others skills in your evolving career plan…
Having a long-term view in terms of where you want to head in your career is an essential – I advise candidates to have a 5-year plan in this respect. As well as helping you in terms of executing your career strategy in terms of working out each stepping stone, you will be expected to articulate your thoughts on this during a typical interview process – employers like to hire people that know where they are heading! So have a think about the following in terms of your career aspirations…
Are you thinking about getting into:
Leadership – are you wanting to lead teams or become a CTO of the future?
Business interfacing – are you fascinated by learning more about the user and their functional world?
Project skills – Are you looking to acquire more business mould skills in future?
Understanding the questions above about yourself will help you enormously in terms of evaluating potential employers or even company types from the list earlier.
Some basic pointers …
Invest time in your CV – make sure it’s clear, compelling, accurate, concise (3 pages of A4 max!)
Demonstrate your passion and resourcefulness
Join and contribute to an open source project
Be proactive and show your passion: Build a mobile app, Start a blog, Present at code camps
Evolve your skills - Join on-line academies to learn new frameworks
Do your homework before any interview – Job description, brand and background, interviewer
Timeliness and presentation – never underestimate the importance of this!
Remember – people do software!
Software should provide real-life solutions – ‘don’t let the cart lead the horse’
Don’t burn bridges – everyone knows everyone so keep doors open and network
Don’t let rejection put you off – always take feedback and learn from it. Your career is a long and exciting journey!