On Being Technical

Understanding problems, crafting bbetter solutions, and calling bullshit.

It’s Not Just for Engineers

I’m not going to lie; there are still days when I feel like this

Tech changes quickly, and as a “noncoder,” I have always had a hard time keeping up with the technical details of how the product is built. Or so I thought?

Over the last several years I have been hearing a lot of the people I work with comment on how technical I am. I even had one of my favorite engineers tell me that I was basically architecting part of the product we were working on. I realized that over the last 10+ years, I might have actually picked up a few things that have helped me advance my career and build some really cool sh*t.

Note: Kudos to my friend Gleb for sharing the concept of the “Burden of Knowledge”. It’s basically the idea of assuming that everyone else knows what you know. That’s a post for another day ;)

Nine times out of 10, when I see a role or a person being described as “technical”, it means that they are able to dive into the code themselves and work with or on the product. But being technical isn’t just about writing code. It’s about curiosity, a willingness to learn, and understanding how the pieces of your product fit together. Whether you’re in design, sales, marketing, or customer support, developing a technical understanding of your product can significantly benefit your team, your product, and your career.

Side Quest: Check this Reddit thread to see product managers discussing what it means to be technical vs non-technical.

What Does It Mean to Be Technical?

Being technical means having a deep curiosity and a desire to understand how things work. It's about asking questions, seeking knowledge, and breaking down complex concepts into manageable pieces. At the end of the day, it helps you assist i debugging, find the best person for the task at hand, have intelligent conversations with stakeholders, communicate more effectively about the product’s benefits and make better decisions.

The Curiosity Factor

At its core, being technical is rooted in curiosity. It’s about asking questions and seeking to understand how things work. It’s the ability to break down complex concepts into manageable pieces and gradually build your knowledge. By fostering this curiosity, you can develop a technical mindset that enhances your role, no matter what it is.

  • Pro Tip: Start by setting aside time each week to explore different aspects of your product. Use resources like your company’s internal documentation, blogs, and forums to dive deeper into how it works.

  • Example: If you're curious about how your product handles user data, take an afternoon to read through the data flow documentation. Then, reach out to a developer to discuss any questions you have. This hands-on approach will solidify your understanding and demonstrate your commitment to learning.

Developing Technical Knowledge Within Non-Technical Product Roles

Understanding the Landscape of User Roles and Permissions

Starting with a foundational knowledge of user roles and permissions is crucial. For anyone on a product team, understanding how different roles and permissions interact within your platform can elevate your ability to craft tailored user experiences.

For example, a designer must consider how each component of the platform appears and functions for various users, ensuring the design is inclusive and functional for all. Julie Zhuo former VP of Product Design at Facebook, has often highlighted the critical nature of designing with an awareness of diverse user needs.

How to Develop This Skill: Engage actively in sessions or workshops focused on user role dynamics within your product. Focus on what is different for each user based on their role, their activity, etc. AND ask your team to explain how we actually did this inside the product without building out a bunch of different components.

Hint: If you haven’t already it’s time to learn what the heck “state management” means

Application in Product Development: Understanding the fundamentals of user roles and the personalized experiences for each types of user helps:

  • Designers create more comprehensive and flexible experiences.

  • Marketers creatively segment and position the product to drive activation and conversion.

  • Support teams more effectively troubleshoot.

  • Sales teams close upmarket deals with companies who have more complex rules about workflows, governance, and access to critical inforation.

Decoding APIs for Enhanced Product Interaction

APIs are the backbone of modern software interactions. By familiarizing yourself with your product’s API, you become equipped to answer technical questions, guide customers more effectively, and understand the realm of possible integrations and functionalities.I recommend going beyond the basic concept of being an API consumer of services or integrations in your product and learning more about microservice architecture (if this is how your product is built) so you can get a better sense of how the different pieces of the product are structured and how they interact.

How to Develop This Skill: Dive into your product’s API documentation and architecture diagrams to understand all of the different pieces. Play around with tools like Postman to practice making API calls. This will give you a firsthand understanding of how data is manipulated and transferred within your systems.

Application in Product Development: Understanding what APIs are, how they work, and which APIs exist within your product lets you take several more steps forward in conceptualizing features and integrations before asking for an engineer to figure it out for you. Grab links and code samples from the documentation for bug reports, product briefs, or general pitches to help your team get a better sense of what you want to do and how they might go about making it happen.

Mastering Technical Documentation for Clear Communication

Technical documentation is not just for developers. Being able to understand and articulate the information it contains is crucial for all team members. This skill is indispensable for troubleshooting, explaining product features, and ensuring that everyone is on the same page. Gitlab is quite possible the ultimate example of a company who priotizes clear and helpful documentation, open sourcing their entire company handbook and maintaining a clear style guide for their docs.

How to Develop This Skill: Regularly read through your technical documentation and identify areas where it could be more clear. Take a crack at writing an update and submitting it(like a pull request). This process requires you to first find the information and then to understand it well enough to explain it. The whole “teaching is the best way to learn.” thing is absolutely true.

Application in Product Development: Learning to decode your own product’s documentation helps you understand what it does and how it does it. Understanding ot documentati’ documentation opens a whole new world of possibilities in terms of integrations, enhancements, product partnerships, and more.

Navigating Product Architecture for Strategic Insights

A basic yet comprehensive understanding of your product’s architecture can provide significant insights into system functionality and integration points. Recognizing how different components of your product interact and depend on each other helps in identifying potential problem areas and planning for future development.

How to Develop This Skill: Participate in architecture review meetings or arrange for a walkthrough with a developer. Understanding your product's high-level architecture allows you to better grasp its capabilities and limitations.

Application in Product Development: Knowledge of product architecture is crucial for anticipating the impacts of changes, strategizing updates, and ensuring the product's scalability and robustness.

Foundational Data Knowledge for Empowered Decision-Making

In today’s data-driven world, having a basic understanding of data structures, databases, and data flow within your product is invaluable. This knowledge is particularly beneficial for roles in marketing and customer support, where data analysis plays a crucial role in understanding and predicting user behavior. Digital marketing evangelist Avinash Kaushik, has discussed how a strong grasp of data fundamentals can empower teams to make more informed, impactful decisions.

How to Develop This Skill: Every time someone asks me how they can get a better understanding of basic analytics, I tell them to go take the free Google Analytics training. Not just because it’s one of the most widely used analytics platforms on the planet but because they do a good job of teaching you through the business context of why you would care about any of the data on the screen. I’ve read, watched, or listened to many different “training materials” that jump right into the core concepts of properties, events, etc., and I know from first-hand experience that is a great way to lose someone who is new to the space and interested in understanding how the data relates to their product, users, or impact.

Application in Product Development: This knowledge enables you to analyze user data more effectively, leading to better product decisions, enhanced user satisfaction, and ultimately, a more successful product.

Incorporating these skills into your repertoire not only enhances your role within the product team but also deepens your overall understanding of the product landscape, paving the way for innovative solutions and strategic advancements.

Drawing the Line: Understanding vs. Doing

It’s crucial to understand where to draw the line when it comes to acquiring technical knowledge. While developing a solid foundation in technical skills can be highly beneficial, it’s not always necessary to immerse yourself in the complexities of coding or other highly specialized areas unless they are directly relevant to your role. Instead, focus on gaining a comprehensive understanding of how things work and why they function in a particular way, instead of attempting to build or fix them yourself.

I tell my teams (every role) that they should actively be looking for the work that they are uniquely suited to take on or best at, and avoiding the things that they “could do” whenever possible. Nontechnical team members tend to have unique perspectives on the product, the users, and the potential customers, so leverage the technical knowledge in those roles rather than trying to take on a new one. The goal is not for you to become an engineer.

To make the most of your learning efforts, it’s essential to identify the key technical areas pertinent to your role and prioritize your learning around those topics. Trying to learn everything about every piece of the product is the fastest way to become overwhelmed and give up on the concept entirely.

In the end, developing a technical understanding of your product isn’t just about gaining knowledge—it’s about enhancing your effectiveness in your role, improving team collaboration, and delivering a better product. By fostering curiosity and gradually building your technical skills, you can unlock new opportunities for personal and professional growth. So, embrace the challenge, ask questions, and take the first step towards becoming more technical today.

The FAQs for “Why”

A lot of people struggle to see the applicable benefit of developing technical knowledge and skills in non-technical roles. So, I figured I’d share this pre-emptive FAQ based on conversations I’ve had with people I’ve directly managed or worked with.

How Does Having a Technical Understanding of the Product Help the Marketing Team?

Understanding the technical aspects of the product allows the marketing team to communicate more accurately and compellingly. It enables marketers to articulate the product's value propositions clearly, differentiate it from competitors, and address potential customer concerns with precision.

How to Develop This Skill: Marketers should spend time with the development team to understand the product's capabilities and limitations. Engaging with technical documentation and participating in product demos can also be incredibly beneficial.

Application in Product Development: This technical insight allows marketers to create more effective campaigns, improve customer engagement, and ultimately drive sales by aligning marketing strategies with the product’s technical strengths.

Why Would Being Technical as a Customer Support Rep Help Me Advance My Career?

For customer support representatives, a technical understanding of the product is crucial for troubleshooting issues efficiently and providing high-quality support. It also opens up opportunities for career advancement into roles like technical support specialist or product manager.

How to Develop This Skill: Engage in technical training sessions, shadow developers, and practice resolving technical issues using the product’s documentation.

Application in Product Development: This technical knowledge enhances the support team's ability to solve customer issues quickly, leading to higher customer satisfaction and loyalty.

---

Does a Designer Really Need a Technical Understanding of How the Product Works?

Absolutely. For designers, a technical understanding ensures that designs are not only aesthetically pleasing but also feasible and functional within the product’s technical constraints. It also facilitates better collaboration with developers.

How to Develop This Skill: Designers should work closely with developers to understand the technical limitations and capabilities of the product. Learning about the product’s architecture and how different components interact can also be beneficial.

Application in Product Development: This knowledge ensures that designs are both innovative and implementable, leading to a smoother development process and a more cohesive final product.