Category Archives: Software Engineer

STAR method software engineering interviews

STAR Method: Make yourself more interesting when you speak

“People don’t buy what you do; they buy why you do it.” – Simon Sinek (adapted to interviews: great candidates don’t just list skills. They tell stories that show why they’re the right fit.)

Imagine this: A nervous candidate sits across from the hiring manager, fumbling through a behavioral question. Their answer jumps around, mixes “we” with vague details, and ends without any real impact. Then, after practicing the STAR method, the same person returns for a follow-up round. This time, their response flows naturally: a clear setup, their specific role, decisive actions, and a measurable win that leaves the interviewer nodding. I’ve witnessed this transformation countless times. People who once struggled to articulate their experiences suddenly sound confident, compelling, and ready for the role.

The STAR method isn’t a rigid script. It’s a flexible framework that provides natural flow to your stories, making them more engaging and memorable. Whether you’re gearing up for your next job interview or simply want to sharpen your communication skills, let’s explore STAR in depth, its roots, the psychology behind it, and some quick alternatives for comparison.

The Origins and Evolution of the STAR Method

The STAR method emerged in the 1970s as part of the rise of behavioral interviewing techniques. Pioneered in 1974 by industrial psychologist Dr. William C. Byham, it was designed to shift interviews away from hypothetical “what would you do” questions toward real, evidence-based examples from a candidate’s past.

Over the decades, STAR has grown from a specialized tool into a global standard for job preparation. It’s widely recognized for helping predict future performance more reliably than traditional methods. In practice, it’s proven to build confidence, reduce rambling, and turn everyday experiences into powerful narratives.

Breaking Down the STAR Framework

At its core, STAR stands for Situation, Task, Action, Result. It’s built to answer behavioral questions (starting with “Tell me about a time when…”) in a structured, easy-to-follow way and particularly useful in software engineering interviews where you need to showcase problem-solving, technical decision-making, and impact.

A strong response typically divides like this:

  • Situation (15-20%): Set the scene quickly with relevant technical context. Include the project, tech stack, team dynamics, or constraints. Enough to hook the listener without excess detail. Example: “In my role as a backend engineer at a fintech startup, our production API was experiencing intermittent failures during peak hours, causing increased latency and error rates for thousands of users.”
  • Task (10%): Define your specific responsibility or goal. Keep it concise and focused on your ownership. Example: “As the lead on the API team, my task was to diagnose the root cause and implement a fix within 48 hours to prevent SLA violations.”
  • Action (50-60%): The heart of your story! Detail the technical steps you took. Use “I” statements to highlight your contributions, decisions, debugging process, code changes, tools used, and trade-offs. This is where you demonstrate engineering skills like debugging, optimization, refactoring, or architectural choices. Avoid “we” to keep the focus on your impact. Example: “I first reproduced the issue in a staging environment using distributed tracing tools like Jaeger and analyzed logs in ELK stack to identify a race condition in our caching layer. I then profiled the service with flame graphs, pinpointed the bottleneck in a third-party library integration, and refactored the code to use asynchronous processing with Redis queues. I also wrote unit and integration tests, ran load tests with Locust to validate the fix under simulated traffic, and coordinated a hotfix deployment via CI/CD pipeline with zero-downtime rolling updates.”
  • Result (10-25%): Close with the outcome. Quantify achievements with metrics (e.g., latency reduction, error rate drop, performance gains) and note learnings or broader impact. Example: “The fix reduced average latency by 65% and dropped 5xx errors from 12% to under 0.1%, restoring user trust and preventing potential revenue loss. The team adopted the new tracing practices, and I documented the incident for our post-mortem playbook, which has helped us resolve similar issues 40% faster since.”

Aim for 1-2 minutes total. This keeps answers focused yet complete, turning potential ramble into a polished, technically impressive story that resonates with engineering managers and tech leads.

The Science and Psychology Behind STAR

Though not tied to one landmark study, STAR draws from established principles in behavioral and cognitive psychology:

  • Behavioral Consistency: Past behavior predicts future performance. This is a cornerstone of industrial-organizational psychology. STAR pulls real examples, avoiding hypotheticals.
  • Cognitive Load Reduction: Neuroscience shows brains process info in “chunks.” STAR’s four steps align with this, easing recall under pressure and helping interviewers follow along.
  • Narrative Psychology: Well-structured stories release dopamine and oxytocin, boosting engagement and empathy. STAR turns answers into mini-narratives with clear arcs.
  • Bias Mitigation and Objective Data: The format gathers concrete evidence on skills, reducing reliance on impressions or biases like the halo effect. It also reveals self-awareness through reflection.

These foundations make STAR effective for candidates and interviewers alike.

Modern Extensions and Variations

STAR remains flexible. Add a “T” for Takeaways to create START, explicitly linking lessons to the target role for relevance. Hiring Managers want to know that you are a constant learner. You thoughtfully reflect and improve from the previous experience.

CARL (Context, Action, Result, Learned) adds deeper reflection, suiting growth-focused positions.

STAR Practice Exercises: Put It Into Action

Mastery comes from practice. Here’s a proven routine from training sessions:

  1. Build Your Story Bank – List 6-10 real examples from work, projects, volunteering, or school. Categorize by theme (leadership, teamwork, problem-solving). Bullet out Situation, Task, Action, Result for each.
  2. Practice Out Loud – Record answers on your phone (60-90 seconds). Review: Strong “I” focus? Action dominant? Quantified results? Edit and retry.
  3. Mock Interviews – Practice with a friend, mentor, or platforms like Pramp. Get feedback on clarity and engagement.
  4. Adapt Stories – Reuse one example for multiple questions (e.g., same project for leadership, adaptability, conflict).

Try these 8 common questions. Outline STAR responses on paper, then speak them aloud:

  1. Tell me about a time you worked as part of a team to successfully complete a project.
  2. Describe a time when you faced a difficult problem at work. How did you solve it?
  3. Give an example of a time you had to handle conflict with a colleague or team member.
  4. Tell me about a time you worked under significant pressure or a tight deadline.
  5. Describe a situation where you demonstrated leadership skills.
  6. Tell me about a time you made a mistake. How did you handle it and what did you learn?
  7. Give an example of when you had to adapt to a major change at work.
  8. Describe a time you set a challenging goal and achieved it.

Bonus: End each with a Takeaway tying it to your next role.

Start with comfortable stories, then tackle tougher ones like failures.

Quick Alternatives to STAR and a Head-to-Head Comparison

STAR is versatile, but alternatives add variety:

  • CAR (Context, Action, Result): Merges Situation/Task for brevity. This is great for quick interviews.
  • PAR (Problem, Action, Result): Leads with the issue. This is ideal for problem-solving roles.
  • SOAR (Situation, Obstacle, Action, Result): Spotlights challenges. This is perfect for resilience-focused jobs.

Comparison table:

FrameworkKey StrengthsBest ForDrawbacks
STARBalanced, emphasizes role/actions, beginner-friendly.General behavioral questions; building confidence.Can feel formulaic if over-practiced.
CARStreamlined (3 steps), fast-paced.Time-limited interviews; concise styles.Less focus on specific task.
PARProblem-first, dynamic.Management/analytical roles.May skip helpful context.
SOARHighlights obstacles, shows adaptability.High-pressure/sales/startup positions.Slightly longer answers.
CARLAdds reflection depth.Leadership/growth-oriented jobs.Requires strong self-awareness.

STAR stands out as the most reliable starting point. It is simple, comprehensive, and time-tested. Blend in alternatives to stay fresh.

Ready to transform your interviews? Practice these exercises and share your progress or favorite stories. Let’s connect!

Insights drawn from behavioral interviewing best practices and career development resources.

References

  1. The STAR method: How to make your interview stories shine – LinkedIn (Carly Agar).
  2. 10 Storytelling Interview Questions With Sample Answers – Indeed.com.
  3. STAR Method: How to Use This Technique to Ace Your Next Job Interview – TheMuse.com.
  4. The Power of Storytelling: Using the STAR Method in Interviews – PatchStaffing.com.
  5. How to practice the STAR method for situational interview questions? – Reddit.com.
  6. How to Answer Behavioral Interview Questions Using The STAR Method – Career.PennWest.edu.
  7. Strengthen Your Interview Skills: How to Craft a Compelling Story of Impact – TeachForAmerica.org.
  8. STAR Method is not best for answering behavioral interview questions. – LinkedIn (Madeline Mann).
  9. STAR Interview Questions: What They Are + How to Answer Them – Coursera.org.
  10. Use the STAR Interview Method to Land Your Next Job – YouTube.
  11. 5 Quotes That Teach You Everything You Need To Know About Leadership Storytelling – Forbes.com.
  12. 23 Inspirational Storytelling Quotes – StoryLab.co.
  13. Core 4 Stories for Behavioral Based Job Interviews – RealisticRecruiting.Beehiiv.com.
  14. 43 Beautiful Quotes about Storytelling – LinkedIn (Chris Walker).
  15. Crush Your Interviews with the Power of Storytelling – ScarletInk.com.
  16. The Power of Storytelling in Job Interviews: Stand Out from the Crowd – YouTube.
  17. “Why good storytelling helps you stand out in a job interview” – AmpdCareers.com.
  18. Let’s pragmatically get better at behavioral interviews (and storytelling)! – TanayAgrawal.Substack.com.
  19. “Stories & Examples During Interviews” – Reddit.com.
  20. How to establish credibility through storytelling in a job interview – Quora.com.
  21. The Problem with the STAR Method – Where It Came From and Why It Fails Today – LinkedIn.
  22. STAR Method for Interviewing and Feedback – DDI.com.
  23. Situation, task, action, result – Wikipedia.org.
  24. “Alternative to star method for job applications” – Facebook.com.
  25. When did the STAR interview format start becoming a standard for bullshit jobs? – Reddit.com (r/antiwork).
  26. About DDI History | Leadership Assessment & Development – DDI.com.
  27. STAR+E: An Undergraduate Teaching Strategy to Make the STAR Model Stick – Community.NACEweb.org.
  28. Mastering Behavioral Interviewing with STAR Story Bank: A Guide – CourseHero.com.
  29. Development Dimensions International History: Founding, Timeline, and Milestones – Zippia.com.
  30. Assessment Center Structure and Construct Validity: A New Hope – SciSpace.com.
Applicant Tracking Systems: What Job Seekers Actually Need to Know in 2026

Applicant Tracking Systems: What Job Seekers Actually Need to Know in 2026

Separating fact from fear — how ATS really works, who uses it, what it costs, and how to make it work for you.

10 min read

If you’ve applied for jobs online recently, you’ve almost certainly encountered an applicant tracking system (ATS) — whether you knew it or not. ATS platforms have become the backbone of modern recruiting, yet widespread misconceptions about how they work have spawned an entire cottage industry of “ATS-beating” advice. Here’s what’s really going on.

What Is an Applicant Tracking System (ATS), and What’s the “Score”?

An Applicant Tracking System is software that companies use to manage job applications end-to-end: posting openings, collecting resumes, screening candidates, and tracking them through the hiring pipeline. Vendors like Workday, Taleo, Greenhouse, and Lever each offer different levels of sophistication.

Some of these platforms assign a “fit score” or “match score” — a ranking based on how closely your resume aligns with the job description. This is typically calculated using keyword matching (skills, titles, experience terms), formatting compatibility, and sometimes more advanced contextual analysis. But here’s the important part: this score is a starting point for recruiters, not a verdict.

ATS scoring is designed to help recruiters prioritize applications — not to make final hiring decisions. Humans are still doing the actual screening in the vast majority of cases.

Does Every Company Use an Applicant Tracking System?

No. ATS adoption is extremely common among larger organizations but far from universal. Usage varies dramatically by company size and industry.

~97% Fortune 500 companies using ATS

75–80% Employers overall with some ATS

20–35% Small/mid-sized businesses with ATS

~44% ATS users with AI-based scoring

Smaller companies and startups frequently rely on email, spreadsheets, Google Forms, or simply reviewing applications manually. Many don’t have dedicated HR teams, and if they’re only hiring one or two people a year, the overhead of even a cheap ATS can feel unnecessary.

Can Every Company Afford One?

The barrier to entry has dropped significantly. Cloud-based SaaS models, freemium tiers, and pay-as-you-go pricing mean that even bootstrapped startups can technically access basic ATS features. Plans start as low as $15–19/month for tools like JuggleHire or Manatal, with free tiers available from Zoho Recruit and Breezy HR. Mid-sized companies typically spend $100–500/month, while large enterprises invest $15,000–100,000+ annually on comprehensive platforms.

So affordability isn’t the main barrier anymore — desire is. Many small businesses simply don’t see the value when their hiring volume is low and manual processes work fine. Adoption among SMBs is growing as prices fall, but it’s still far from universal.


The AI/ML Myth: Is a Robot Rejecting Your Resume?

This is where the biggest disconnect lives. Many job seekers (and plenty of career coaches selling resume services) treat ATS as an all-powerful AI gatekeeper — imagining algorithms silently auto-rejecting resumes before a human ever sees them. The reality is considerably less dramatic.

Yes, about 79–83% of ATS platforms now incorporate some automation features like context parsing or fit prediction. But in practice, AI ranks and flags candidates as a starting point. According to recruiter surveys, humans handle the actual screening and rejection decisions in 92–100% of cases. Only around 8% of companies use true auto-rejection based on scores, and even then it’s typically for basic disqualifiers like missing required certifications — not nuanced judgment calls.

Why the myth persists

Resume-writing services profit from selling “ATS-beating” tips. Viral social media horror stories amplify fear. And confusion about how ATS parsing actually works — combined with the frustrating reality that most applications simply go unanswered — makes it easy to blame an invisible algorithm. The truth is that recruiters are overwhelmed with volume, not that robots are conspiring against you.

The Real Bottleneck: Volume and Timing

Here’s a more accurate picture of what happens to your application. The average job posting receives 100–250 applications. Recruiters typically review only the top 10–20% in any detail, interview a handful (often 3–7 candidates), and move on. The remaining 80–90% aren’t necessarily “rejected by AI” — they’re deprioritized because interview slots filled before anyone got to them.

Timing matters more than most people realize. Applying within the first few days of a posting significantly increases your visibility, as some systems flag fresh applications and recruiters for urgent roles may close their search quickly. That said, ATS doesn’t always sort chronologically — a strong late applicant with an excellent keyword match can still surface near the top of a relevance-ranked list.


8 Practical Pointers for Applicant Tracking System (ATS) Optimization

Whether you’re a junior developer or a senior engineer, these fundamentals will help your resume surface in any ATS without resorting to gimmicks.

  1. Tailor keywords from the job description. Extract exact terms — specific technologies, frameworks, methodologies, and titles — and weave them naturally into your summary, skills section, and experience bullets. Match the language the employer uses.
  2. Use a clean, simple format. Stick to a single-column, reverse-chronological layout with standard section headings: Professional Summary, Skills, Work Experience, Education, Projects. Avoid tables, multi-column layouts, graphics, icons, and images that break ATS parsing.
  3. Choose ATS-friendly fonts and file types. Use standard fonts (Arial, Calibri, Times New Roman) at 10–12pt. Submit as .docx unless the posting specifies PDF. Name your file clearly: FirstLast_Role_Resume.docx.
  4. Build a dedicated skills section near the top. List relevant hard skills (languages, tools, platforms) and soft skills in a scannable format. Include acronyms and full forms where relevant (e.g., “CI/CD” and “Continuous Integration/Continuous Deployment”).
  5. Embed keywords in context, not just lists. ATS often scores higher when keywords appear within full sentences and achievement descriptions, not only in a standalone skills block. Repeat important terms across sections naturally.
  6. Lead with quantifiable achievements. Use action verbs and metrics: “Developed scalable backend services in Node.js, reducing API latency by 40%” beats “Responsible for backend development.” This helps both ATS matching and human reviewers.
  7. Keep it concise and standardized. One page for most roles, two pages maximum for senior positions. Use standard headings, avoid headers/footers containing critical information, and skip unusual symbols or creative formatting.
  8. Test your resume before submitting. Upload to free ATS scanners like Jobscan, Resume Worded, or Rezi. Fix parsing issues (missing text, jumbled sections) and aim for a strong match score against the specific job description.

For Senior and Leadership Roles: Adjusting the Skills Balance

If you’re targeting Staff Engineer, Director of Engineering, VP of Technology, or similar positions, the same ATS fundamentals apply — but the content of your skills section needs to shift significantly.

The Hard/Soft Skill Balance at Senior Levels

At leadership levels, aim for roughly 8–12 high-impact skills split approximately 40–60% technical and 40–60% leadership. Hard skills prove you still have technical credibility and can guide architecture decisions. Soft/leadership skills demonstrate you can lead organizations, drive strategy, and influence cross-functionally — which is where senior-level impact is actually measured.

Technical / Hard Skills

  • System Design & Architecture
  • Cloud Platforms (AWS/GCP/Azure)
  • Microservices & Distributed Systems
  • DevOps & CI/CD Pipelines
  • Scalability & Performance
  • Technical Roadmapping

Leadership / Soft Skills

  • Engineering Team Leadership
  • People Management & Mentoring
  • Strategic Vision & Execution
  • Cross-Functional Collaboration
  • Stakeholder Engagement
  • Budget & Resource Management

Key: Don’t just list leadership skills — demonstrate them in your experience bullets with measurable outcomes. “Led 50+ engineer organization to deliver 3x faster release cycles through process redesign” reinforces both the keyword match and the human impact.

The Bottom Line

ATS is a volume-management tool, not an infallible judge. It helps overwhelmed recruiters sort through hundreds of applications, but humans still make the real decisions. Tailor your resume per application, use clean formatting, front-load relevant keywords, and apply early when possible. And remember: networking and referrals often bypass ATS entirely — landing you straight in the pile that actually gets read. Don’t buy into the AI conspiracy. Focus on strong content, smart targeting, and making real connections. Related: Imposter Syndrome? Here’s How to Thrive Anyway.

Imposter Syndrome? Here’s How to Thrive Anyway

Imposter syndrome is all about those feelings of self-doubt and inadequacy that can creep in, especially when you’re joining a new company or team. But here’s the thing: those feelings are honest but seldom reflect reality. Let’s walk through some action items that can help you understand and manage these feelings. Here are some examples to help overcome imposter syndrome.

You are good enough!

Don’t let anyone, including yourself, tell you otherwise. Others may have more domain knowledge, but it’s nothing you can’t learn with time, dedication, and discipline. Remember, everyone started where you are now; they just have more experience under their belts.

Trust is earned.

Be dependable. If you say you’ll do something, make sure you follow through. Consistency in your actions builds trust and demonstrates your reliability to your team.

Jealousy or feelings of intimidation towards you are normal.

As the new person, all eyes are on you. Everyone wants to advance, and opportunities can be limited. Be kind and courteous, but don’t hold back. You have every right to be there, and your fresh perspective can be a valuable asset to the team.

Remember, they hired you because they believe you can do the job.

Your skills, experience, and potential were recognized. Trust their judgment and allow yourself to grow into the role.

To overcome self-doubt, counter your thoughts with action.

If your brain says, “I can’t do X,” go and do X. Recognize that thought as a trigger for action. Keep doing it until it’s done. Negative thoughts will always exist; teach yourself to take them less seriously. Each action taken against your doubts weakens their hold on you.

You don’t have to be perfect.

Aim for good enough and get it done. Perfectionism can be paralyzing, preventing you from finishing tasks. It’s better to complete something imperfectly than to never complete it at all.

Learn from others.

If your smart colleagues want to teach you, swallow your pride. Accept free lessons and their time graciously. Their insights can accelerate your learning curve and help you integrate more quickly into the team.

You don’t rise to the level of your goals but fall to the level of your systems.

Create a routine or system for constant improvement, which helps manage your feelings and keeps you on track. Systems help you maintain progress and make incremental improvements without being overwhelmed by the bigger picture.

It’s perfectly normal to ask for help.

On Stack Overflow, they always ask, “What have you tried?” before offering advice. This approach ensures you get the correct guidance. Asking for help when needed shows you are engaged and willing to learn, which is a strength, not a weakness.

Find a mentor and/or mentor others.

Find a colleague you trust to share your work frustrations with. This person will understand your context and provide grounding and closure. Additionally, mentoring others can reinforce your own knowledge and boost your confidence.

    Thank you for reading. I have covered this topic in a previous article IMPOSTERING A SUCCESSFUL SOFTWARE ENGINEERING CAREER.

    If you found this helpful, please repost to help other software engineers struggling with imposter syndrome. Sharing our experiences and tips can create a supportive community where everyone feels valued and capable.

    Impostering a successful software engineering career

    I don’t know you but what I know for a fact is you are good enough! Remember that!

    I was walking down a hallway at my university back in 2000, between classes when I ran into a classmate going the opposite direction. Mustering courage, I asked him how he was finding the course so far. He immediately replied it had been great, especially the lesson on “multidimensional arrays” that day. He then proceeded to explain the concept in detail.

    As I walked away, I thought, “What am I doing here? I don’t belong. That guy is way smarter than me. I was in the same class but can’t recall or explain it like that.” It wasn’t my exact thought process, but something similar clouded my mind.

    This type of self-doubting thinking followed me for years – the constant questioning of abilities, the inner voices whispering you’re not good enough, that everyone else is better and smarter. Does this sound familiar? Read on to find out how the story unfolded.

    Dr. Pauline Rose Clance is a pioneer in researching and shedding light on the imposter phenomenon. Along with Dr. Suzanne Imes, she co-authored the 1978 study that coined the term “imposter phenomenon” to describe the internal experience of feeling like an intellectual fraud.

    Feeling Like an Imposter Will Follow You for a While

    I’m not an expert, but I can speak from experience. Feeling like an imposter is likely to follow you for quite a while. Where these thoughts originate, I cannot say for certain. For me, it may have been from childhood, or I was simply born with a tendency towards it. As a child, it hits your confidence and often results in playing it safe, avoiding risks of being wrong.

    It can prevent one from being a critical thinker and challenging decisions, because you believe those in higher positions or with more experience must be better than you.

    I was hired as a junior software engineer in 2003, but my initial tenure was nothing extraordinary. My boss was a brilliant former chemical engineer who had transitioned into software. Working with him was personally intimidating, though he had done nothing to cause this.

    As he would explain work, my focus would shift to perceived inadequacies instead of the task at hand, asking questions. My mind would wander, convincing myself I’m not good enough and will never understand this. I lost valuable time early in my career by not focusing on improving or questioning what I wanted. I just accepted the status quo, feeling that I’m not good enough.

    Towards the end of my time at that company, I was given the opportunity to lead and manage a project. Being a small company, I believe it was because there was no one else, so I was the obvious choice – though my imposter feelings may have led me to undervalue the decision. I did well on the project and received good feedback from the client.

    During my performance review, one of our directors praised me for delivering the project on time. He was pleasantly surprised, if I recall, which surprised me! What was not welcome, however, was him telling me, “You are not good with the programming.”

    That really stuck with me for a while. It hurt because I had been a programmer for 5 years and 6 months – or was supposed to be.

    My Thoughts Became a Self-Fulfilling Prophecy

    What I feared I was, I eventually became. 

    I had to come to terms with that feedback, and it was spot on – I was not good at programming. Yet something changed in me that day. I wanted to prove them wrong. That’s when I decided to leave and pursue a job at a large enterprise to truly learn my craft.

    I landed a job in retail IT working on critical services running on 15,000 front tills! There was no turning back for someone not great at programming; I decided to take on the challenge. At that point, feelings of inadequacy didn’t matter – it was sink or swim. I swam. It was mind over matter, time to ignore the imposter. I prevailed.

    The code I wrote was probably not the best, but it worked and ran fine. That was an important boost of self-belief I gained.

    Actions Speak Louder Than Thoughts

    It was an important event. I was in a situation where my actions overshadowed my thoughts, not the other way around which had been the case for years. Think about it – your actions are stronger than your thoughts when you realize that, you should not listen to them.

    Circling back, your thoughts aren’t going to disappear anytime soon. They can remain with you for the rest of your life. But you can learn what to listen to and often ignore them. This is very important.

    You cannot prevent the bird from sitting on your shoulder, but you can prevent it from making a nest.

    You cannot prevent the thoughts, but you can prevent them from manifesting in your life. You need to have a strategy to counter these thoughts.

    The Strategy

    When your thoughts make you feel bad or sad, you know those aren’t constructive. That is not the real you. That is the imposter – they’re negative and destructive. That’s the trigger, and at that point, you need to affirm this is not you, it’s the imposter in you.

    • Affirm to yourself that these are not your true thoughts, but the imposter in you speaking. For example, if you want to engineer and code a complex system end-to-end, but your thoughts are stopping you:
    • Understand that consistent action and results will build your confidence over time
      • The negative self-talk won’t disappear, but will become less effective
      • Accumulate positive experiences to negate and overcome negative thoughts
    • Remember – you may not be as good as others yet, but you aren’t them
      • Focus on improving by doing and completing tasks
      • Getting it done is good enough – it doesn’t have to be perfect
    • Create your own superpower by being disciplined and taking action, despite your thoughts. Make a conscious decision to do the opposite of what your inner voice is saying. Take action and start building the system, no matter what. Don’t delay – carve out the time and just do it
    • Force yourself to speak up in meeting. Practice having an opinion.

    24 Years Later After That Hallway Conversation

    Today, over two decades into software engineering, that person I ran into in the hallway changed job directions last I checked, not to be disrespectful. At that time, I thought he was the best and would be much better than I could ever be. Turns out my mind played tricks on me back then.

    I wrote science fiction, which we often do as humans.

    Today, my thoughts are still there, but when they pop up, I reinforce that I will completely crush the next task or project. Those are my thoughts now. I am a success at impostering. I will win, and today, I usually do.

    Conclusion

    The battle against imposter feelings and negative self-talk is one that may never fully go away. However, it is a battle that can be won through conscious effort and disciplined action. The key is to recognize those pessimistic thoughts for what they are – imposters that do not define your true abilities.

    When the voices of doubt arise, implement the strategy: affirm your worth, take action in defiance of those negative thoughts, and pile up accomplishments. Each small victory will strengthen your self-belief. The negative thoughts will still emerge, but you’ll grow more resilient in overpowering them through persistent effort.

    Ultimately, success is not defined by an absence of doubt, but by refusing to surrender to it. Approach each challenge as an opportunity to silence the imposter within. With relentless perseverance and a focus on continual growth, you can imposter your way to a truly successful engineering career that defies even your own initial expectations of yourself.

    The path will not be easy, but the pride of proven competence and earned confidence is well worth the struggle. You belong here – now go and claim the career you’ve glimpsed as possible when you’ve quietly admired others. The imposter’s reign ends today.

    Unlocking Your Superpower: The Power of Discipline in Software Engineering

    It is very hard to focus in the present day. Everyone and every other thing tries to compete for our constant attention. Think about your mobile phone. The notifications are convenient, yet endless if you allow it. How many apps do you have on your phone?

    My mobile is a big distraction but also very productive for work and admin. But I cannot blame the mobile, nor can I because I allow it to be.

    I grew up in a town where we had good weather, mountains, and loads of open space and sports fields. I was outside for most of my day. This was perfect for my ADHD. I had loads of energy, and that is why it was hard for me to focus on reading, etc. Television is also perfect for ADHD. I did not read a lot, to my disappointment now that I’m older. I got good at sports but not at academics.

    Besides being hyperactive, I lacked discipline. If it was because of my hyper energy or if I was not taught properly how to calm my mind and focus on my reading, I cannot say. Definitely no one’s fault. I was good at sports, and my parents supported it and gave me every opportunity to get at what I was naturally inclined to.

    It took me a long time to become disciplined. It has changed everything! It started only 2 years ago. I’m turning 43.

    THE D-WORD

    Discipline in its purest form is very hard to achieve. Doing the same thing consistently over a long period is hard to do, especially if there are no clear path or even reward for those actions. We are all human, and I’m sure you are well aware of what you’re not doing consistently enough.

    One could argue that I was disciplined in practicing and playing sports. And I was, but for the most part, there was always some reward built into it. We played matches, and winning was the reward. You improve your game and get to play on more advanced teams. You hit the ball better, you kick the ball further. There is consistent feedback built into the process. It is easy to misjudge this as discipline, where there are brain chemicals from feedback and activation of the reward system built-in.

    Let’s take this a step further. At work, we have built-in motivations. You and I have a boss who has requirements and demands. You have colleagues and team members who are dependent on you, and most importantly, you receive a salary at the end of two weeks or the month. Most of us are team players and want to keep do our duties and not disappoint our colleagues, and we want to make sure we receive our money because we have bills to pay and stuff to buy or save for.

    The motivation and rewards are built-in again. Though there are discipline involved it is not pure.

    LET’S TEST YOUR DISCIPLINE

    It won’t be a fair question to ask if you would have done the same at work without the money. What would be the point? For no money, I probably would have coached a sports team.

    So let’s focus on the following example. You have a full-time job, and you are looking for your next career opportunity. Let’s say you have been a front-end engineer for most of your career, but you find yourself ready to tackle the back-end of software development, especially with data engineering becoming so popular due to the demand in machine learning and generative AI.

    You find yourself at a job that has a legacy product, and it results in engineers being siloed, making it difficult to upskill in all disciplines and touch on all aspects of the system. Thus, your work cannot provide you with the opportunity to upskill. So now it is up to you. Assuming you have a stable job and people are generally nice, there is nothing pressing you besides your aspirations.

    AT LEAST A 100 HOURS

    So this becomes interesting. How would you approach this upskilling? Well, you have a computer, you have the internet, and more recently, you have ChatGPT or the impressive Claude 3. You have all the tools you need to accomplish the job.

    Next is you! Yes, you are the only stumbling block in the way. I mean it respectfully but truthfully. For your next level, it is required to spend a considerable amount of time learning. That is what is required. I would say between 100-300 hours, depending on what you focus on.

    Now, I’m sure you are asking why 100+ hours. A few years ago, I signed up for the distinguished CFA 1 exams, which are difficult exams financial portfolio management by design. After spending a lot of money to sign up and buy the materials, they recommend studying between 200-300 hours for this exam, 3 hours a day for six months. If you pass it, then you will have the fundamentals for the next 2 exams, but it also serves as training toward this role. I had to do it and they were spot on. It it about immersing yourself and spending the time. Learning this subject requires focus and discipline. Afterwards, I decide that a 100 hours for something is a good amount to get good at it.

    Writing code takes a couple of hours a day. It takes about 20 minutes to get into the zone, as we would say, and then once you are immersed, the next 2-3 hours is where the learning happens. Imagine you had 2-3 hours on top of your day job, as well as the energy, then over the course of 100 days, you would definitely move toward becoming a data engineer. You won’t write or produce the best code, pipelines, or systems initially, but over time, you will improve. You have to spend more to gain more.

    In an upcoming post, I will discuss where to find time. For the moment, we assume you have enough. Would you be able to spend 100 hours working on data engineering?

    DO OR GO WATCH TV

    What makes it difficult is that there is no pressure besides the goal you have set. You spend your time in the evening after a long day’s work. You have to work on problems or build systems that you won’t get compensated for or that do not meet any deadline. This system won’t serve anyone besides you! When it gets difficult, the brain can easily persuade you to go watch Netflix or play a game, which requires less cognitive power, more dopamine than what you have to spend to create neuroplasticity, in other words, to learn.

    Learning is hard, and it requires discipline when doing it alone. No one can motivate you. It requires your own willpower and believe that when you have gone through this, you will reach your goal. Sometimes there is also delay in the reward. But I promise it eventually turn up and blows you away!

    I STRUGGLE WITH DISCIPLINE AND HOW TO SOLVE IT

    You are not alone. Many do, and that is probably why not all of us are wealthy or financially independent or maybe just happy and doing what we love. If you want this, then there are ways you can achieve this and grow the discipline.

    It is easy to have a good idea. These are plentiful, and I’m sure like me, you have a list somewhere on your PC with all the ideas. Then sometimes, we go as far as thinking about the success and if you achieve it, how life may change and all the nice stuff that comes with it. Now that we have thought about it, our brain got that hit of dopamine, but almost imagining the success before the hard work. At that point, the motivation diminishes, and often the fantasy becomes the false reality.

    By this time, you see the gap, right? Between the start and achieving your goal, there lies a large gap! That gap is the process, the plan. More importantly, it is the focus points to prevent you from celebrating too fast and keep you focused on the current step in the present and not look too far into the future and get demotivated.

    IT’S NOT A PLAN, IT IS A PROCESS

    What is your strategy for achieving your goals? Specifically, how do you plan to progress daily? Focus on the variables within your grasp: the learning, the design, and the construction. The future is beyond your control, but your daily efforts are not. Undoubtedly, dedication increases the likelihood of opportunities arising, a fact substantiated by numerous real-world examples.

    A process cements discipline. If you do something small daily towards your goal over a long period of time, it removes the thought process.

    You cannot predict what will happen, but your actions shift the earth into action.

    Marie Curie’s disciplined approach to her scientific research was characterized by an unwavering dedication, meticulous methodology, and the relentless pursuit of knowledge, even in the face of numerous obstacles. She received 2 Nobel Prizes for physics and chemistry. I doubt the Nobel Prize was her focus, but rather to help humanity. The Nobel Prize was the by-product.

    THE PROCESS TO IMPROVE DISCIPLINE

    I used to be someone who did not like routine. Now I depend on it. With that came discipline. It goes hand in hand. It becomes a process, and that process executed consistently will eventually bring you success.

    Here are some guidelines on how to improve your discipline:

    • Set your goal(s). Be very specific. Don’t be realistic. Goals are dreams. It is the unknown.
    • Break it down into smaller steps. This is where you want to create daily tasks to make the process more manageable.
    • Create a routine. Now that you have established the tasks, you have to achieve those tasks daily. This is where you need to determine how much work you need to put in. You have some decisions to make. This is where it gets interesting. You can work after dinner in the evening, after you blow off some steam after a long day of work, or you can wake up early in the morning when it is quiet, and you have been rested. It is often better, and you feel like you have accomplished something first thing in the morning, and it also sets up your working day for success.
    • Set up your environment. Make sure your home space is comfortable and quiet. Invest in some good headsets. Learn how to listen to frequency music. Tons of these videos are available on YouTube. It is sounds without words and on a frequency that is conducive to learning and focus. Alternatively, you may like not to be at home and sit at a coffee shop or quiet space away from home. It also depends on the time of day. I particularly enjoy sitting at a particular Starbucks sipping coffee with my headset on. It is an extremely productive time for me. It is now up to you on how long you can sustain this. You will get challenged where the brain convinces you to do the easy thing like watching Netflix or endlessly scrolling on your phone. 21 days changes a habit, and 63 days create a new habit and routine. After 63 days, you would also have surpassed 100 hours. Learning and upskilling will become easier then.

    CONCLUSION

    Discipline is one word that holds so much power but is very elusive to us. Consistent execution over a long period of time – discipline will eventually move you towards your goal. The challenge is always getting to that point. It is so much easier said than done. You have to break old habits for new ones and operate with hope and goals with no motivation other than what you tell yourself.

    It’s hard, but once you reach that goal, you will never look back, and your confidence in the world and especially yourself will astronomically be enhanced.

    Try it, I dare you!

    Simple prediction model in Python

    Demystifying machine learning through hands-on collaboration with chatGPT: A journey from uncertainty to mastery, exploring RandomForest and LogisticRegression for practical football predictions.

    I’ve been dabbling around in machine learning for a while by doing boot camps, and reading articles but truth be told, it never really sunk in how one can create a practical model you understand without just copy-paste and clicking the run button.

    I did not do this by myself if I have to be completely honest. I have to thank my coding buddy chatGPT for patiently listening and working with me until I was able to successfully create the prediction model.

    To be able to argue with chatGPT until you get to the right place and have the correct implementation is incredible and one achieves a higher learning experience because you and chatGPT have to figure it out together. chatGPT was not able to give me the answer straight away. It took some time and collaboration to come to the correct code.

    The Model

    I’ve been dabbling around in data science for a while by doing boot camps and reading articles. Truth be told, it never really sunk in how one can create a practical model you understand without just copy-paste and clicking the run button.

    I did not do this by myself if I have to be completely honest. I have to thank my coding buddy chatGPT for patiently listening and working with me until I was able to successfully create the prediction model.

    Out of curiosity, I’m employing two models to contrast outcomes for increased insight and thoroughness.

    Some important components

    LogisticRegression is a statistical method used for binary classification, a type of predictive analysis. It’s particularly well-suited for scenarios where the outcome is dichotomous, meaning there are only two possible classes.

    RandomForestClassifier is an ensemble of decision trees, typically using bagging. It creates multiple decision trees and merges them together to get a more accurate and stable prediction.

    Bagging, or Bootstrap Aggregating, is an ensemble learning technique used to improve the stability and accuracy of machine learning models by training multiple models on different bootstrap samples (subsets with replacement) of the dataset and then aggregating their predictions, typically through averaging or majority voting. This approach is particularly effective with high-variance models like decision trees, reducing overfitting and leading to more robust and reliable predictions.

    I decided to use both these regressions for this example to investigate how it works and what the differences in accuracy and results are. Let’s dive in, shall we?

    The Code

    The packages we require for this are scikit-learn and Pandas

    pip install scikit-learn, pandas

    Alternatively, add these into a requirements.txt row separated and run the following command

    pip install -r requirements.txt

    I will load the fifa_football_results.csv, which includes 45,000 current football results, into a pandas DataFrame.

    df = pd.read_csv("fifa_football_results.csv")

    Create a target variable representing the match outcome for the home team

    df['home_team_result'] = df.apply(lambda row: 'win' if row['home_score'] > row['away_score'] else ('lose' if row['home_score'] < row['away_score'] else 'draw'), axis=1)

    This is the part where we find the input and output columns and encode them for the models to process. LabelEncoder is a straightforward tool for converting categorical text data into numerical form, making it suitable for use in various machine learning models, especially for encoding target variables.

    label_encoder = LabelEncoder()
    df['home_team_result_encoded'] = label_encoder.fit_transform(df['home_team_result'])
    

    Next, we select the feature columns. We are using home_team and away_team for input and the home_team_result_encoded as output to predict which home_team is most likely to win.

    X = df[['home_team', 'away_team']]
    y = df['home_team_result_encoded']

    This code creates an instance of OneHotEncoder to transform categorical data in X into a binary matrix, representing each category with a unique combination of zeros and ones, and then constructing a new DataFrame X_encoded with these transformed features, each named after its corresponding category.

    encoder = OneHotEncoder(sparse=False)
    X_encoded = pd.DataFrame(encoder.fit_transform(X), columns=encoder.get_feature_names_out(X.columns))
    

    This code splits the dataset into training and testing subsets: X_train and y_train are the features and labels for training, while X_test and y_test are for testing. It allocates 80% of the data for training and 20% for testing, with a fixed random state for reproducibility.

    X_train, X_test, y_train, y_test = train_test_split(X_encoded, y, test_size=0.2, random_state=42)


    This code trains two machine learning models, Logistic Regression and Random Forest Classifier, on a training dataset (X_train, y_train). It then uses these models to predict outcomes on a separate test dataset (X_test).

    The accuracy and detailed performance metrics of each model’s predictions are computed and displayed, using the actual test labels (y_test). This allows for a comparison of the effectiveness of the Logistic Regression and Random Forest models for the given data.

    classifier_log = LogisticRegression(max_iter=100)
    classifier_log.fit(X_train, y_train)
    
    classifier_rfc = RandomForestClassifier(n_estimators=50, max_depth=100, n_jobs=-1)
    classifier_rfc.fit(X_train, y_train)
    
    y_pred_log = classifier_log.predict(X_test)
    print("Accuracy:", accuracy_score(y_test, y_pred_log))
    print("LogR Classification Report:\n", classification_report(y_test, y_pred_log))
    
    
    y_pred_rfc = classifier_rfc.predict(X_test)
    print("Accuracy:", accuracy_score(y_test, y_pred_rfc))
    print("RFC Classification Report:\n", classification_report(y_test, y_pred_rfc))
    
    
    

    These two methods, predict_match_log and predict_match_rfc, are designed to predict the outcome of a match between two teams using Logistic Regression and Random Forest Classifier models, respectively.

    Both methods take the names of the home and away teams as input, encode these names using a predefined encoder, and then use their respective trained models (classifier_log for Logistic Regression, classifier_rfc for Random Forest) to predict the match outcome. The predicted results, initially in encoded form, are then transformed back to their original label form using label_encoder, and the final predicted outcome is returned.

    
    def predict_match_log(home_team, away_team):
        new_input = pd.DataFrame({'home_team': [home_team], 'away_team': [away_team]})
        new_input_encoded = pd.DataFrame(encoder.transform(new_input), columns=encoder.get_feature_names_out(X.columns))
        
        predicted_result_encoded = classifier_log.predict(new_input_encoded)
        predicted_result = label_encoder.inverse_transform(predicted_result_encoded)
        return predicted_result[0]
    
    
    def predict_match_rfc(home_team, away_team):
        new_input = pd.DataFrame({'home_team': [home_team], 'away_team': [away_team]})
        new_input_encoded = pd.DataFrame(encoder.transform(new_input), columns=encoder.get_feature_names_out(X.columns))
        
        predicted_result_encoded = classifier_rfc.predict(new_input_encoded)
        predicted_result = label_encoder.inverse_transform(predicted_result_encoded)
        return predicted_result[0]

    We are going to use as input two teams, a home team, and an away team. It does not matter if this is a natural ground for the sake of the exercise the team being entered first is the home team and also the result of the prediction.

    home_team_input = input('Enter your home team: ')
    away_team_input = input('Enter your away team: ')
    
    predicted_outcome_log = predict_match_log(home_team_input, away_team_input)
    predicted_outcome_rfc = predict_match_rfc(home_team_input, away_team_input)
    
    print("Predicted Result for the home team:", predicted_outcome_log)
    print("Predicted Result for the home team:", predicted_outcome_rfc)

    The Result

    The whole point of the exercise besides predicting a winner was to understand which model would work best for this data using standard configuration. I don’t have the skill or the computing power to optimize these models.

    LogisticRegression has a higher accuracy in predicting the winner with 57% compared to the 52% for RandomForestClassifier. The latter would be better for more complex predictions, and that is why the former has a higher accuracy—it is better to work with less complex datasets and predictions.

    I’m going to use the following sets of 2 teams to run the model. I’m expecting the first

    • England vs Norway
    • Argentina vs Brazil
    • South Africa vs Wales

    In the first matchup, I expect England to win. It is also worth noting that these teams have played against each other in the past. The second matchup I expect to be very close and I cannot predict who will be the winner. This should be the more fun exercise. Lastly, I chose two teams who have never played against each other.

    …and the winner is

    England vs Norway

    Winner: England

    Argentina vs Brazil

    Winner: Argentina

    South Africa vs Wales

    Winner: Wales

    Conclusion

    It was a fun first outing and a completely different experience from doing boot camps like kaggle.com and datacamp.com for example. With no knowledge of these models and machine learning functions I had to start from scratch and with some guidance from chatGPT, I was able to get to the correct starting point which always takes the longest.

    With chatGPT solving all our problems, it is still worth understanding the basics of machine learning. That is what I am to do while. Organizations still need to crunch very large datasets for new analytics and insights.

    Please find my code repository on Github

    A top tip for new Software Engineers

    Every time you start a new job there is newfound energy that comes with the new territory. You feel rejuvenated and ready to learn. This is a powerful force and when used correctly can speed up learning in your new environment as a software engineer extremely fast. Typically, you enter a new working environment with less bias about what you prefer to work on. This bias slowly accumulates over time and will eventually result in a preference.

    I can write this article from a couple of different points of view. I am focusing purely on maximizing domain knowledge as a new Software Engineer and learning many different skills. This is not for everyone but I realize that most engineers struggle to understand their domain because of a lack of communication channels and or engagement or maybe just the sheer volume of information that overwhelms engineers.

    Success depends on what you are willing to put in!

    The noise at the office.

    Before the world had to deal with Covid-19, I spent most of my time in an open office environment with loads of noise around. This noise was mainly people discussing work, yes, and the occasional social discussion, well let’s be honest a whole lot more of that. We aren’t part of these work desk discussions thus why would it be relevant to us?

    The accepted solution is to cancel this out by putting on our earphones with some of our favorite music or podcasts to block it out and focus on work. Nothing wrong with that. Software engineers need solid focus time.

    However, whilst it could be perceived as noise I would argue differently in that there are copious amounts of gold nuggets in the audio moving around the office. In previous jobs I had, I would remove my earphones and listen to the office chats and write down some of the terms or jargon I heard for exploring later. If you struggle to work and listen at the same time then take 15 minutes when the chatter is high or specific people are conversing and write down what you hear.

    This presents a good opportunity to approach these colleagues and ask what this means in the context of the business. This learning did not fall on your lap accidentally you were looking for it and probably learned faster than you would have. Active learning! And, bonus! you showed interest and socialized with a colleague.

    Doing this continuously over time will increase your knowledge and the positive by-product is to give you the ability to become part of the conversation if you decide to.

    I’m working from home now!

    “Ok, but with Covid-19 I started working from home. What do I do now?”.

    Chat applications are the new office environment and most business-related chats at the office will move into some chat or personal channel on Teams, Zoom, Slack, or Google Meet.

    There is an obscene amount of chatter in these channels and the noise (information) can be so much more than in an office. These are much easier to ignore no earphones are required. If you are new to the domain all the chatter in the chat application will be the gold nuggets you need. It is tough to follow all the channels and notifications have become the poison to our attention span.

    Schedule 15 minutes during morning, midday, and evening respectively to work through these messages and write down terms or concepts you aren’t familiar with. Approach the person in a personal chat and ASK or ask in the next general meeting in a video call direct. Typically asking a question in a chat on a large channel can result in “bystander effect” where everyone else thinks someone else will answer potentially ending up with no response. This is a real phenomenon. Don’t take it personal

    Remember, you will eventually learn the domain but it is in YOUR control how fast you want to learn. Learning one domain gives you the experience to more easily navigate the next.

    Conclusion

    Fostering this kind of awareness early on in your career will set you up for success. When you are new to a domain you are often given overwhelming knowledge transfers during hours of meetings and/or documentation that don’t provide a good starting point but rather context skipping how to get to the document is explaining.

    Using this strategy allows you to put the pieces of the puzzle together until you have the full context and will greatly assist in adding context to those KTs and documentation.

    Don’t wait for people to tell you what to do or feed you the info. Be proactive. Awareness, observation and just being a good listener promote active learning. This sets you apart and shows initiative which are skills managers want to see!

    How to improve one-on-one conversations as a Dev Manager

    I love having a one-on-one sessions with my manager. This time I associate with productivity and growth not to sound selfish but for 30 minutes it is about me and my career. The feedback is immediate on what I’m doing well, and what I can improve. No use waiting for the year-end review to first learn what I could have done better! The improvement starts immediately.

    But I have learned from my failures and past managers what I prefer not to do to myself and what I should do for others.

    On Linkedin I often see my connections post frequent motivational posts regarding leadership. I know some of these people who post because I worked with them. Therefore, I have some insight into their circumstances and how their superiors acted during their time at the company.

    This is just my personal opinion and I have no data to back this. However, often I see these posts are about “leader vs manager” and cannot help but think this is aimed at their previous manager because of a disappointment for not growing or valuing them which ultimately became the reason for their departure.

    The point I’m trying to make is your actions as a manager can affect a person negatively for a very long time. Someone is not having fun because of your ignorance and actions. THAT IS POWER!

    Easy steps to effective conversations

    I have rock-solid steps to improve one-on-one conversations with your engineers almost immediately. It is specific to online meetings because it is where the worst of our habits presents itself. In the face-to-face meeting, listen, engage, and be respectful. Success will depend if you are open to it as a manager and not necessarily depend on the employee. These are easy to do and all it requires is a shift in focus.

    Switch on your camera

    Let the person on the other side be assured they have your full attention. It is important to carry across a message with the correct body language. Tough conversations for example must have body language to show that this is not emotionless but comes from a deeply concerned and caring nature.

    Do not multitask

    In one-on-one multitasking is a big no-no. It is easy to spot when someone is reading while in a meeting. It takes away the focus from the conversation and affects the memory which is essential for a decision to be made on behalf of this person’s career growth. Relax your shoulders or cross your fingers in front of you. These conversations can provide us with valuable insight and clues that may be useful in other discussions, creating new opportunities for the engineer. This conversation takes 30 minutes. Being respectful to them cultivates respect for you as their manager.

    Keep notes

    Simple but effective. If you recall past conversations there is nothing more indicative that my manager is listening to me. On the flip side, managers can use it to hold the engineer accountable and honest.

    The above steps are simple yet highly effective.

    The manager’s part in the conversation

    Typically, when I hire a new engineer I ask them what they want to work towards. It typically is seniority, architecture, analysis, or leadership. There are many people in an organization they can partner with to learn from. We need to help facilitate these connections and create opportunities for our people.

    During every other one-on-one, we revisit their progress toward their goals. It is a good opportunity to identify gaps. For example, maybe they are too code-focused and need to learn, as a future software architect how the entire system functions. The manager can intercept this early on and advise the engineer on how to improve their approach.

    As I previously mentioned, imagine you as the engineer only receives feedback at their end-of-year review! I kid you not, this happens! I have experienced this at three of my previous jobs. It is a long time to wait to get feedback. What if I’ve done something wrong and only feel the “punishment” (feedback or reward) end of the year?

    The need for negative feedback originates from an event and therefore must be dealt with immediately. Immediate feedback kick-starts the remedial process and allows for course correction to take place for the engineer. It preserves the person’s confidence in the long run.

    But as managers, we often miss these opportunities.

    As a manager and someone who is concerned with another’s growth and advancement, this presents a fantastic opportunity to transform failure into success. Taking a keen interest in your engineer’s career and staying up to date with their activities enables immediate course correction if it is required.

    This must be the conversation almost every one-on-one with the person. There should be no surprises at the end of the year review.

    We as managers do not always have access to budget or promotions and even if we do there is always such a balancing act and it is impossible to give to everyone. Therefore, taking a keen interest in someone’s career and growing them is in your control and is the best we can do for our people. It may just keep them a little bit longer at the company because they are being valued and we take interest in them.

    It doesn’t always have to be money and title

    I cannot overstate it enough the influence the manager has over their engineers. I’m sure you have seen many posts on LinkedIn saying; “People leave managers, not companies”. I say this is true over and over. Managers are also in the spotlight when engineers leave companies due to the type of work they perform. The manager can help by finding a new role or moving the engineer onto a new project or team.

    Conclusion

    If you find managing people easy you are doing something wrong. If you are managing people just for the title, stop doing it and pivot your approach. Your responsibility is to grow your people into a better version of themselves. When they eventually leave the company and many do you can feel proud that they are leaving better than what they started. In the end, they are leaving because of their managers because you helped them become a better version of themself.