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.


Table of content

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

Career Guide for Software Developers