Technical skills¶
This is part of the Skills and qualifications section.
Photo by Vladislav Glukhotko on Unsplash
Key technical skills¶
Technical Program Managers (TPMs) need to have a strong understanding of technology and how it can be used to solve problems. Some of the key technical skills that TPMs need include:
Programming¶
Programming, while a core competency for software engineers, is also a valuable technical skill for Technical Program Managers (TPMs). A solid foundation in programming enables TPMs to better understand the technologies and tools their teams are using, communicate effectively with developers, and make informed decisions throughout the project lifecycle. However, the expectations for programming proficiency differ significantly between TPMs and software engineers.
Expectations for TPMs vs. Software Engineers¶
Software engineers are primarily responsible for designing, implementing, and maintaining software applications. As a result, they are expected to have in-depth knowledge of programming languages, frameworks, and software development methodologies. In contrast, TPMs are responsible for overseeing multiple projects, ensuring alignment with organizational objectives, and managing cross-functional teams. While a foundational understanding of programming is important for TPMs, their role does not always involve hands-on coding or direct involvement in software development tasks.
Instead, the programming knowledge of a TPM is most valuable in the context of their ability to:
- Understand the technical landscape: A familiarity with programming languages, frameworks, and tools allows TPMs to comprehend the overall technical architecture, constraints, and trade-offs within a project.
- Communicate effectively with technical teams: By understanding programming concepts, TPMs can bridge the gap between technical and non-technical stakeholders, translating complex technical concepts into accessible terms.
- Make informed decisions: A strong programming foundation enables TPMs to assess the feasibility of proposed solutions, understand the implications of technical choices, and support their teams in overcoming technical challenges.
- Ask insightful questions: With a solid grasp of programming, TPMs can pose thought-provoking questions that help identify potential risks, optimize solutions, and drive innovation within their projects.
Another way of putting this is that TPMs should be able to understand much of the programming conversation, weigh in on decisions, and ask great questions along the way.
Many TPMs also pick up one or more programming languages so they can write utilities to automate tasks and processes. Automation not only saves time but can reduce errors. For example, getting proficient in Python, bash scripting, or even PowerShell, can be useful as you'll write scripts that help you with your job.
In summary, programming is a valuable technical skill for Technical Program Managers, but the expectations for proficiency differ from those of software engineers. By developing a foundational understanding of programming, TPMs can effectively navigate the complexities of technical projects and contribute to the success of their teams and organizations.
Systems administration¶
Systems administration is also an important technical skill for Technical Program Managers (TPMs). A strong foundation in systems administration enables TPMs to better comprehend the infrastructure and operations supporting their projects, communicate effectively with system administrators, and make well-informed decisions throughout the project lifecycle. Moreover, it allows TPMs to ask incisive questions that can reveal potential concerns or areas for optimization. However, the expectations for systems administration proficiency differ significantly between TPMs and system administrators.
Expectations for TPMs vs. System Administrators¶
System administrators are primarily responsible for managing, configuring, and maintaining an organization's IT infrastructure, including servers, storage, and networks. As a result, they are expected to have deep knowledge of hardware, operating systems, networking, and other infrastructure-related technologies. In contrast, TPMs are responsible for overseeing multiple projects, ensuring alignment with organizational objectives, and managing cross-functional teams. While a foundational understanding of systems administration is beneficial for TPMs, their role does not typically involve hands-on configuration or direct involvement in infrastructure management tasks.
Instead, the systems administration knowledge of a TPM is most valuable in the context of their ability to:
- Understand the infrastructure landscape: Familiarity with hardware, operating systems, networking, and other infrastructure components allows TPMs to grasp the overall infrastructure architecture, constraints, and trade-offs within a project.
- Communicate effectively with system administrators: By understanding systems administration concepts, TPMs can bridge the gap between technical and non-technical stakeholders, translating complex infrastructure topics into accessible terms.
- Make informed decisions: A strong foundation in systems administration enables TPMs to assess the feasibility of proposed infrastructure solutions, understand the implications of infrastructure choices, and support their teams in addressing infrastructure challenges.
- Ask insightful questions: With a solid understanding of systems administration, TPMs can pose thought-provoking questions that help identify potential risks, optimize infrastructure solutions, and drive innovation within their projects.
In summary, systems administration is a valuable technical skill for Technical Program Managers, but the expectations for proficiency differ from those of system administrators. By developing a foundational understanding of systems administration, TPMs can effectively navigate the complexities of infrastructure-related projects and contribute to the success of their teams and organizations.
Networking¶
Networking is also an important technical skill for Technical Program Managers (TPMs). A solid foundation in networking enables TPMs to better understand the connectivity and communication aspects of their projects, interact effectively with network engineers, and make informed decisions throughout the project lifecycle. Additionally, it empowers TPMs to ask insightful questions that can uncover potential issues or opportunities for improvement. However, the expectations for networking proficiency differ between TPMs and network engineers, with TPMs being able to defer to experts when necessary.
Expectations for TPMs vs. Network Engineers¶
Network engineers are primarily responsible for designing, implementing, and maintaining an organization's network infrastructure, including routers, switches, firewalls, and other networking devices. As a result, they are expected to have in-depth knowledge of networking protocols, topology, and security. In contrast, TPMs are responsible for overseeing multiple projects, ensuring alignment with organizational objectives, and managing cross-functional teams. While a foundational understanding of networking is important for TPMs, their role does not typically involve hands-on configuration or direct involvement in network infrastructure management tasks.
Instead, the networking knowledge of a TPM is most valuable in the context of their ability to:
- Understand the networking landscape: Familiarity with networking protocols, devices, and security allows TPMs to comprehend the overall network architecture, constraints, and trade-offs within a project.
- Communicate effectively with network engineers: By understanding networking concepts, TPMs can bridge the gap between technical and non-technical stakeholders, translating complex networking topics into accessible terms.
- Make informed decisions: A strong foundation in networking enables TPMs to assess the feasibility of proposed network solutions, understand the implications of networking choices, and support their teams in addressing networking challenges.
- Ask insightful questions: With a solid grasp of networking, TPMs can pose thought-provoking questions that help identify potential risks, optimize network solutions, and drive innovation within their projects.
However, TPMs are not expected to be experts in every aspect of networking. When facing highly specialized or complex networking issues, TPMs should defer to network engineers and other experts who possess the necessary knowledge and experience. This collaborative approach allows TPMs to focus on their core responsibilities while leveraging the expertise of their team members to achieve project success.
In summary, networking is a valuable technical skill for Technical Program Managers, but the expectations for proficiency differ from those of network engineers. By developing a foundational understanding of networking and knowing when to defer to experts, TPMs can effectively navigate the complexities of network-related projects and contribute to the success of their teams and organizations.
Security¶
Security also plays a significant role in the skill set of Technical Program Managers (TPMs). A good understanding of security principles enables TPMs to effectively consider the security implications of their projects, engage with security experts, and make well-informed decisions throughout the project lifecycle. Moreover, it allows TPMs to ask pertinent questions that can reveal potential vulnerabilities or areas for security enhancement. However, the expectations for security proficiency differ between TPMs and security professionals, with TPMs being able to rely on experts when necessary.
Expectations for TPMs vs. Security Professionals¶
Security professionals are primarily responsible for assessing, implementing, and maintaining an organization's or program's security posture, including network security, application security, and data protection. As a result, they are expected to have comprehensive knowledge of security best practices, policies, and regulations, as well as the ability to identify and address threats and vulnerabilities. In contrast, TPMs are responsible for overseeing multiple projects, ensuring alignment with organizational objectives, and managing cross-functional teams. While a foundational understanding of security is essential for TPMs, their role does not typically involve hands-on security assessment or direct involvement in security management tasks.
Instead, the security knowledge of a TPM is most valuable in the context of their ability to:
- Consider security implications: A familiarity with security best practices, policies, and regulations allows TPMs to incorporate security considerations into project planning and execution, reducing the likelihood of security incidents.
- Liaise with security professionals: By understanding security concepts, TPMs can effectively engage with security experts, ensuring that security requirements are integrated into project objectives and deliverables.
- Identify potential security risks: A strong foundation in security enables TPMs to recognize potential vulnerabilities, allowing them to proactively address risks and protect project assets.
- Ask thought-provoking questions: With a solid understanding of security, TPMs can pose meaningful questions that help uncover potential security weaknesses, improve security measures, and foster a security-conscious project environment.
However, TPMs are not expected to be experts in every aspect of security. When confronted with highly specialized or complex security challenges, TPMs should rely on security professionals and other experts who possess the necessary knowledge and experience. This collaborative approach enables TPMs to concentrate on their core responsibilities while benefiting from the expertise of their team members to maintain a robust security posture throughout the project lifecycle.
In summary, security is an important technical skill for Technical Program Managers, but the expectations for proficiency differ from those of security professionals. By developing a foundational understanding of security and knowing when to rely on experts, TPMs can effectively manage security-related aspects of their projects and contribute to the success of their teams and organizations.
Learning and practicing¶
There are a number of different ways to learn and practice technical skills. Some of the most effective methods include:
- Taking courses: There are a number of courses available that can teach you about technical skills.
- Reading books and articles: There are a number of books and articles available that can teach you about technical skills.
- Working on projects: One of the best ways to learn technical skills is to work on projects. This will give you the opportunity to apply the skills that you have learned and to develop new skills. Consider volunteering for an Open Source project to get hands-on experience. Even helping with documentation is often very welcome.
- Mentoring: If you have the opportunity, you may want to consider mentoring someone who is interested in learning technical skills. This can be a great way to share your knowledge and experience and to help someone else develop their skills. Often the best way to cement your own learning is to teach someone else.
For a list of suggested courses, books, blogs, etc. please see the Resources section later in the book.
Tips for learning technical skills¶
Start with the basics¶
Before you start learning more complex technical skills, make sure you have a good understanding of the basics. This includes understanding how computers work, how software is developed, and how networks are connected.
As a Technical Program Manager (TPM), it's crucial to have a foundational understanding of various technical skills to effectively manage projects and communicate with cross-functional teams. However, it can be overwhelming to learn every aspect of technical domains like programming, networking, security, or systems administration. Therefore, starting with the basics and building a strong foundation is essential for TPMs when learning new technical skills.
The Importance of a Strong Foundation¶
A strong foundation in technical skills allows TPMs to:
- Grasp key concepts: By starting with the basics, TPMs can develop a fundamental understanding of essential concepts, terminologies, and methodologies, which will enable them to navigate technical discussions with ease.
- Identify areas for growth: A solid foundation in technical skills helps TPMs recognize their knowledge gaps and prioritize areas where they should invest more time and effort to learn.
- Facilitate effective communication: Understanding the basics of various technical domains enables TPMs to engage with subject matter experts and non-technical stakeholders, fostering better collaboration and decision-making.
- Adapt to evolving technologies: With a strong foundational knowledge, TPMs are better equipped to adapt to new technologies and methodologies, allowing them to stay up-to-date in the ever-evolving tech landscape.
Tips for Learning Technical Skills as a TPM¶
To start building a strong foundation in technical skills, TPMs should consider the following steps:
- Identify relevant domains: Determine which technical domains are most relevant to your role and projects. Focus on the areas that will have the most significant impact on your ability to manage projects effectively.
- Leverage online resources: Utilize online resources such as tutorials, courses, blogs, and forums to learn the basics of the chosen technical domains. Many high-quality resources are available for free or at low cost.
- Engage with peers and experts: Collaborate with colleagues or join professional communities to discuss concepts, share knowledge, and seek guidance. Learning from others' experiences can accelerate your understanding of technical skills.
- Apply knowledge to real-world scenarios: Put your newly acquired skills into practice by applying them to real-world projects or tasks. This hands-on approach will solidify your understanding and help you identify areas where you need further improvement. Again, consider volunteering with an Open Source project to get more hands-on, real-world experience.
- Iterate and expand: Continuously revisit and build upon your foundational knowledge, staying open to learning new concepts and adapting to evolving technologies.
In summary, starting with the basics is vital for TPMs learning technical skills. By focusing on building a strong foundation, TPMs can effectively navigate the complexities of technical projects and contribute to the success of their teams and organizations.
Be patient¶
Patience plays a significant role in the learning process for Technical Program Managers (TPMs) acquiring new technical skills. Since TPMs are responsible for managing complex projects and coordinating with cross-functional teams, they are often expected to understand various technical domains to some extent. However, mastering technical skills takes time and consistent effort. Embracing patience and perseverance can lead to long-term success in developing the necessary technical expertise.
The Role of Patience in Learning¶
Learning technical skills can be challenging, especially if you're new to a particular domain or technology. Being patient with yourself during the learning process is essential for several reasons:
- Overcoming obstacles: As a TPM, you may encounter difficulties or setbacks while learning new technical skills. Patience enables you to persevere and overcome these obstacles, allowing you to grow and improve your understanding over time.
- Reducing stress: Learning complex technical skills can be overwhelming and stressful. By being patient, you can reduce stress and maintain a positive mindset, enabling you to focus on learning and retaining new information effectively.
- Building confidence: As you develop patience and give yourself the time needed to learn, you will gradually build confidence in your abilities. This increased confidence will empower you to tackle more advanced concepts and challenges in the future.
Cultivating Patience While Learning¶
To cultivate patience while learning technical skills, consider the following approaches:
- Set realistic expectations: Recognize that learning technical skills is a long-term process and that mastery cannot be achieved overnight. Set realistic expectations and be prepared to invest time and effort into learning.
- Break down complex topics: When faced with complex concepts, break them down into smaller, more manageable parts. This step-by-step approach can make learning feel less daunting and help you maintain patience as you progress. By the way, this is a key skill in scheduling and tracking progress in technical programs too.
- Celebrate small victories: Acknowledge and celebrate your accomplishments, even if they seem small. This positive reinforcement can help you stay motivated and patient as you continue learning.
- Seek support: Don't hesitate to ask for help or guidance from colleagues, mentors, or online communities. Engaging with others who share your interests and goals can provide valuable insights, encouragement, and support during the learning process.
In summary, patience is a crucial aspect of learning technical skills for Technical Program Managers. By embracing patience and perseverance, TPMs can effectively navigate the complexities of technical projects and contribute to the success of their teams and organizations.
Be open to feedback¶
Being open to feedback is an essential part of the learning process for Technical Program Managers (TPMs) acquiring new technical skills. As TPMs strive to understand various technical domains, constructive feedback from colleagues, mentors, and subject matter experts can significantly enhance their learning experience, allowing them to make more informed decisions and better communicate with cross-functional teams.
The Value of Feedback in Learning¶
Feedback plays a crucial role in learning technical skills for several reasons:
- Identifying areas for improvement: Constructive feedback can help TPMs recognize their knowledge gaps and pinpoint areas where they need to invest more time and effort. By focusing on these areas, TPMs can accelerate their learning and develop a well-rounded understanding of the technical concepts relevant to their projects.
- Enhancing problem-solving abilities: As TPMs work to acquire technical skills, they will inevitably encounter challenges and difficulties. Receiving feedback on their problem-solving approach can help them refine their techniques, making it easier to overcome obstacles and progress in their learning journey.
- Building confidence: As TPMs receive feedback and incorporate it into their learning process, they will gradually become more proficient in their chosen technical domains. This increased proficiency can boost their confidence, empowering them to tackle more advanced concepts and challenges.
Embracing Feedback as a TPM¶
To make the most of feedback while learning technical skills, TPMs should adopt a proactive and open-minded approach:
- Seek feedback actively: Instead of waiting for feedback to come their way, TPMs should actively request input from colleagues, mentors, and subject matter experts. This proactive approach demonstrates their commitment to learning and growth.
- Set up systems for automated feedback: Consider putting processes in place that provide near-immediate feedback through automation. For example, consider the success criteria for learning something, like the correct output from a programming exercise, and compare that with your program's output as you develop it.
- Maintain an open mindset: Being receptive to feedback requires TPMs to maintain an open mindset, recognizing that there is always room for improvement and that constructive criticism is an opportunity for growth rather than a personal attack.
- Reflect on feedback: After receiving feedback, TPMs should take the time to reflect on it, considering how they can incorporate the input into their learning process and develop a more comprehensive understanding of technical concepts. One of the best ways of reflecting on feedback is to write it down. Writing feedback down in your own words helps you re-formulate the feedback in a way that you'll be able to act on it later. Be sure to check back with the feedback provider to ensure you wrote down their feedback correctly.
- Show appreciation: Expressing gratitude for the feedback received can help foster a positive learning environment and encourage colleagues and mentors to continue providing valuable input.
In summary, embracing feedback is a vital aspect of learning technical skills for Technical Program Managers. By actively seeking feedback and maintaining an open mindset, TPMs can effectively navigate the complexities of technical projects and contribute to the success of their teams and organizations.
Be yourself¶
As a Technical Program Manager (TPM), embracing your unique strengths and staying true to yourself is an essential part of your journey to learning technical skills. Each individual has their own set of talents and experiences that can enhance their learning process, and by leveraging these strengths, TPMs can accelerate their growth and develop a well-rounded understanding of the technical concepts relevant to their projects.
Discovering Your Strengths¶
To effectively leverage your strengths, you must first identify them. Discovering your strengths can be achieved through various methods:
- Self-reflection: Take the time to think about your previous experiences, particularly those where you excelled or found a deep sense of satisfaction. Consider the skills or qualities that contributed to your success in those situations. Reflect on your personal experiences, such as projects you've worked on or challenges you've overcome, as these can provide valuable insights into your unique strengths and abilities.
- Feedback from others: Seek input from colleagues, mentors, or friends who know you well. They may be able to offer insights into your strengths that you may not have considered.
- Assessments: There are numerous assessments and tools available, both online and offline, that can help you identify your strengths. These assessments often provide detailed reports outlining your core talents and how to make the most of them.
Leveraging Your Strengths in Learning Technical Skills¶
Once you have identified your strengths, consider how they can support your journey to learning technical skills as a TPM:
- Tailor your learning approach: Customize your learning process to align with your strengths. For example, if you have a knack for visual learning, consider using diagrams or video tutorials to aid your understanding of technical concepts.
- Set personalized goals: Set learning objectives that capitalize on your strengths while addressing areas where you need to improve. By setting goals that cater to your unique talents, you can maintain motivation and make steady progress.
- Embrace your individuality: Remember that each TPM has their own background and experiences, and there is no one-size-fits-all approach to learning technical skills. Embrace your individuality, and use it to your advantage when tackling new challenges and concepts.
Being Yourself on the Journey¶
Staying true to yourself while learning technical skills involves:
- Acknowledging your limitations: Recognize that nobody is perfect, and there may be some areas where you struggle more than others. Be honest with yourself about these limitations, and seek support when needed.
- Focusing on growth: Maintain a growth mindset, believing that with time and effort, you can develop and enhance your technical skills. This mindset will help you stay true to yourself and stay committed to your learning journey.
- Celebrating your achievements: Take the time to acknowledge and celebrate your accomplishments, no matter how small they may seem. This positive reinforcement will help you stay motivated and maintain a strong sense of self throughout your learning journey.
In summary, leveraging your strengths and being yourself are crucial aspects of learning technical skills as a Technical Program Manager. By discovering and capitalizing on your unique talents and reflecting on your personal experiences, you can effectively navigate the complexities of technical projects and contribute to the success of your teams and organizations.
What are you going to do to enhance and improve your technical skills?