Advice, Software Engineer

Everything You Have Wanted To Know About Succeeding In A Tech Career

Helping professionals in tech achieve their goals by providing actionable and strategic career advice is my jam. I find it very rewarding. So without any further ado, here are some of the commonly asked questions from those in the tech industry when it comes to their career. I have intentionally made them short & sweet but there are links to articles that I’ve written if you’d like to read more about any topic.

Enjoy!

Table of content

Women in Tech

What is the best career advice for a software developer to earn a higher salary?
There are 7 strategies, some applies more to employees than entrepreneurs. Remember, play the long game.

Strategy 1: Begin with an end in mind
Action: Write down your medium-term career goal on a piece of paper or in your worksheet* and work your way backwards, step by step.

Strategy 2: Become an intrapreneur
Action: On a piece of paper or in your worksheet*, write down the transferable skills that you would like to develop in the first column, and write down your ideas in the second column.

Strategy 3: Be at the service of others
Action: Make a list of things that you already do to be at the service of others on a piece of paper or in your worksheet*. Add a few more things to the list and start doing them as soon as possible.

Strategy 4: Find a few champions
Action: Identify a few champions within or outside your company and schedule a 1:1 with them. This is the first step to building a relationship, so no agenda needed. You may use the table provided in your worksheet*.

Strategy 5: Produce business results and back it up with data
Action: Speak to your manager to see if you can get access to important metrics for your company. Is there a Value Driver Tree (VDT), a Net Promoter Score (NPS), or a Balanced Scorecard that you can take a look at?

Strategy 6: Be a social butterfly
Action: Go for coffee or lunch with someone that works in a different team within your company this week or as soon as possible. Repeat a few more times with different people until you feel like you are getting comfortable with people and understanding them better.

Strategy 7: Never stop learning
Action: Speak to your manager, your colleagues (from different teams) and your team members to see if there is anything you can help them with. For example, does your marketing team need someone to help out at the next trade marketing show? Does your product team need a facilitator for their next design sprint? Be honest and tell them that you are looking to expand your knowledge to grow your career.

More info: Seven Strategies To Grow Your Career

What are the best ways to start a tech career without a degree?
The best way to break into tech industry with or without a degree is via your personal brand. That’s because your personal brand will showcase your skills and competencies and get you noticed.

More info: How To Set And Achieve Career Goals As A Software Developer

Help! I failed in 9 tech interviews in the last 6 months, I just can’t take it anymore, what should I do?
Looks like you have yet to master interviewing skills. Did you get feedback from your previous interviews? Try reaching out to recruiters for feedback.
There are top unacceptable answers that a candidate makes for Skill-Related Interview Questions — make sure you avoid them. Here are the examples.

On learning something new on the job
“I don’t really have time to learn new things. It’d be good if you could just migrate to tool X that I am already familiar with.”
Learning new skills is a part of the job in today’s business environment. Gone are the days when you didn’t need to learn new skills because you had been working in the industry and performing a similar job for a few years. Instead, as an interviewee, you could provide a more thoughtful answer on your learning style:
How you’ve previously learned a new skill.

What learning approach you used.
What the main takeaways of applying that approach were.
How you’d approach learning a new tool or whatever it is you need to learn in order to be successful in the role that you’re interviewing for.

On making mistakes and learning from failure
“Funnily enough, I can’t remember the last time I did something wrong.”
As an interviewer, I’d say “OK” and move on. However, in my
interview notes, there would be something about a lack of self-reflection.

On dealing with conflicting opinions on a solution
“I escalate it to my manager and let them handle it. I don’t like to get involved in conflicts.”
The problem with this answer is not the fact that you’re involving your manager. Getting a third person’s opinion, whether it’s your manager or not, can be a good thing to do in resolving conflict. The real problem with the answer is that there is a lack of ownership here and perhaps a lack of care for your own craft. We’re in the 21st century, and employers do not want people who just do what they’re told. They want employees who are passionate about what they do, and as a result, they’re willing to resolve conflicts head-on.

Interviewing is a skill. You can get better at it, but only if you know what mistakes you’ve been making. So get feedback and learn from books, articles, etc.

More info: Interview Tips for Tech Jobs

Is there a comprehensive cheat sheet for tech interview prep?
If you’re talking about a technical peer programming interview, there are four essential ingredients to a successful interview of such type. They are:

1. Questioning: Always ask questions before jumping into your solution. Assume nothing.
2. Thinking: Think out loud. Explain why you decide on a certain approach. Give compelling reasons.
3. Education: Aim to educate. Even if you think something is very easy and everyone should already know it, aim to educate anyway. You want to be seen as a subject matter expert in your field or at least, in your solution.
4. Critical thinking: Practise critical thinking. This can be achieved by asking what are the edge cases that haven’t been discussed, looking at the problem from a different perspective, examining relevant data points and so on.

As someone who had sat on the other side of the table for many interviews, I’ve seen candidates often fail to articulate their thinking during tech interviews due to lack of understanding of expectation from interviewers, not because of technical abilities.

More tips and strategies can be found in my Nail That Interview ebook.

What are some tech career goals for mid-career people?

Technology is no doubt at the centre of everything these days. If you’re a technologist, then you might be overwhelmed with all the things that’s happening around you. A new approach, a new system, a new vendor, a new provider, a new framework, a new methodology almost every single day. Sooo soo much to do.

Maybe this is the reason behind your question — What are some tech career goals for mid-career people? Coz there are definitely no shortage of things to do and achieve.

To help you focus on what matters, I’d like to share with you this bucket list ideas for technologists to achieve.

  • Contribute to open source projects
  • Perform skills-based Pro-bono work
  • Visit the Silicon Valley and Bay Area and be inspired by the tech scene(After Covid, of course)
  • Participate (eg: speak, organise, volunteer) at a major tech conference
  • Sponsor someone from an underrepresented group
  • Become a subject matter expert for a topic
  • Create an online community or network that connects and enables others to do meaningful work

I am biased, but I think they are great goals with great meaning behind them.

What are better jobs other than a software engineer?
The best job is the one that you love, your dream job! Let me explain.

“Have you found your dream job?”

I don’t know why, but I have a strong curiosity about people’s careers. In the midst of a 1:1 meeting, I asked my colleague that question. She looked at me puzzled but then replied with an unwavering certainty, “No, not really.”

Over the past decade, the above conversation replayed many times, with different people, at different places, but the answer was almost always the same — No, not really…
Now, I can hear you asking me, “Dear Isabel, have you found your dream job?” My answer is “Yes, many times…” It’s not a short and sweet answer. Let me explain — I’ve found my dream job many times in my career. My dream job ten years ago was certainly not what I am doing right now. Likewise, my dream job right now will not be my dream job in a decade time. Because I know for a fact that I will grow out of my current job and will be ready for something different in the future.

The reason why you haven’t found your dream job yet is pretty simple — you don’t know what your dream job is. You don’t have to be a software developer to have a career in tech. There are many other roles that tech companies require, such as design, product management, marketing, human resources, just to name a few. My advice is read my article below and do an introspection of what you’re really looking for.

More info: The Real Reason Why You Haven’t Gotten Your Dream Job

What is the psychology/mindset of great software engineers?
Great software engineers are able to think and act like a CEO.

You may be thinking, oh, but I don’t think I can develop such skill or mindset, I have never been a CEO or don’t know a CEO personally. You may be surprised to know that being a developer means you already have a lot of similar characteristics that are important for a CEO. So it is more about understanding and honing this skill. Let me share with you five ways to help you think and act like a CEO even if you have never been one. And the best news is, this skill is transferable and useful regardless of where you are currently in your career.

1. Understand how business success is measured at your current company
2. Leverage data effectively
3. Learn to delegate
4. Be obsessed with continuous improvement
5. Bring positive energy

More info: The One Essential Skill That Will Set You Apart From Other Developers

How can I learn anything faster as a professional in tech?
Learning, upskilling and staying in touch with latest technology and trends are a part of any professional’s life in this day and age. They are not optional extras, but are vital to the successful achievement of your career goals. As an engineer manager, I’ve seen first hand how important it is for my developers to be able to learn quickly. I am going to share some common learning mistakes that developers often make regardless of where they are currently in their career. The mistakes apply to those in other industries too. Let’s take a look at them and I hope you will pick up a tip or two that will help you become a more efficient learner in no time.

– Not having a learning plan
– No clear end goal
– Choosing too broad a topic
– Reading and watching too many books, videos or tutorials
– Not keeping track of progress

Learning without thought is labor lost; thought without learning is perilous. — Confucius

More info: Common Learning Mistakes That Developers Make And How to Avoid Them

What are the common career goals of a software engineer?
As a senior engineering leader who’s spent the last decade working for top-tier tech companies, I’ve seen my fair share of career goals by smart and driven software engineers.

The common ones are:

  1. Become a Subject Matter Expert in X (X could be a framework or a language or a system)
  2. Become a next level software engineer (Junior -> Mid-level -> Senior -> Principal, etc)
  3. Become an engineering manager
  4. Create their own start-up and be the CTO/Co-founder

They all sound logical but my first question to them is why are those your career goals?

There are thousands of articles, books, and videos on how to set career goals. However, there is little information available for developers and software engineers on how to set these effectively.

I truly believe that the best career goals for developers and software engineers are specific, measurable, achievable, timely, and — most importantly — that align with their values and desires in life.

Don’t just add something to your list of things to achieve because you see someone else doing it.

Steve Jobs summed it up quite perfectly:

Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.

More info: How To Set And Achieve Career Goals As A Software Developer

What advice would you give to younger girls deciding to make a tech career for themselves?
In my experience, there is one thing that really helped me in my career in tech; doing the inner work and building my self-confidence. Because it’s true that sometimes tech industry is a lonely, unfriendly and tough place to be. But once you have self-confidence, you can conquer anything.

Confidence is a tricky thing — it’s the sweet spot between feeling doubtful and being cocky, and it’s definitely easier said than done. Everyone seems to want it, but only a few have mastered it.

Here are five techniques to build your self-confidence
1. Do the Work to Become Capable
2. Smile, Relax and Look the Part
3. Choose Your Words Carefully
4. Develop a Growth Mindset
5. Be Persistent

If you’re interested in reading about some of the struggles as a senior woman in technology, check out this blog post I’ve written: My Interview Experiences As A Female Leader in Technology.

How do I get a job at a big tech company like Facebook or Google? Where do I go, and what do I need to learn to become employable and noticed by those companies?
How can I get a software engineer job in one of the top tech companies?
I started my career working as a web developer for a small web agency, doing everything from gathering requirements from customers, designing websites in Adobe Photoshop, building backend applications, coding frontend interfaces, to looking after domain name registration, hosting and so on.

And now I am working for a tech company as a Senior Engineering Manager. I’ve also worked for another tech company as a Technical Architect and Engineering Manager.

How did I get in?
To be completely honest, working for a tech company wasn’t one of my career goals. I think what helped me without me knowing is my personal brand.
It goes without saying that you need to be really good in your craft, but apart from that, you need to have a visible personal brand too to be more employable and to get noticed by those companies.

If you want to stand out among other developers and have opportunities arriving to you and great tech companies reaching out to you, then you need to have a personal brand. So please include this as one of your career goals: be seen, everywhere, for all the good reasons.

You can read more about setting career goals as a developer and creating your personal brand here: How To Set And Achieve Career Goals As A Software Developer.

How do I know if my current job is holding you back from my full potential?
I’d look for the telltale signs like below.
1. You Don’t Feel Enthusiastic About New Projects or Initiatives
2. You Think Your Job Isn’t Adding Value to Your Life
3. You Start Taking More Time Off Than Usual Because You’re Bored at Work
4. You Can’t Remember the Last Time You Learned Something New at Work
And specifically for developers/software engineer (because that’s the industry I am an expert at)
5. You Stop Being Thorough With Your Code Reviews
6. You Aren’t Excited About Seeing Your Work Live in Production
7. Your Defect Rate Increases, and Your Productivity Decreases
8. You Stop Pushing Back — Even When You Don’t Agree With Technical Designs

Often time, it’s hard for people to recognise that their current job is holding them back. Because they feel comfortable with what they are currently doing. Change is hard for anyone. It’s our human nature that we dislike change. We like to be comfortable and thrive in knowns. But the thing is that when we step out of our comfort zone and really embrace change in our career, we learn and grow so much more and we experience joy in our work. There is also other tangible benefits that come with it as well, such as a higher pay, a bigger network, and an increased skill set.

More info: The Telltale Signs When Software Developers Are Ready for a Change

As a manager, does it hurt your role when you take every chance you get to start programming?
It depends on the type of company you work for.

If you’re working for a startup with a small team of developers, it is inevitable to be hands on.

If you’re working for a big tech company, you’ll probably be busy with other managerial work that programming should be the last thing on your priority list.

My advice is to understand your role and responsibilities and what you’re expected to be doing to make an informed decision.

My rule of thumb for engineering managers: Don’t try to code at every chance and you shouldn’t be at the critical path or bottleneck for your team.

More info: Four Strategies for Overcoming Common Struggles New Engineering Managers Face

Women in Tech

What should men do (and not do) to support the growth of women in tech?
Throughout my career in a male dominant industry, I have learnt a thing or two about what we, as women in tech, like and dislike and how we like to be treated. To be honest, I have been quite fortunate in my career and have met some great managers who have treated me with respect, but I understand not everyone has the same luck. If you are a manager with female team members, I hope this answer will help you understand us better.

  1. Do give us opportunities to grow
  2. Do treat every female differently
  3. Do respect our choices
  4. Do pay us what we are worth
  5. Don’t soften your feedback
  6. Don’t try to compare us to your mother or wife or any female figure in your life
  7. Don’t evaluate us differently
  8. Don’t feel uneasy to approach us
What are you best networking tips for professional women in tech?
One. Don’t feel awkward to hang out with your male counterparts. Two. Find common interests and talk about them. Three. Don’t think of it as networking. Instead, think of it as having a conversation with one of your friends (while keeping it professional, of course). Once you’ve done those three things, the benefits of networking will come naturally.
What can companies do to better support women in tech?
As an advocate for women in technology and being a woman in technology myself, I have been approached a few times by companies and leaders on ideas and best practices for retaining and promoting female talent in the industry. It’s great to see because if companies only focus on hiring female talent and do not put as much effort into supporting them and creating an environment that enables them to thrive, it will be like collecting water with leaky buckets.

The truth is that women in tech are not at all that different from women in other industries. However, the tech industry is known for having a large gender gap and many women quit tech mid-career because they do not get the support that they need. I spoke to a friend of mine who works in Human Resources (HR). HR is well-known for having the most female talent. She wants the same things as I want, but she said she doesn’t have many difficulties in getting what she wants to thrive in her career. Then, why do many women in technology say they face a lot of setbacks and struggles to grow their careers and stay in the workforce?

As I thought about it more, here is a possible reason. It is because there are not many women in technology; when we are making requests, talking about what we need or trying to be heard, we have to work harder because we are not the norm, we don’t represent the majority of the workforce, and we are often seen as wanting different things than what most our colleagues, who are male, would want.

As a result, many technology leaders and companies don’t know how to accommodate and handle issues and requests from female employees simply because they don’t experience them often.

There are also harsh expectations and standards imposed on us by society. A classic example of a double standard is when a female is being assertive, she is called bossy and when a male is being assertive, he is considered to be a leader. Moreover, when a female leader embodies feminine characteristics such as kindness and empathy, they are considered to be “soft”.

So what can companies do to better support women in tech? Well, I’d like to share with you six actions that companies should take to make a difference in retaining and promoting female talent. And I can say this with absolute confidence because I am backed by gender-based researches, my personal experience as a woman in technology, a working mother, and being a manager and mentor of female talent in the industry.

They are:

– Offer a flexible work environment
– Provide access to senior management
– Give specific compliments and recognition
– Create a purpose-driven organisation
– Encourage a support network
– Provide coaching

Why do we need a network for women in tech?
As women in tech, we face unique challenges and experiences that are not common for our male counterparts. It’s important for us to feel heard, realise that we are not alone, support each other and work towards our goals.

The following is an excerpt from an article I’ve written on what companies can do to keep women in tech:

Women need a support network at work, one they can count on and be themselves without being judged. She is not very good at just reaching out to people and forming her own network because she is often not as vocal.

She wants to succeed but she doesn’t want to be seen in a negative light by asking for what she needs and wants, being rational, achievement-oriented or ambitious as opposed to how women are stereotypically meant to behave, friendly, sensitive, and appreciative.

Research says that a woman at work is relationship-focused with strong interpersonal skills and collaboration skills and having a support network where she can leverage these skills will really help her shine.

I have always worked with male colleagues and I have no problem communicating with my male counterparts. When I started participating in female-oriented groups, both at work and in the community, such as Girls Geek Sydney, I noticed the differences in how male and female approach different issues and communicate with each other. This should be no surprise as men and women differ psychologically, and my only advice is to reach and influence women, empathise with and think like us.

Career Guide for Software Developers