A lot of times we run into founders that are building their first company. While they are perfect when it comes to their enthusiasm, passion and will to succeed, sometimes they lag on knowledge of technical jargons and terms that developers may use when they communicate to them. Now, at this point, it sometimes becomes difficult for founders to fathom and they find themselves in a situation to choose between the devil and the deep blue sea- whether to nod along or to ask and seem foolish. Well, fear not, I have created here a ready reckoner to all the frequently used terms by developers. This is intended to help founders understand and communicate in a better way.
A platform usually has 2 parts
Database is the record of all data that is put in an organized manner. This would consist of user profiles, user data such as posts and photos and would usually have different levels of access.
Hosting is putting your website or app on a server so that it is available on the internet.
Putting all of the above together forms the architecture. Software architecture is the putting together of the various systems- frontend, backend, database etc and setting them up to work together.
APIs are the bridge through which two parts of software or two different softwares talk with each other. When you access Facebook, the backend and frontend are connected through APIs as well as when you use the platform to send messages or do a transaction where Facebook and some other platform is involved, then too you are using API.
As discussed earlier, the application runs on servers. Servers are actually computers only but rather than having to invest in buying your own computers to act as a server, you use these computers from companies like Amazon, Google, etc. These companies have invested in putting together millions of such machines that you can rent from them on a pay-as-you-go basis.
IP addresses are how your website is recognized on the web. Typically we type in a website address to access it, but for the internet, these names are having unique addresses in the form of a combination of numbers.
Google’s IP address is 18.104.22.168. So if you copy-paste this number into the browser you will be able to access Google.com
When you host your website (submit it to the server) you get an IP address. It’s like a home address. You can find IP addresses from your windows (Open the command prompt and type in “tracert”) or Mac (Go in spotlight>Network Utility> Double Click and to traceroute) as well as from websites like Uptrends.
The staging server link is shared by the team and used for testing. Whenever new changes are made, they are added to the program that is hosted on the staging server. This way everyone in the team can test the platform. Once changes are verified and tested they are added to the live platform which means your users can start using the new features.
When the Facebook team builds a new feature, they are first tested internally by them on the staging server. If bugs are found, these are fixed. Such a loop keeps happening until the team finds that no bugs are there and then the new module is added to the existing platform and people throughout the world can use the new features now.
You may have seen that Facebook even deploys to few people first and then to others. This is possible because of the staged rollout strategy for mobile apps as well as the web. This is super useful when you have a large audience from different part of the world.
A query is a way to get something from a database. Since your database has a lot of data. Querying is the formal way the system can get data from a database.
The system requires data all the time. For example when you log into Facebook, the system asks that database if there is a person with username “XX” and this is his password “YY.” If the same is true, show his page. That’s how you get to see your page.
Similarly your every action like checking photo, liking or commenting or even deleting is an order to the database through the query.
Logging is about keeping logs of the actions happening in the system. Logs are helpful to find out what actions occurred in the systems and when and then be able to identify if there was any unexpected behavior during any of the actions. Logging is very useful to do root cause analysis of crashes and bugs.
Analytics includes capturing user data and understanding from where users are coming, where they are spending time, what all actions they are doing on the platform, where they are exiting. Collecting this data helps you understand user behavior. Using user behavior, you can make changes to flow in the product. You can also change the communication, highlight things where you want users to go and make strategy and marketing plans accordingly.
So these are the different things that would be useful for you at different stages of your product journey. Further, I advise if you come across any terms that you do not understand, don’t feel shy to ask. While sometimes it may feel like developers are speaking a different language, you will find most of the things are simple to understand, once you have the basic understanding. Always ask and Use Google.