2018 is coming to a close in a few hour's time, and this is a good time to reflect and take stock of my life. With my graduation earlier this month, I have started to shift gears with regards to the way I live my life and how I spend my time.
Actually, I was en route to graduation in the summer this year. However, due to poor planning and subpar academic results, I had to extend a semester in order to fulfil the programme requirements.
The transition from a student to a graduate who is ready to take on real world responsibilities is subtle, yet feels abrupt. A large contributor to this is the fact that I have not been spending my time wisely during my undergraduate years, such as engaging in activities that enrich the mind and heart, to become a more informed citizen who is ready to take on real-life challenges.
Enjoy learning Interestingly, when I did a refresher on some of the core data structures and algorithms on my own, I actually took the time to understand them and appreciate some of their real-life applications, which acts as positive reinforcements to fuel my interests in learning.
But the exact opposite was true during my undergraduate years when I was just studying for the sake of passing some timed tests, moving on to the next year, and eventually getting the degree. Result: No enthusiasm, lost, burnt out, depressed.
Up till now, though I still do not have a clear idea of my career goals, the things that I want to achieve, I am grateful for the few work experiences that I have had last year and this year. Every bit of experience broadens my perspectives in life and allowed me to realise the things that I value and wouldn't compromise on.
The software engineer
Being a software engineer is a natural by-product of a Computer Science education.
As much as software engineers are frequently put on high pedestals, from being the guy who transforms coffee into code, to the know-it-all guy who can solve every problem that you can associate technology with. In reality, there is a diverse range of software engineers.
Communication - what everybody is saying
It is no secret that software engineers are not the greatest communicators or eloquent speakers.
Nevertheless, I consider communication skills the top make-or-break factor in my career, especially daily work, one that overarches other areas such as technical prowess, salary and great company culture.
I consider my technical and communication skills as average, nothing to shout at yet not too shabby.
Communication when body language is missing
While I have encountered numerous difficulties and rejections that arise due to my technical competence, I have come to realise that the greatest stumbling block to my satisfaction and fulfilment at work is miscommunication among colleagues, which is greatly amplified in a remote team environment, and the management of these incidents.
This realisation came about because I had also made my own share of mistakes in communication in my previous workplaces. Minimising or eliminating communication overhead isn't a simple issue of "making your intentions clearer" and "making sure everyone is on the same page".
What is clear is that as a (junior)software engineer, the onus is on us to keep abreast of the latest technological changes, continuous learning, and being independent.
What is not straightforward is that when we encounter doubts, be it due to unclear requirements, lack of experience and therefore impeding accurate judgement, or inconsistent/contradictory orders from superiors:
- To what extent should I ask for help?
- Is it something that I can handle alone without letting the superior know?
- Should I inform my indirect superiors in addition to the direct superiors and other team members to make sure everyone is on the same page?
These are compounded by the fact that everyone, especially in a startup, is time-tight and do not have the luxury to sit down and give a 101 to doubts resolvers course.
The communication decision tree Here are a few rules of thumb that I follow:
- When starting out, it is better to err on the side of caution
- Do not assume others know what you are thinking - let your thoughts be heard
- Be resourceful(to realise when things don't tally) and confident enough to raise doubts to superiors and team members can sometimes prevent a huge wastage of time, not to mention motivation and morale.
I am glad that I got the opportunity to experience such a dilemma because every doubt I faced along the way allowed me to hone my decision-making skills and become a more effective person at work as well as in my private life.
Making mistakes is inevitable and often painful or even embarrassing, but it is only by picking ourselves up and moving on do we learn to become a better person.
Alfred: Why do we fall sir? So that we can learn to pick ourselves up - The Dark Knight
With all these, I am looking forward to a new year with clarity of thought and inner peace which lead to more proactive connections and opportunities. Onwards and upwards!
Did you find this article valuable?
Support Yap Han Chiang by becoming a sponsor. Any amount is appreciated!