The Non-Technical PM’s Guide to Understanding Tech
Why Having a Good Grasp of Tech Matters
Having a good understanding of tech is crucial for PMs to be successful in their role. Here are a few reasons why:
- More informed conversations with tech: When you understand the basics of tech, you can have more meaningful conversations with your team. You’ll be able to ask the right questions, understand the feasibility of certain features, and empathize with the challenges your team faces.
- Reduced dependence on tech: While you may not be able to code or solve software bugs, having a basic understanding of tech can help you troubleshoot customer issues and test features in development.
- Stakeholder management: As a PM, you’ll work with various stakeholders, including customer support, business, and operations teams. Having a good understanding of tech can help you manage their expectations and anxieties more effectively.
How a Tech Team is Organized
In a product-led company, the tech team is usually divided into smaller pods or teams. Each pod may be responsible for a specific stage of the customer acquisition funnel, such as awareness, acquisition, or activation.
A typical tech team consists of:
- Frontend engineers: Responsible for building the user interface and user experience of your product.
- Backend engineers: Focus on the server-side logic, database integration, and API connectivity.
- Full-stack engineers: Can work on both frontend and backend tasks.
- Quality assurance (QA) engineers: Test features and ensure they meet the required standards.
- Engineering manager: Oversees the tech team and ensures that features are prioritized and resources are allocated effectively.
The Software Development Lifecycle
The software development lifecycle involves several stages, from planning to deployment. Here’s an overview of the process:
- Planning: Define the problem, identify the requirements, and create a product roadmap.
- Design: Develop a design concept, create wireframes, and test the usability of your product.
- Development: Build the feature, conduct unit testing, and integrate the code into the main branch.
- Testing: Perform QA testing, identify bugs, and fix issues.
- Deployment: Release the feature to production, monitor performance, and gather feedback.
Common Tech Terms Every PM Should Know
Here are some key tech terms that every non-technical PM should be familiar with:
- Tech stack: The combination of technologies used to build and run your product.
- Agile: An iterative approach to software development that emphasizes flexibility and collaboration.
- API: A set of defined rules that enable different applications to communicate with each other.
- Microservices: A software development approach that structures an application as a collection of small, independent services.
- Regression testing: A type of testing that ensures changes to the codebase do not affect existing features.
Improving Your Tech Knowledge and Staying Up-to-Date
To improve your tech knowledge and stay up-to-date with the latest trends, try the following:
- Follow industry leaders: Read blogs, attend conferences, and follow industry leaders on social media.
- Take online courses: Websites like Coursera, Udemy, and edX offer a wide range of courses on tech-related topics.
- Join online communities: Participate in online forums and discussion groups to learn from others and share your own experiences.
- Read books: There are many excellent books on tech-related topics that can help you deepen your understanding of the subject.
// Example of a simple API call fetch('https://api.example.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error));
# Example of a simple microservice from flask import Flask, jsonify app = Flask(__name__) @app.route('/data', methods=['GET']) def get_data(): data = {'message': 'Hello, World!'} return jsonify(data) if __name__ == '__main__': app.run(debug=True)