Active Career Management for Technical Professionals

The "John Test" for Managing Your Software Career

Career management is hard.

When managing your career in technology, it’s not uncommon to find yourself at a career crossroads, asking yourself if the grass is greener or wondering if you should stick it out.

We may even find ourselves in a state of introspection, trying to understand our career, where it is going, where we want it to go, and how to change it. But often, this introspection isn’t just about analyzing the company’s role in our professional growth but also self-reflecting on our contributions and responsibilities.

As software engineers, we thrive in environments that stimulate innovation, challenge our skill sets, and offer opportunities for growth. Yet, the symbiotic relationship between an engineer and the organization is not just one-sided. While we expect certain standards and practices from our employers, we have a reciprocal expectation to elevate our roles. We must demonstrate dedication, innovation, and a commitment to personal and organizational success.

This article offers a benchmark for software engineers to evaluate their professional surroundings. Are your organization’s values aligned with your aspirations? Does the culture foster growth, innovation, and ownership? On the flip side, are you doing your part to ensure you’re not just a cog in the machine but an invaluable asset driving the company forward?

By looking at career management from a higher level, we can attempt to design a machine that guides the way we approach how we run our companies and how, as employees, we contribute to our overall success or failure in the workplace. We can see that we need to be critical of the company we work for and our managers, the projects that the company takes on, and our own approach to our work. To help us engage in active career management, let’s explore a set of standards to hold our employers to and, in the same breath, standards to uphold ourselves against. Because actively managing our careers is about seeking the best from our employers and continually raising the bar for ourselves.

To that end, I want to share a test to help you objectively manage your software engineering career:


#1 – Does Your Manager Articulate the Win-Win-Win?

A mutual understanding of the Win-Win-Win Principle is a foundational component of the relationship between you and your manager. When your manager can easily articulate how your work benefits the client, the company, and your own career, it becomes clear that everyone is marching in the same direction for well-considered reasons. This principle establishes the bedrock for a robust professional bond and highlights the value you contribute.

When managing your career, pursuing a win-win-win strategy is pivotal to ensuring meaningful work. Such endeavors propel personal and professional progression.

Win #1: Your work provides meaningful value for your company’s clients.

In software engineering, we all strive to produce robust, efficient, and intuitive solutions aligned with client requirements. Beyond technical requirements, our work for our clients should contribute to something “bigger” that we value. We can also use these engagements to get exposure to new cultures, ideas, and technologies. When your manager discerns and articulates the merit of your contributions in this context, it underscores that your endeavors yield real-world outcomes, fortifying client trust.

Win #2: Your work provides meaningful value for your company (beyond financial).

While a company’s financial growth is essential, its internal development, culture, and brand value also matter. As software engineers, when your code not only drives revenue but also brings about process optimizations, fuels innovation, or fosters a culture of excellence and learning, it enriches the company in more ways than one. A manager’s acknowledgment of this aspect underscores their integrated understanding of the company’s health and growth.

Win #3: Your work provides meaningful value for yourself and your career (beyond financial).

At the end of the day, does the work you are doing help you build the hard and soft skills you need to grow your career in the direction you want to go? Is it preparing you for what’s next? It’s all too easy for a company to see how a project can improve its market position or bottom line and then put staff in to execute without regard to how the project helps the staff themselves. These are commonly called “butts in seats” jobs. Be sure to take on roles that directly benefit your career beyond just financial gain.

(A detailed discussion of the Win-Win-Win Principle can be found here: Look for The Win-Win-Win to Build Stronger Businesses and Careers)

Corollary: Do You Provide Value for your Company and your Clients?

Comprehending the “win-win-win” from a managerial viewpoint represents merely one facet of the career management equation. The software engineer’s proactive strategy in consistently actualizing these victories is the counterpart.

Do you ensure that your work provides meaningful value for your company’s clients?

Software engineers are instrumental in sculpting the client experience. Projects must strive to surpass client expectations for quality, security, and scalability. As experts, we can often anticipate problems that our clients may be blind to. Prioritizing client needs, pinpointing their hurdles, getting in front of problems, and formulating custom solutions foster a robust professional rapport beyond standard business interactions. We may also be able to bring new cultural ideas to clients, improving their companies in more than purely technical ways.

Do you ensure that your work provides meaningful value for your company (beyond financial)?

A dedicated engineer doesn’t just show up for work to close tickets. They dive into the company’s mission, culture, and goals. You should work to bring real value by connecting tasks with the company’s bigger vision and always looking for ways to make the culture better. You can look for opportunities to debate with, mentor peers, and be mentored. Improving the performance of the entire team will improve your performance as well! This makes the team stronger, encourages a sense of shared success, and raises the brand’s value.

Do you take advantage of opportunities to improve yourself and understand opportunity costs when accepting new tasks?

Career management isn’t one-sided. Sure, managers have their part, but engineers must also grab chances to improve themselves in the direction they want to grow. That means constantly learning, attending workshops, and taking on new challenges. But every decision has a trade-off. Knowing when to step up, when to hand off, and when to dig into learning makes for a steady career path that’s good for you and the company. Look for opportunities to own your outcomes, mentor peers, and get exposure to new ideas and technology.


#2 – Is Your Manager a Software Engineer?

Grasping the nuanced dynamics of a technical position is essential for proficient leadership in the tech sector. A manager with a software engineering pedigree brings distinct advantages, enhancing clarity, efficiency, and team empathy.

In career management, a manager with a software engineering background inherently recognizes ways to hone your skills, comprehends the career trajectory, and stands as a more effective champion for your growth and aspirations.

Does your manager know how to do your job?

A manager with a software engineering background isn’t just navigating corporate leadership; they’ve experienced the frontline. They’re familiar with the hurdles, the satisfaction of resolving intricate issues, and the subtleties of coding. They know better than to try to measure success by lines of code. Such experience allows them to establish grounded expectations, allocate tasks adeptly, and offer insight during technical challenges. Crucially, they value your dedication, cultivating an environment of mutual respect and comprehension.

It is my experience that, especially early in your career, you should look to be on a team where your manager is also a software engineer. This is not only harder to ensure as you progress to more senior levels, it is also less necessary. You can take more ownership over your career path as you progress, but especially early on, having a manager who can mentor you effectively is important.

Can you communicate as peers with your manager (have a two-way conversation) on technical matters?

Being on the same technical wavelength can significantly enhance communication. Conversations about system architecture, design patterns, or algorithms become more streamlined when both parties share foundational knowledge. This peer-like interaction fosters an environment where ideas can be exchanged freely, leading to innovative solutions and collaborative problem-solving.

Does your manager want to manage?

Being a great software engineer doesn’t automatically make someone a great leader. However, a manager with an engineering background and a genuine drive to lead offers a rare mix of tech expertise and leadership skills. Such managers aren’t in their positions due to time served or a default career path. They’re there because they truly want to help, guide, and see their teams succeed. They get the technical challenges their team faces, and with their leadership goals, they’re always thinking of ways to improve team relationships, work output, and overall happiness.

Engineers who truly want to manage are not just handing out assignments; they’re deeply invested in the team’s overall growth. They balance the tech side of the job with the people side. When an engineer chooses to shift into management because it’s what they really want, their leadership rings with understanding, clear direction, and efficiency. (That doesn’t mean they won’t make mistakes. Offer them the same grace they extend to you!)

Corollary: Do You Articulate Your Work to Management and Non-Software Engineers?

Frequently, career management is bolstered by being our own best advocates. Communication is critical, so how well can we communicate our value to our coworkers, management, and clients?

Can you explain your job to a non-technical person?

This skill is vital. When interacting with stakeholders, marketing teams, or HR, communicating technical challenges and success contributes to our career growth. Simplifying complex processes into understandable terms fosters collaboration and paves the way for more integrated, successful projects.

Do you help your manager understand the people side of things?

While a technical manager understands the job intricacies, software engineers must bridge the gap between technical tasks and team dynamics. By providing your manager with feedback on team morale, individual aspirations, and interpersonal relationships, you can help shape a positive, productive work environment.

Do you help your manager understand the technical side of things?

Even with a technical background, a manager’s day-to-day might distance them from the evolving tech landscape. As an engineer, you can keep them informed about the latest tools, technologies, or methodologies, ensuring that the most up-to-date knowledge always backs decisions.

Right, people you have to tell me these things, okay? I’ve been frozen for thirty years, okay? Throw me a frickin’ bone here! I’m the boss! Need the info.

Dr. Evil

Can you effectively communicate with more junior employees?

Onboarding and mentoring are crucial for team growth. By breaking down intricate tasks and guiding newer employees through challenges, you ensure task completion and enhance the team’s overall skill. Document your work in tools like GitHub Pages and Atlassian Confluence. Mature your onboarding process each time a new employee joins the team. Check in on junior employees to see where they are struggling and celebrate their success.


#3 – Do You and Your Manager set Your Quarterly/Annual Goals Together?

A software engineer’s connection with their manager goes beyond tasks and timelines. It’s about building a partnership where both contribute to shaping the journey ahead. Setting quarterly or yearly goals creates a tailored approach to career growth and finishing projects.

In career management, setting relevant and meaningful goals for yourself provides a clear path for growth and maturity by the time of your next review.

Are you able to articulate your goals using the “win-win-win” principle?

Using the Win-Win-Win Principle to outline your goals ensures well-rounded planning. This method examines the benefit your efforts bring to clients, the company, and your personal development, capturing a broad range of aims. Such an approach ensures the targets you establish promote all-around growth. The company’s objective should be that every goal follows this win-win-win structure.

At the core of software projects is the client or end user. In goal-setting, defining how these goals generate value for clients is vital. By prioritizing clients, you aim to boost user experience, fulfill client needs, and innovate to appeal to your audience.

Each task or initiative should tie back to the larger company goals. Aligning your aspirations with the company’s vision ensures your work has direction and unity. It also showcases to leadership your commitment to your role and the company’s overall progress.

Your personal advancement is vital for career longevity. As you address company and client aims, ensure your goals enrich your skills, expand your knowledge, and open doors for future roles. Highlighting this synergy emphasizes a forward-thinking approach to career growth.

Do your goals follow SMART criteria?

SMART (Specific, Measurable, Achievable, Relevant, and Time-bound) criteria provide a structured goal-setting approach. It ensures that your objectives are clear, quantifiable, realistic, aligned with your role and have a defined timeline. This structure brings clarity and focus to your efforts, eliminating ambiguity.

Corollary: Do You Put the Necessary Effort into Establishing and Achieving your Goals?

Setting goals is just the first step. The real challenge lies in dedicating yourself to those objectives, ensuring they’re realistic, actionable, and beneficial. Active career management means having an active role in defining our goals and establishing metrics for success.

Do you put effort into establishing meaningful goals?

Establishing meaningful goals requires introspection, foresight, and a deep understanding of your role within the company. It’s not just about meeting targets; it’s about setting objectives that challenge you, foster innovation, and push the boundaries of what you can achieve. If you put minimum time into your annual review and goal setting, it is not your manager’s responsibility to compensate.

It’s hard to build real goals the night before they are due. Keep a notebook with ideas. Stay in touch with where the company is going, where your projects are growing, and align your personal goals so that everyone wins.

When setting goals, it’s vital they follow the SMART (Specific, Measurable, Achievable, Relevant, and Time-bound) framework. If your boss gives you goals that aren’t clear-cut, tweak them to be SMART. This clarity ensures that by your next review, there’s no doubt about your performance.

Are you able to articulate and measure (quantify) progress toward Your goals?

Articulation and measurement go hand in hand. Once you’ve clearly defined your goals, monitoring progress is critical. This quantification isn’t just about ticking boxes but understanding the nuances of your journey – the challenges faced, the milestones achieved, and the learning along the way. Regular tracking and measuring ensure that you’re always on the right path and can make necessary adjustments when required.


#4 – Is Your Annual Review a Recap, not News?

In the tech world, where rapid change and continuous improvement are par for the course, the annual review has often been a hallmark of evaluating an engineer’s performance. However, its true essence lies not in revealing surprises but in reaffirming what is already known.

In career management, if you are finding out something for the first time on your annual assessment, then you know that your team or management hasn’t been honest and transparent with you over the year. This is a violation of trust and could point to deeper problems both for you and for your leadership.

Do your Reviews recap/summarize your strengths and weaknesses?

An annual review isn’t a platform for bombshells; it’s a mirror reflecting the year gone by. This reflection should encapsulate both your achievements and areas of improvement. By highlighting your track record of strengths and weaknesses, the review becomes an opportunity to celebrate your successes and recognize areas where you can further hone your skills.

Do your Reviews recap your year’s accomplishments and goals?

Every milestone achieved, every project completed, and every objective met should be part of this review. It should talk about trends and not just things that have happened in the past month or two. It’s a testament to your dedication, expertise, and contribution to the company over the long run. Chronicling these accomplishments ensures that you and your manager are on the same page regarding your contributions.

Are your reviews a summary of feedback you’ve already received?

It would be best never to learn anything new in an annual review. Transparency and open communication are the cornerstones of a productive manager-employee relationship. An annual review should never be the first time you hear about a particular feedback or observation. Any positive or negative feedback should have been shared in real-time throughout the year.

Do your Reviews include meaningful ways you can progress in your career?

Beyond assessing the past, an annual review should also focus on the future. Your manager must be willing to share negative feedback because that is the most valuable feedback you will receive. Further, it should be a roadmap, offering guidance on furthering your career in a way that aligns with the company’s goals. This can be through new projects, learning opportunities, or skill-building endeavors.

Corollary: Do You Continually Provide Honest Insight and Feedback to your Manager?

The relationship between a software engineer and their manager is a two-way street, built on trust, honesty, and open communication. Managing our career means having regular two-way conversations with our management and occasional skip-level meetings.

Are your Manager’s reviews a summary of the feedback you’ve already given?

Your manager should not learn anything new during your annual assessment or their own annual assessment. Just as you shouldn’t face surprises during your review, your manager shouldn’t either. Maintaining constant dialogue throughout the year ensures alignment between both parties, reducing surprises during the annual review.

Are you honest and proactive in your communication with your manager?

Honesty and a proactive approach pave the way for a transparent and healthy work relationship. Whether it’s about project concerns, personal growth, or team dynamics, being upfront helps resolve issues before they escalate.

Do you provide regular feedback to your manager?

Good managers, like everyone else, thrive on honest feedback. Providing constructive insights about their leadership style, decision-making, or other aspects can help them evolve and foster a better team environment. This doesn’t mean that they have to take your advice. They are allowed to disagree, but by providing continual feedback, you should be able to stay in sync with them better.

Do you ask for feedback from your manager?

Actively seeking feedback reinforces your dedication to personal and professional development. It demonstrates a willingness to understand areas of improvement and refine your skills. However, it’s crucial to strike a balance. Continually asking for evaluations or expecting a detailed “report card” after every task can be counterproductive. It may come off as a lack of confidence in your abilities or even burden your colleagues and superiors with constant requests. It’s about finding the right rhythm – asking for feedback when it can be most impactful rather than after every small task.

Are you proactive in bringing concerns to your management?

By proactively voicing your concerns and seeking advice, you find ways to improve and strengthen the bond with your management.

Are you open to feedback from your manager?

Your manager should regularly offer constructive criticism, even on minor issues. Embracing such feedback, particularly when negative, demonstrates your commitment to growth and professionalism in your position. You shouldn’t feel the automatic need to be defensive when criticism is offered.

Combining introspection with an open-minded reception of external insights can pave the way for a more insightful, adaptive, and fulfilling career journey.


#5 – Can you attend at least one technical conference a year?

Keeping up with the latest advancements and best practices is crucial in an ever-evolving tech landscape. One of the key ways to achieve this is through technical conferences that gather professionals from around the globe, sharing knowledge, experiences, and the latest innovations.

In career management, attending technical conferences is an excellent forcing function to get you out of your comfort zone, learn from your peers in the industry, and even share your own insights with the rest of the community.

Your company’s commitment to facilitating your attendance at a technical conference annually signifies its investment in your professional growth. It acknowledges the value of external learning and the potential for bringing new ideas and methodologies back to the team.

Note: “Attending” a technical conference and “working” a technical conference are not the same. If your company sends you to a conference to stand at a booth all day, this is NOT attending a technical conference!

Can your conference choice align with future growth?

While attending conferences directly aligned with your current role is beneficial, there’s immense value in exploring areas you aim to grow into. This foresight from your company allows you to be a specialist in your domain and expand your horizons, preparing you for future roles or innovations.

Does the budget for a technical conference cover all conference expenses, including travel?

Financial backing from your company, covering all conference-related expenses, indicates its genuine commitment to your learning and growth. This comprehensive support ensures that you can focus on absorbing knowledge without being burdened by logistics or financial concerns.

Corollary: Do You Attend At Least One Technical Conference a Year and Share Insights Gained?

Simply attending a conference isn’t the end goal. The true value lies in leveraging the gained knowledge to benefit yourself, the larger team, and the company. Part of managing our careers is helping our peers improve as well.

Do you make the time to attend a technical conference in person and give it your full attention?

Being physically present and immersing yourself in the conference experience allows for better networking, hands-on workshops, and a more comprehensive learning experience. By dedicating this time, you maximize the benefits of the conference.

Do you share insights gained from the conference?

Hoarding knowledge benefits no one. Sharing insights from the conference amplifies its value, allowing the entire team or company to benefit from the latest trends, techniques, or methodologies you’ve learned.

Whether it’s a summarized presentation, a detailed walkthrough, or a brainstorming session, disseminating your learning ensures that the company’s investment in the conference yields multiplicative returns.

Do you make an effort to publish insights so they are not lost to time or become tribal knowledge?

Documentation is essential. By publishing your insights, they become a permanent resource for the team and the company. This ensures that even those who joined later or missed your initial sharing session can access and benefit from what you learned. Insights can be shared in various ways, including lunch-and-learns and internal wiki pages (such as Atlassian Confluence). The mode of sharing is as important as the content itself. Using platforms like Atlassian Confluence, organizing lunch-and-learn sessions, or even casual team huddles can make knowledge transfer more effective and engaging.


#6 – Is Corporate Knowledge Shared Transparently?

In an era where knowledge defines success, a company’s approach to its internal information is pivotal for its success, team unity, agility, and overall well-being. Distributing company knowledge openly is like ensuring the company’s lifeblood remains vibrant and circulates well.

In career management, being part of a transparent company with strong communication can propel your growth. With information flowing freely, you’re better positioned to add value to the company and its clients. Moreover, you’ll easily spot chances for mentorship, taking the lead, and taking charge.

Corporate knowledge should be shared transparently and freely within the company. Sharing knowledge openly within a company leads to uniform, truthful customer interactions. It reduces the chances of two different parts of the company saying two different things. When all—from support to execs—share the same information, it ensures customers get consistent messages, bolstering the company’s brand trust.

Transparency benefits the company as well. An open culture easily spots opportunities, risks, and areas needing enhancement. Time isn’t spent “reinventing the wheel.” Shared knowledge invites collective problem-solving and a unified approach. It creates a trust-rich environment, dissolving departmental barriers.

Transparency benefits employees. It fuels collaboration, minimizes repeated efforts, and nurtures an inclusive atmosphere. Everyone feels connected to the company’s trajectory. Such transparency, for instance, allows engineers to leverage company-wide insights when designing solutions.

Are there both “push” and “pull” opportunities to stay in sync with coworkers?

Effective knowledge sharing isn’t just about making information available but also about ensuring that it reaches those who need it. The company should have established principles for pushing information to staff and facilitating the staff pulling information when needed. “Pull” mechanisms, such as a company wiki, allow employees to seek information. Meanwhile, “push” methods (such as email) proactively inform them. For instance, missing a pivotal meeting shouldn’t hinder an employee from the developments discussed. There should be systematic ways, like detailed minutes or summaries, pushed to team members, ensuring everyone stays in the loop.

Corollary: Are You Transparent, and Do you Push your Knowledge Out to the Company?

Your personal commitment to transparency and knowledge sharing can have ripple effects across the company. While demanding others be “transparent” with you is easy, many find reciprocating difficult. Career management means being a team player, and part of being on the team is maintaining a culture of transparency and advocating for information sharing.

Do you share your knowledge with others to enable “pushing” and “pulling”?

The onus of sharing isn’t just on the company. We need to adopt various information-pushing and pulling strategies. As individuals, we must push our insights and learnings out for the collective benefit. Whether it’s sending out an informative email after concluding a successful project or meticulously updating a company wiki with your findings, your proactive efforts play a significant role in fostering transparency. Further, we need to pull information from the available resources instead of burdening other team members to re-generate information. Along with this, we need to facilitate others pulling the information we produce so we don’t become individual knowledge silos.

Do you handle information appropriately?

In an environment of transparency, the boundary between polished, final decisions and raw, in-the-works information can sometimes blur. It’s not uncommon to be privy to information still in its formative stages. This openness can be a double-edged sword. While it indicates trust, it also calls for discretion and maturity in handling such data. Recognizing that even management might not have all the answers immediately is crucial.

When you come across information that’s “still in the oven,” handling it carefully is essential. Refrain from jumping to conclusions, spreading unverified details, or expressing undue frustration. Understand that the very essence of transparency means seeing the “sausage being made.” That process, as its name implies, can be messy and uncertain. Your role is to navigate this with understanding, patience, and a sense of shared responsibility. Embrace the trust placed in you. Provide constructive feedback when appropriate, and always use such information responsibly, acknowledging its tentative nature.

Do you get involved in the community?

Participating in internal forums, chat groups, or any platform where teams discuss, share, and collaborate is vital. This involvement keeps you updated and allows you to contribute and share your expertise. This strengthens the company’s knowledge base.

Do you recognize that “I sent an email a week ago” isn’t communication?

Sending an email or a message might make you feel you’ve communicated well, but you must ensure others receive and understand the knowledge. Effective communication requires input from both sides. Regular follow-ups, open forums for questions, or informal chats to gauge understanding can significantly improve the process. Always aim to share and ensure others absorb the shared knowledge.


#7 – Are You Given the Opportunity for Ownership?

“Ownership” is more than just a label on a task or a line in the codebase. An encompassing sense of responsibility, dedication, and leadership can propel projects and personal careers to new levels. Active career management means looking for companies that want you to own your work.

Do you get the opportunity to take ownership of a project or a part of a project?

When you’re entrusted with ownership, it signals trust in your capabilities. It gives you a unique chance to steer a project, or a part thereof, shaping its trajectory and, in turn, impacting the overall product or service.

Do you get to make decisions about what you work on?

Ownership often (necessarily) comes with autonomy. It allows you to influence the choices, prioritize tasks, and guide the project’s direction based on your expertise, foresight, and understanding. While you may not always get it right, living with your decisions is a good way to grow and mature.

Do you get to be creative and think outside the box?

True ownership gives you freedom. You have the freedom to innovate, brainstorm, and offer fresh perspectives. You can challenge the status quo and suggest overlooked solutions. (Sometimes, the inside-the-box solution still remains the best choice.)

Do you get to be innovative and try new things?

Ownership fosters a culture of experimentation. With the responsibility of a project in your hands, you’re not just executing tasks but also testing waters, pioneering new methods, and adopting cutting-edge technologies. Are you rewarded for trying new things, or are the consequences for possibly getting it wrong too great?

Do you get to be a leader?

Ownership paves the way for leadership. Beyond directing a project, it involves mentoring, advising, and teaming up with colleagues. Here, leadership means providing insights, showcasing technical mastery, and setting a clear path. Even newcomers should get chances to hone their leadership. They might host an informal workshop or manage a minor feature rollout, to name a couple.

Is failure acceptable, but not learning from failure is unacceptable?

Ownership isn’t devoid of challenges. Mistakes will happen. However, the essence of ownership is not in avoiding these missteps but in leveraging them as learning opportunities, ensuring they pave the way for growth and better results in the future. Your manager/team will recognize this and embrace it. Repeatedly taking ownership and failing in the same ways, however, indicates more significant problems and needs to be addressed by management.

Are you encouraged to “think like an owner”?

This mindset goes beyond the immediate project or task. It’s about understanding the bigger picture, considering the broader impacts of your decisions, and aligning your efforts with the company’s mission and values.

Corollary: Do You Take Ownership?

Ultimately, in career management, you are taking ownership of your outcomes. It’s not just about doing tasks assigned to you; it’s about actively assuming responsibility for your projects, outcomes, and the broader success of the company and its clients. It’s about steering your career in a direction where you’re not merely an employee but an integral part of the organizational success. Whether through mentorship, advocacy, or relationship-building, true ownership means playing an active role in your career and the company’s journey.

Do you take ownership of your work?

Ownership is a conscious choice. It means investing completely in your tasks, ensuring you’re completing them, and optimizing and refining them to their best possible version.

Do you take ownership of your responsibilities?

It’s about accountability. When you take ownership, you stand by your decisions, celebrate the successes, and, more importantly, address and learn from the shortcomings.

Do you take ownership of your projects?

Every project, big or small, reflects your commitment and capabilities. Taking ownership means treating each project as a personal endeavor and nurturing it to fruition.

Do you take ownership of the outcomes of your work?

Ownership is result-oriented. It’s about tracing the impacts of your work and understanding its influence on the product, the users, and the company’s bottom line.

Do you take ownership of the company’s success?

Your work is a piece of the larger puzzle. Recognizing this, taking ownership means aligning your efforts with the company’s goals and ensuring that your contributions drive the organization forward.

Do you take ownership of your client’s success?

In a client-centric world, their success translates to yours. In this context, ownership means understanding their needs, their challenges, and delivering solutions that propel their business.

Do you take ownership of your career?

Ultimately, ownership is deeply personal. It’s about acknowledging that your career’s trajectory is in your hands, sculpting it with purpose, dedication, and a commitment to lifelong learning.


#8 – Does The Company Continually Try to Build Capital with Staff?

At the foundation of every successful tech organization lies an unwavering commitment to its most valuable asset: the people. How companies engage with, support, and empower their software engineers often serves as a litmus test for their broader organizational health and vision. Career management requires you to seek out companies that value their software engineers and understand how to build capital with the teams when times are good so they can balance the demands that inevitably arise when times get tough.

Does your company pass the “Joel Test”?

Inspired by Joel Spolsky, the “Joel Test” concisely measures a software company’s development environment’s quality. If your company passes this, it signifies a strong commitment to best practices, process optimization, and employee satisfaction. (It’s much shorter than the John Test!)

Does the company make an effort to maintain and improve your working environment?

A conducive work environment is essential for productivity. Organizations that continually assess and adapt their physical and digital workspaces to be ergonomically and technologically advanced illustrate their dedication to staff well-being and efficiency.

Are you given opportunities to build relationships inside and outside the office?

Internal and external networking plays a pivotal role in personal and professional growth. Companies that facilitate platforms for team building, collaborations, and external partnerships emphasize holistic employee development.

Are you given opportunities to build knowledge and skills?

Continuous learning is the backbone of tech. Firms that provide regular training, workshops, and access to advanced learning resources underscore their vision of nurturing a knowledgeable and adaptable workforce.

Are you given opportunities to build trust and confidence?

Trust is bilateral. Organizations that involve staff in decision-making processes maintain transparency and recognize efforts to make it evident that they value employee contributions and trust their insights.

Does The Company Avoid “nickel and diming” you?

Valuing employees goes beyond just offering a competitive salary. It’s about demonstrating fairness and transparency in all dealings, whether reimbursements, bonuses, or other benefits. It’s the kind of company that doesn’t quibble about treating the team to lunch now and then or buying a needed reference book. But more than these gestures, such companies foster flexibility. They understand it’s not about clock-watching or counting minutes during a lunch break. Instead, they focus on the broader picture of trust, mutual respect, and understanding that sometimes, work might run late, and at other times, one might need to leave a bit early.

Corollary: Do You Do More than Just Your Job?

Managing your career and seeking out companies with excellent fringe benefits can be an exciting part of looking for a company to work with. Working for a company with tons of perks, an incredible 401(k) plan, and a gourmet cafeteria is great. However, perks, too, are a two-way street. Do you go above and beyond for the company in return?

Do you share knowledge and help others?

In tech, knowledge sharing is synonymous with growth. You foster a culture of collective upskilling by regularly collaborating, conducting code reviews, or guiding peers.

Do you take opportunities to learn to be a good leader?

In the context of career management, leadership within software engineering goes beyond mere seniority. Authentic leadership encompasses having a clear vision, offering steadfast guidance, and showcasing resilience in facing challenges. Seizing opportunities to lead projects or teams advances your career trajectory and equips you with essential skills and insights critical for growth.

Are you a mentor?

Mentorship transcends the conventional transfer of skills. As a mentor, you shape the future of budding engineers, offering them insights, perspectives, and wisdom that textbooks can’t.

Are You an advocate for the company and its clients?

Being a company advocate means understanding its ethos, objectives, and vision. It’s about aligning your tasks with these goals and ensuring client needs are met with innovation and efficiency.

Do you build relationships inside and outside the office?

As companies facilitate networking, taking personal initiatives to form and nurture relationships can open doors to collaborations, innovations, and new perspectives.

Do you avoid “nickel and diming” the company?

Integrity goes both ways. Just as the company values you, it’s essential to value their trust in you through the resources they provide. This means using time, tools, and budgets wisely and responsibly. It’s about the little gestures: coming back early from lunch, occasionally pitching in for a team resource, or staying those extra minutes to ensure tasks are wrapped up. These actions echo a sense of commitment and reciprocate the company’s trust in you.

Do you accept more responsibility without demanding something in return?

Stepping up to take on additional responsibility is often a natural part of professional growth, and it demonstrates your capability, adaptability, and commitment. While compensation should align with your overall role and contributions, it’s essential to view increased responsibility as an opportunity to showcase your skills and potential. In many cases, these added responsibilities are testaments of trust, signaling that the company sees you as a valuable asset. Over time, as you continue to excel and take on these challenges, not only will you be in a stronger position to discuss compensation, but you might also find doors opening to greater leadership roles or other opportunities within the organization. Remember, the best negotiations for raises are built on a foundation of proven value and consistent performance, not just short-term increases in workload.

Do you understand that sometimes you will be asked to surge?

The tech industry’s dynamic and unpredictable nature and clients’ evolving demands sometimes require employees to go above and beyond their typical work schedules. This might involve occasional late nights, weekends, or temporarily reallocating personal time to address critical business needs. It’s essential to recognize that such surges, while they shouldn’t become a regular expectation, are sometimes necessary to achieving team objectives, meeting client deadlines, or tackling unforeseen challenges. Embracing these moments shows commitment to the team and company and exemplifies a problem-solving and team-first mindset. However, it’s equally vital for organizations to respect and recognize these extra efforts, ensuring they’re not taken for granted and that work-life integration is balanced in the longer term.


#10 – Does Your Leadership Correlate Authority with Responsibility?

In career management, leadership that correlates authority with responsibility is a crucial principle, emphasizing the alignment of decision-making power with accountability and reflecting an organizational culture where leadership and responsibility are intertwined.

This principle is paramount in fostering an environment where employees are empowered to make decisions and held accountable for the outcomes of those decisions. Therefore, by ensuring that the person responsible for a task also has the authority to execute it, companies can minimize bottlenecks, increase efficiency, and promote innovation. When authority and responsibility are not aligned, it can lead to frustration, a lack of motivation, and inefficiencies stemming from hierarchical obstacles.

Does the company have a culture of ownership?

Ownership is a potent motivator. It’s not just about being responsible for a task but feeling a deep-seated commitment and connection to its outcome. When employees truly ‘own’ their projects, they are more likely to go the extra mile, seek solutions proactively, and remain invested in the endeavor’s success.

Does the company have a culture of meritocracy?

A culture of meritocracy stands as a testament to a company’s commitment to fairness and excellence. A meritocratic environment bases recognition, promotions, and rewards on individual merit. It emphasizes skills, efforts, and achievements over unrelated factors. Employees feel a sense of fairness in such an environment. They are driven to deliver their best work. It also ensures that the organization recognizes and nurtures talent.

Corollary: Do You Take Responsibility when You Have Authority?

Authority and responsibility are two sides of the same coin. When given authority, professionals need to embrace the accompanying responsibilities with zeal and accountability. This ownership ensures the completion of tasks and their execution to the best possible standards.

However, having authority and shirking the associated responsibilities can lead to a breakdown in team cohesion and a departure from company goals. When focusing on career management, it’s vital to strike a balance: leverage authority when granted but also acknowledge and step up to the inherent duties that come with it. Evading responsibility, especially when bestowed with authority, can harm individual growth and the collective success of the team and the broader organization.

Do you know when it’s appropriate to ask for help?

Even the most seasoned professionals encounter challenges they can’t tackle solo. It’s a mark of maturity and wisdom to recognize when it’s time to reach out for a helping hand. However, for junior engineers, finding the right balance can be tricky. Some might shy away from asking for help altogether, perhaps fearing it might reflect poorly on their capabilities. They might spend hours, if not days, struggling through tasks, ultimately compromising efficiency and potentially the quality of their work. On the other end of the spectrum, some might lean too heavily on their colleagues, asking for assistance so frequently that it can feel as if they want someone else to do their job for them.

Finding the sweet spot between these two extremes is essential. Seeking assistance or collaboration at the right moments can lead to innovative solutions and foster a spirit of teamwork and collective problem-solving. It’s about understanding that asking for help is not a sign of weakness but rather an opportunity for growth, knowledge-sharing, and building stronger team dynamics.

Do you readily admit when you are wrong?

Everyone makes mistakes, but a true professional’s mark is recognizing those errors, learning from them, and working diligently to correct them. Admitting mistakes is not a sign of weakness but a testament to one’s integrity, commitment to growth, and dedication to excellence.


#11 – Are You Given the Opportunity to Build Complimentary Skills?

In career management, opportunities to build complementary skills matter. They contribute significantly to professional growth.

Does the company value its staff building complimentary hard skills?

Diversifying your skillset sets you apart in the tech industry. The company values building complementary hard skills. That means if you’re an expert in Python, they’ll cheer you on to learn Rust or Go. It’s not just about deepening your knowledge in one area; it’s about broadening your horizons to see where other technologies can intersect and innovate.

Does the company value building complementary soft skills?

Equally important are the soft skills that often get overshadowed in tech-centric roles. The company values building complementary soft skills. So, if you’re a whiz at coding but dread public speaking, they’ll offer you platforms to hone that skill. Mastering presentations or effective writing/communication can elevate your career trajectory and open doors to leadership roles.

Corollary: Do You Build New Skills Outside of Work?

Ultimately, we are responsible for our career management. This means we cannot rely on our employer for 100% of our skill development. We must look outside work for opportunities to build the hard and soft skills we need to keep growing.

Do you have hobbies and interests that you grow outside of a professional environment?

Your personal growth doesn’t clock out at 5 p.m. You have hobbies and interests that you passionately pursue outside your day job. These interests, whether in art, music, or literature, enrich your life and influence your problem-solving and creativity in professional settings.

Furthermore, your commitment to the tech world doesn’t end with your primary job role. Consider dabbling in side projects related to software engineering. Contributing to open-source projects, for instance, showcases your dedication to community building and continuous learning. It’s a testament to your passion for innovation and collaboration.


#12 – Does Your Company See Itself as a Software Company?

It’s important to work at a company that holds the software engineering team in the same high regard as other professional disciplines. The software engineers should not be seen as a mere service team that throws together demos, patches bugs, or is otherwise subservient to other lines of business. Managing our careers effectively requires working where we are valued as professionals with our own career trajectories.

Does the company see high-quality software engineering as key to its success?

The hallmark of successful companies often rests on the robustness of their software engineering, even for companies whose core product may not be software. High-quality software isn’t just a department or a function; it’s the backbone that propels the company forward. Recognizing software’s centrality to success ensures the company remains competitive, responsive, and at the forefront of technological evolution.

Does the company have an agile culture, even outside the software team?

Agility isn’t confined to the software development process. The entire company embraces the principles of agility – from marketing to HR, from finance to operations. This unified approach to agility ensures rapid response to changes, fosters a collaborative environment, and promotes continuous improvement in every facet of the business. Trying to develop software following Agile principles in a company mired in waterfall mentalities is not a path to success.

Does the company consistently value the contributions of the software engineers?

Software engineers aren’t just another cog in the machinery. The company should understand and appreciate the intricate challenges and the profound solutions engineers bring to the table every day. Their contributions shape the company’s trajectory, and their successes, innovations, and relentless pursuit of excellence should be celebrated.

Corollary: Do You See Yourself as a Professional Software Engineer?

When actively managing your career, it is just as important to push yourself as it is to work for a great company. As part of the company, you should contribute positively to its culture and drive yourself to be a better engineer.

Do you pursue excellence in your craft?

Being a software engineer isn’t just about writing lines of code or closing tickets. It requires a desire to master the art and science of software development. Do you continually hone your skills, stay updated with the latest technologies, and push boundaries to deliver excellence every single day? Do you embrace the academic aspects of software engineering by studying aspects such as design patterns, language design, and algorithmic complexities?

Do you contribute to a strong software engineering culture?

Your role doesn’t end with individual contributions. You play an active part in fostering a vibrant software engineering culture. This means mentoring junior engineers, sharing knowledge, advocating for best practices, and being an integral part of a community that thrives on collaboration and innovation.


Career Management: In Summary

Effective career management puts requirements on both the employer and the employee. It balances employer provisions with individual proactivity. Companies that value their employees ensure that authority aligns with responsibility, promote a culture of ownership and meritocracy, and actively invest in the continual growth of their staff. Yet, these organizational efforts are only half the equation.

Software Engineers must also embrace transparent communication, commit to continuous learning, and responsibly handle the authority given to them. A vibrant career doesn’t just come from finding the right company; our daily choices, commitment, and active participation shape our professional narrative.

If you ever find yourself questioning your current position, revisit the benchmarks and self-checks discussed in this article. They serve as both a compass in gauging the adequacy of your professional environment and a mirror reflecting your own contributions. After all, the path to a fulfilling professional journey is not solely about searching for the perfect company but also about becoming an invaluable asset to the company that you work with.


Note: Drawing from my experiences spanning over 25 years in software engineering – from my nascent days as a junior engineer to the co-founding and being CEO of several software development companies – this article encapsulates the ideals I hold dear. These principles serve as a touchstone for companies and their teams, reflecting what I believe constitutes a harmonious and progressive work environment. However, it’s essential to note that these guidelines might not resonate with everyone. They represent a vision I continually aspire to uphold within my enterprises and own professional journey. But the beauty of the tech industry is its vastness and diversity, allowing myriad paths and paradigms. This is merely one perspective shaped by my unique journey, and I offer it as an insight into the values I deem pivotal in cultivating exceptional teams and workspaces.


Discover more from John Farrier

Subscribe to get the latest posts sent to your email.

4 thoughts on “Active Career Management for Technical Professionals

Leave a Reply

Discover more from John Farrier

Subscribe now to keep reading and get access to the full archive.

Continue reading