Singapore is back to phase 2 from 8 May to 30 May with the spike in COVID-19 cases. This time, our workforce is more adapt to remote working or work from home (wfh). It is always great to see how well we switch to working anywhere. Elsewhere, we are also seeing spike and result in travel ban from certain countries. How should the management adapt to changing government policies on the pandemic?
Adapt and React
By now, most organisations are resilient to adapt and react to different phases of government responses to COVID-19. The infections can be unpredictable with waves or cluster of infections. Business continuity remains top priority to ensure service level are similar. In some cases, we need to slow down or de prioritise certain tasks or projects.
Self Organising Team
The pandemic have result in an importance of self organising team. Centralised management of team will be obsolete in face of empowerment. As our workforce becomes remote, decision making must be empowered and teams need to be self reliant. Teams become autonomous and accountable to their projects or job scope.
For all old management, it is time to face the change from the pandemic. Management needs to create self organising teams and empowering staffs. On the other hand, workers must play their part to be accountable to their tasks without decentralise management.
Troubleshooting codes is a skillset that is always “taught” in school. There are always test that ask what to spot mistakes in the code syntax. This is often tested school exam, coding certification or interview coding tests. How often are these effective to spot if someone is good at troubleshooting code?
Troubleshooting cannot be Tested
Like all soft skill, it is difficult to test the level of troubleshooting. Tests usually focus on code syntax. This form of test are considered obsolete as compiler will flag syntax errors. Testing on logic flow also do not reveal much on your troubleshooting skills as you can memorise the form of common logic occurrences. This is why you cannot expect a person with lots of certifications as an indicator of good problem solver.
How to Demonstrate your Troubleshooting Skill
This brings the question on how one can identify this skill. There are a few common ways to demonstrate this skill. You can illustrate on how you are able to solve complex problems. Interviewers can also pose scenario based questions and see how the person react. A good problem solver will be calm to analyse and dissect the issues given. Another method is your track record of your career. If you are a problem solver, it is good to show it in your resume.
Scenario based questions are getting popular. Freshies must learn to demonstrate their soft skills. One of a key important skill is troubleshooting codes. Of course, certifications and tests will not reveal such skill. You can only demonstrate it via your track records or confidence to react to such scenario questions.
There is a trend of MNC hiring that requires a working stint or experience in a Startup. One reason is the ability to innovate with minimum cost for a startup. Of course, you will not see such phenomena if you always work in a MNC. So, why are MNC looking for startup capabilities? I will relook my own experiences in Startup and explain quickly why it is such sought after for MNC.
What is a Startup Mindset?
In a MNC, majority of IT are outsourced and dependent on vendors. You give requirements and vendor provide cost and quotations. In contrast, startup have lower cash and can only able to rely on its most valuable skills i.e. human capital! IT solution are often open source and incur zero licensing. The constant need to be creative and innovate with minimum cost will hone the startup mindset in an individual.
Think like a Startup in the MNC
In a startup, you are always hands on for all implementation from business analyst, developer, tester, support and even pre sales. This is the perfect Agile team competencies and each members are capable to handle end to end project implementation. The view is not to rely on vendors and focus to build resource competencies in-house.
It is good to see MNC looking to acquire startup resources or people with such experiences. However, you can also encourage such mindset with a single leader who have such expertise. All I can say, it is not easy to create startup mindset for your team. Do not give up as the rewards are worth it.
Once upon a time, our current role do not require a developer background. However, things changed when I took over the team. Being able to code or to learn becomes a requirement. One may ask why is this is key requirement.
You can’t manage what youcan’tunderstand
One of the values in many teams emphasis on the understanding of what you are managing. A good phrase is to lead by example. I find that people are more inclined to respect if you know your stuffs well and even get your hands dirty. Often, we seen great talkers who solution with little view of how complex the implementation will be. On the other hand, we also find ourselves hoodwink if you do not understand the workings of the solution.
Aptitude to Code
It is hard to evaluate who have the aptitude to code. Traditionally, computer science students have the most advantages in coding. You can say that this is the safest choice when hiring. We have seen a recent increase of non comp science students who want to enter the world of coding. The question is how to show you have the aptitude.
It is good to see many switch to coding or IT arena. Roles are also favoring people with coding background. For those who wants to switch to these roles, it is more than taking a course on it. You must present your aptitude towards coding and show deep interest in the world of IT.
Looking back to year of COVID-19, there comes a few plus point that have happen to the dynamics of working. The one good thing I can think of on top of my mind is the chance of working remotely. This method of working will have never be realised in many Asian countries if not for the pandemic.
FaceTime is a Thing of the Past
In Asia, cultures plays a an important part of everyday working life. FaceTime and long working hours is an indicator of “hardworking”. We are often told to be on time at work. Knocking off on time is frown upon and you are encouraged to clock overtime. There was even one instance where I was assigned more tasks because I was seen leaving work on time constantly (to fetch my kid).
Remote Working Gives Work Life Balance
As many found out, remote working allows each individual to gain around 3 hours of personal time. These time would have been used to spend on getting ready for work or traveling to work. We can now achieve better work life balance by investing these extra time in personal well being like going to the gym.
Working Remote can Maintain Productivity
The pandemic have shown that working remotely does not give rise to a reduction of productivity. In some cases, the productivity increases as workers are much happier with the increased flexibility and work life balance. There are also times where schedule can be easily planned with adequate rest to connect with colleagues across different time zone.
Working remotely is the new norm. Traditional organisation and management will need to acknowledge and adapt to new way of working. If not, good resources will be lost to the new norms.
It is surprising to see that many do not know what is the IT role they are applying during a job interview. In a way, we should reflect and see how society have confused these younglings about IT careers in our education system.
Understand IT Career
Like all industry, IT are diverse and span many verticals and specialisations. Unfortunately, many have the misconception of labelling IT as a coder role or someone who works with computer. However, IT career is much more than that. It is common to see that most of us started off as either a technical role or functional one. Around 20% may cross both roles and become techno-functional . Some will specialise in a particular business domain while others focus in the IT aspects across different verticals. Although diversity is good in your early career, you should reach a steady state by your midlife.
A common question by freshie is how should you start IT career. Usually, I like to view the personality of the person to match the starting point. As an analogy, a good swimmer can never excel by starting on a running track. A technical role is often logical and suits more towards introverted personality. On the other hand, functional role rely more on the understanding of user behaviour and business processes. There is an emerging demand for techno-functional role. This role is the most challenging because you will need to leverage on your “Dr Jekyll and Mr Hyde” personality.
What I mention is a simple quick way to evaluate and start your career. The better you understand your personality, the faster you have advantage on the starting point.
We often review technical skillset for different projects. In our evaluation, we notice similarities in many candidates on their programming languages. So, how do you really differentiate what you want? I will liken coding to sport players at times. There are technical, flair or elegant coders similar to star players in a soccer team. The question is how to you spot this gems?
Who are you looking for? A star player, coding machine, or a problem solver.
Set a benchmark on the types of resources.
Look for project trends and the role they play.
Ask specific scenario based questions to the role you want.
If you are a coder yourself, ask yourself which role you play best! The best fit will bring out your best performance. If you are hiring for one, what coder you need to make up the rest of your team?
When you are doing Agile, you naturally gain a new skillset on exit planning. This is due to the time box that is set for your changes. Waterfall favor extensive test coverage, testing and sign off. On the other hand, Agile focus more on code quality, speed with CI/CD (Continuous Integration/ Continuous Delivery) methods. In another words, you formulate your exit plan while building for Agile. This is also commonly known as rollback plan.
In recent times, this is rename as DevOps that function in similar manner. In my team, I always emphasis End to End knowledge i.e DevOps and a need for Agile Exit Plan. Here are some ways of building your Agile Exit Plan while moving towards DevOps.
Good Agile deployment must have resilience way to monitor and rollback your codes.
Data integrity is a majority of deployment errors. Cultivate good code quality with exception handling.
Train SME (Subject Matter Expert) who can provide good advice on exit plan for each Agile deployment.
Develop 80/20 rule for your Exit Plan. Factor 20% as exception and focus your resources on the 80.
It takes years of practice to master Exit Plan with waterfall approach. However, Agile is so intense that you can hone your skills within a year or two. If you are also handling Production like me, you are DevOps before you realise it.
I am asked a question of what traits should be in my team. To me, being Agile can be trained to some extent. However, some traits are natural to Agile and suit the person well. This is what makes the person perform exceptionally well in an Agile team. Here are some quick guides to look out.
Natural Trait for Agile Team
Thirst of knowledge and passionate to learn.
High intrinsic motivation.
Ability to innovate and embrace changes.
High integrity and self monitoring.
“Never say die” attitude
To tease out these traits, ask hard scenario based questions. You can also expose team to such scenarios and raise their awareness. Some members will thrive while others lag behind. You may want to redeploy laggards to maintain a high delivery Agile team.