Technical Concepts For The Non-Technical Product Manager
I’ve been in product management for too many years to mention, and I have never completed a Computer Science degree, and I have no technology certifications. In many organizations, they will only hire Computer Science graduates, but I’m here to tell you that many organizations do not need this, and you can happily make a career in product management without one.
HOWEVER …
You should not take that as an instruction to not learn about computer science subjects.
You should know how to solve problems using computers. You should know how technologies interact. You should know how to understand the data that is derived from technical products.
So here are six of the basic concepts for those starting out on the journey to understanding:
APIs
You’ve probably heard the engineering team mention APIs, and what it stands for is Application Programming Interface, as it’s a method for applications to talk to each other and pass data and messages.
They will typically be used in three scenarios:
Integrating with third-party systems
Allowing third-party systems to integrate with
Making it easier for your own product to function
Examples, where your product might integrate with a third party, would include allowing customers to pay via a payment provider, bringing in a map into your website from Google, or triggering the sending of an email via an email marketing tool.
The basic premise, has the user of your product triggering an API message that is sent to a server making a request for something, and then the server providing a response in a format that your product understands.
For example:
User clicks on a “Show map” button
An API request is sent to Google containing a request for a map and a bit of information about the location we want the map to cover
Google responds with a map which you can display on your product
Some frequently used phrases when discussing APIs are:
Requests and responses — this is the process we describe above, where one system makes a request via an API and the other system provides a response
REST — REST stands for representational state transfer and relates to a set of technical principles and characteristics that are used in creating APIs
HTTP Methods — Methods are the types of instruction that you make when you undertake an API request and the most commonly used are: POST, GET, PUT, PATCH, DELETE. For example, GET a map, POST this customer’s name to the database
Endpoints- An endpoint is the location of an API and where you should submit your request to. For example, www.google.com/maps/embed/v1/
API documentation- Every system that needs to use APIs needs to understand what the APIs do, how to access them, and what information is expected for things to work seamlessly. This is where the documentation comes in, as it defines all the requests you can make, how you should structure your requests, and what format the response will come in. Here’s an example of the Google Maps API documentation. if you want your product to use a third-party API, then the first thing you should do is get hold of the documentation so that your team can see how it works.
More information:https://blogs.mulesoft.com/learn-apis/api-led-connectivity/what-are-apis-how-do-apis-work/
Client-side or server-side
When talking to your engineering team you may well have heard them talking about things happening “client-side” or “server-side”, and this relates to whether the thing happening is on the user’s end of the process (e.g. in the web browser) or whether the thing that’s happening is on the server’s end of the process (e.g. a response to an API request).
Some technologies are client-side and run within your browser, such as HTML, CSS and JavaScript, whilst other technologies are server-side and run on the server before they get to your browser.
More information: https://www.cloudflare.com/en-gb/learning/serverless/glossary/client-side-vs-server-side/
Conditional statements
Computer programs use conditional statements to operate the rules that surround your product, and if you’re used to writing user stories as a product manager then you’re writing some yourself (albeit in different formats).
They work on the premise that the statement states what needs to happen given a set of rules.
If THIS THING HAPPENS, then DO THIS OTHER THING
For example, if the user enters numbers in their name, then show them a validation message, or if the user doesn’t provide their location, then tell them to add it in order to see the map.
Learning how to work through conditional statements will really help product managers understand what they want their user experience to be, as you are forced to think through different scenarios and determine the correct behaviour.
More information: https://www.computerhope.com/jargon/c/contstat.htm
Databases
Databases allow you to store data securely, in a way in which your product can access it, use it, and analyze it.
Most typically, your organization will be storing data in a SQL database, which allows you to structure your data into tables related to specific subject areas.
For example, your “customer” table might contain customer names, addresses, phone numbers etc…, and your “products” table might contain the name, descriptions and prices of products that you sell.
What’s important when it comes to databases is being able to join them together in ways that allow you to provide more in your product.
For example, you might have a “purchases” table, which records every customer purchase and this will need references in it that link together your customer table and your product table.
Databases are updated as information changes or activities occur, and so they are the home to the information on which your product operates.
More information: https://searchdatamanagement.techtarget.com/definition/database
HTML, CSS, JavaScipt
As we’ve mentioned above, HTML, CSS, and JavaScript are all client-side technologies, which means they are used to render things and provide in-browser interaction. They are often called “front end”, as they are in front of the user, as opposed to “back end” technologies, which operate behind the scenes on the server.
They are used to lay out what appears where on the screen, what they look like, and how they interact with each other.
If you’ve ever used a WYSIWYG editor on something like WordPress, what that’s doing is setting the HTML and CSS for the thing you are editing, just without you having to know how to write the code.
JavaScript is used to manage the interactions on the page, such as when you don’t complete a mandatory field in a form and the box immediately turns red and highlights your error, or when you’re running a filter across some products and use a slider to reduce the price you are willing to pay.
More information: https://www.itonlinelearning.com/blog/how-do-html-css-and-javascript-work-together/
SQL
SQL stands for Structured Query Language, and it is used to query data within databases, whether that is finding all the customers who have made a purchase or show me all products where the price is less than $100.
It is used when you are working with databases such as Oracle, Sybase, Microsoft SQL Server, or even Access, and you can use it to query, update, and reorganize data.
It’s a tool your data analysts will be using to create reports, and your engineers will be using to deliver search results.
If you can understand SQL, then you won’t be beholden to the data team to get you the data you need to make product decisions, as you’ll be able to query the data yourself.
More information: http://www.sqlcourse.com/intro.html