██████   ██████ ███████████  █████          ███████████ ██████████ ███████████   ██████   ██████
░░██████ ██████ ░░███░░░░░███░░███          ░█░░░███░░░█░░███░░░░░█░░███░░░░░███ ░░██████ ██████ 
 ░███░█████░███  ░███    ░███ ░███          ░   ░███  ░  ░███  █ ░  ░███    ░███  ░███░█████░███ 
 ░███░░███ ░███  ░██████████  ░███              ░███     ░██████    ░██████████   ░███░░███ ░███ 
 ░███ ░░░  ░███  ░███░░░░░███ ░███              ░███     ░███░░█    ░███░░░░░███  ░███ ░░░  ░███ 
 ░███      ░███  ░███    ░███ ░███      █       ░███     ░███ ░   █ ░███    ░███  ░███      ░███ 
 █████     █████ ███████████  ███████████       █████    ██████████ █████   █████ █████     █████
░░░░░     ░░░░░ ░░░░░░░░░░░  ░░░░░░░░░░░       ░░░░░    ░░░░░░░░░░ ░░░░░   ░░░░░ ░░░░░     ░░░░░ 
MBL TERM v1.2.3
INITIALIZING... .......... OK
MEMORY CHECK ..... 65535 bytes .......... OK
TAPE DRIVE ..... NOT PRESENT .......... SKIP
NETWORK INTERFACE eth0 ........... UP
MOUNTING /dev/sda1 ................ OK
LOADING USER PROFILE [you@home] .... OK
WELCOME, OPERATOR.
Loading complete - redirecting...

Generalist By Birth

When I was let go in September 2024 as part of a mass layoff, I took a few days to get over the initial shock, and then dove straight into the crazy world of job searching.

Before I could apply to job postings, I had to update my resume. This wasn’t a document that I updated often — the last time had been for my previous job search in 2021. However for this job search, I wanted to simplify the layout, and make it look more professional. I did some research on how to structure your resume based on articles from successful SWE (software engineer) that were hired by FAANG companies.

I not only needed to update my resume, I needed to refine it: go back and think of all the things I accomplished at my first job, which I had been in for 8 years. At that company, I started off as a junior developer and worked my way to senior developer. During those 8 years, I worked with different technologies: IBM Websphere, basic HTML and CSS, jQuery, AngularJS, Java, bash scripting, AWS, Angular, Wordpress, PHP, Selenium, Javascript just to name a few. It’s a decent list, but I can say that after all those years, I had not mastered any of them — much less being an advanced user. In order to be successful in the different projects I was given, I would always just learn enough to write some initial working code snippets and then build from there. When there was a blocker or something wasn’t working, I could just search for the answer online.

I had become a sort of jack of all trades, master of none. That phrase didn’t have a negative connotation for me at the time. It’s only when I reflected back on what I had to show for all the different projects I had worked on that I realized I didn’t have a firm grasp on any of those technologies.

That got me thinking, why was I not motivated to excel at least in one of these technologies or languages? As I self-reflected, I realized that I don’t even excel in certain aspects of my personal life! I had to rewind a bit and think about those different aspects. I first considered the fundamental aspects of my upbringing: language and culture.

Having grown up in a mixed culture household, the exposure to my parents’ different cultures was limited. We were experiencing a little bit of culture from one parent, and a little bit from the other. And with their respective languages, it was decided that one parent’s language would be spoken exclusively at home, while the other parent’s language would be learnt in a more limited way. English was not even considered — that was something we could learn in our surrounding environment.

In the end, I was not speaking either language at native fluency, and also not 100% immersed in either culture. But to be fair, I was almost 100% native in my primary language, but I didn’t feel like I was. I did know enough of each to get by however, and I think I was fine with that. After graduating high school, I did have to put in more effort to keep up, and today, I would say my skills have suffered. It’s definitely something you need to keep up with, especially when you are not speaking everyday.

I do wonder if that side of my upbringing had an influence on how I approach learning and tackling challenges I’m given.

Even my hobbies are quite varied, but I have not excelled in any of them: I’ve done some painting, some woodworking, some acrylic nails, some hair colouring, floor tiling, floor installation, simple car modifications, paper crafting, model cars, etc. But I only ever learned enough to achieve whatever it is I was trying to do in each of them. Over the years I have collected numerous amount of tools, paints, stationery, fake nails and hair dye, and other hobby-related accessories. All of which I plan to start using again — eventually.

I’ve come to terms with being okay being a jack of all trades. It’s not a bad thing, far from it: I think it’s challenging to learn something new in order to accomplish a task. I would say it’s a great skill to have, and it’s probably something I’ll continue doing for the rest of my career. Another positive characteristic of a generalist is that you can become the go-to person for various topics. Junior developers may have general or ambiguous questions that you are well-positioned to answer. The key takeaway is that you should always admit when there is something you don't know, and that you are determined to find the answer.

After a few weeks of job searching, applying and interviewing, I did end up landing a great role working with the same technologies as in my previous role. Ironically, the project I worked on in my first role was the one I chose to discuss with the hiring manager, and I did put a focus on having learned on the job in order to ensure that project’s success.

Once I started in my new role, I decided then that I wanted to focus a few hours a week on learning and excelling in one of those technologies I listed on my resume. Not only focus on a career-related area, but also look into improving a soft skill (in this case, I chose critical thinking). A short-term goal I have is to be a SME (subject matter expert) so I am very motivated to continue learning. A long-term goal is to become a principal engineer in that specialized field. After almost 14 years of being a generalist, it's never too late to start specializing!