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:
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:
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:
Some frequently used phrases when discussing APIs are:
More information:https://blogs.mulesoft.com/learn-apis/api-led-connectivity/what-are-apis-how-do-apis-work/
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/
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 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
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 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