Technical Concepts For The Non-Technical Product Manager


Technical Concepts For The Non-Technical Product Manager

I have a confession to make.

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.

I am, in fact, a non-technical product manager. And that’s fine.

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 its 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 bits of information about the location we want the map to cover
  • Google responds with a map which you can display in 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’s 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, description 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 mean 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 layout 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

.