It’s 2019 and “Hehe, I’m just technology impaired” is no longer acceptable. Computers, software and technology generally is ever-prevalent and getting up to speed is absolutely achievable. If you’re a product manager, project lead, salesperson or any other tech-adjacent person and you want to get up to speed on some tech lingo, strap in!
API stands for Application Programmable Interface, easy right? Yet another fantastic example of how hearing the full length of tech initialism doesn’t make it any more digestible. An API is essentially a standardised way of communicating to an application. When two programs want to talk to each other they send or receive messages from one another, an API is used to outline, what kind of questions can be asked, how to ask them, and what kind of answer to expect.
GitHub is not the place where all the unpleasant people hang out, instead of a ‘source control’ system. Essentially, once the devs are ready to share, or store their work, they give it to GitHub and GitHub looks after it. Git is a method of controlling software so that the person or people who work on it can track changes, work collaboratively, add their changes, and have others review their work before it’s added to the main version. Look out for another tech lingo breakdown covering off some git specific terms like Pull Request (PR), branches, forks, blame (does what it says on the tin), commits, and the dreaded ‘MERGE TO MASTER’.
Databases come in a few different flavours, but the best way to think of them is a series of spreadsheets sitting on the back of an application. When you use your Facebook Messenger app, the little application goes to it’s People’s friend’s spreadsheet, finds the Daniel row, and gives it the list of all (2 of) my friends. Then it goes and finds the conversation spreadsheets, looks for the ‘Daniel talking to his Mum’ row and gives back the list of all their words to each other.
Machine Learning is definitely ‘the new black’, cropping up in everything from agriculture tech to making the perfect coffee. The phrase is probably common enough, that you’ve got a sense that Machine Learning is when a program learns to do a task on its own, often the idea is that it does it better than a human. What you might need to know is how it works; to bastardise a phenomenal quickly growing industry: to do machine learning, a system is taught (programmed) how to do (or observe) an activity.
The system is then taught to measure the outcome of the activity in an objective way to define not only if something happened, but to what degree. Next the system is then taught how to alter the activity in some way. Then the feedback loop begins, the system tries, changes, measures, and tries again. At this point an algorithm is applied, often these are standardised or well-established algorithms, other times they’re handwritten.
The algorithm is what tells the system how to implement the feedback loop, what to change, to what degree and then how to use the resulting measure, to change and intelligently respond the next time. Over time, this iteration starts to refine better and better methods (this process is known as ‘training’), until it identifies the best combination of changes to make for the activity, and you end up with a perfect coffee, or Deep Dream’s horrific deformed Shibu Inu.
If you want to see what Google Deep Dream Generator trying to learn looks like while it’s thinking about our team, here’s a quick picture: