↑ BACK TO TOP

Learning Tracks: Working With Developers

If you work with software engineers as part of your day to day, you'll need a strong technical foundation. This learning track will break down what concepts and tools you'll need to understand to be a great partner to all different types of developers. And impress your boss.

The basics

Whether you're working with frontend engineers, backend engineers, or even DevOps, there are some very important basics that all software development starts with. Nail these down and you'll be ready to get into more role-specific stuff.

🚨 What you need to know

  1. Everything starts with understanding what β€œcode” actually is.
  2. Code runs on a computer, powered by an operating system.
  3. The apps you use on the web run on special, powerful computers called servers in the cloud.
  4. Your computer talks to that server over the internet using a language called HTTP.
  5. Apps communicate with their internal systems, and other apps, via little interfaces called APIs.
  6. Apps are split into frontends and backends - the parts you see and the parts you don't.

🚧 What you should know

  1. It's useful to understand the entire process of how a feature gets made, from code being written to code being deployed.
  2. When developers make changes to code, they use a version control system to keep history and manage multiple contributors.
  3. Each computer - and other parts of internet connected networks - has an IP address, just like a house or PO box.
  4. Encryption is a foundation of the modern web, and allows people to communicate over the internet.

🚦 What's nice to know

  1. Applications can be closed source - where the code is proprietary to the company - or open source, where it's free to the public to view and use (under certain conditions, of course).
  2. You can create a private network of computers or servers called a VPN, which helps you shield your browsing data, or restrict access to things.
  3. There are a lot of parts of building apps that are ugly and often behind the scenes, like SSO and RBAC.
  4. You can programmatically get information off the web (like LinkedIn profiles) using a Web Scraper.

Working with Frontend Engineers

Frontend engineers focus on the parts of the app that you see and interact with. They build on top of the database and APIs that backend engineers are responsible for.

🚨 What you need to know

  1. Anything you access from your browser (on your laptop, phone, or even TV) is a web app.
  2. There are specialized software libraries for frontend engineers: the most in vogue one today is React.

🚧 What you should know

  1. Working with so many individual APIs can be tedious for frontend engineers: many use GraphQL instead to aggregate them all together.

🚦 What's nice to know

  1. A lot of developers are using low code tools today to automate some of their manual work, mostly on the frontend.

⌨️ Tools and products

  1. Postman is a popular tool for testing and working with APIs.
  2. Vercel is a "frontend cloud" for developers to build fast user interfaces for their apps.

Working with Backend Engineers

Backend engineers build and maintain the data and logic that powers apps: namely a production database, APIs on top of it, and any other workflows or business logic.

🚨 What you need to know

  1. Anything you access from your browser (on your laptop, phone, or even TV) is a web app.
  2. Every backend starts with authentication: building signup and login into your app so you can personalize it.
  3. Relational databases are the ABCs of backends: they're where you store the data your app needs, like your users and their settings.
  4. NoSQL databases are another popular way to store data, with less structure and more flexibility.

🚧 What you should know

  1. It's useful to understand all the different types of databases, what they do, and who uses them.
  2. To standardize the environment that code gets run in, many developers use Docker containers to package up their code and what it needs.
  3. When you need to deal with serious amounts of traffic, Kubernetes helps organize and orchestrate multiple containers together.
  4. A new paradigm called serverless helps backend engineers save time and avoid managing infrastructure directly.

🚦 What's nice to know

  1. Webhooks allow developers to build workflows that respond to a particular event happening, like a new order being submitted.
  2. An ORM helps developers translate database-speak into app-speak.
  3. To speed up load times and responsiveness, developers built little waystations called caches that help avoid pulling the same data twice.
  4. GraphQL wraps multiple APIs into a single, easy to use system where you can just tell it what data you want.
  5. To protect sensitive data like credit card numbers from hackers, some backend engineers build tokenization systems.

⌨️ Tools and products

  1. Twilio helps backend engineers build communication workflows, like SMS and email automation.
  2. Okta provides authentication as a service products for developers at larger companies.
  3. Postman is a popular tool for testing and working with APIs.
  4. Docker is the most popular software for creating and running software containers.
  5. MongoDB is a popular type of NoSQL database for applications.
  6. Algolia is a tool that engineers use to build search experiences into their apps.
  7. Stripe provides APIs to backend developers building payments systems (like accepting credit cards).
  8. Plaid helps backend engineers connect their applications to financial institutions and data.
  9. Elastic is a tool for storing and searching unstructured data, like server logs.
  10. Heroku is (was) a cloud provider where developers can easily deploy their apps without thinking too hard.

Working with Full Stack Engineers

Full stack developers cover, well, the whole stack - both the frontend and backend. If you're working with them, you'll want to cover both the frontend and backend tracks.

Working with DevOps Engineers

DevOps engineers are responsible for making sure a company's application runs smoothly and responsively. They spend their time on building testing pipelines, monitoring and alerting, and infrastructure.

🚨 What you need to know

  1. What even is DevOps? It's basically the discipline of making sure your app runs smoothly, and any changes to it can get integrated fast.
  2. DevOps engineers build CI/CD pipelines to test that new code changes won't break the system and run quickly.

🚧 What you should know

  1. To standardize the environment that code gets run in, many developers use Docker containers to package up their code and what it needs.
  2. When you need to deal with serious amounts of traffic, Kubernetes helps organize and orchestrate multiple containers together.
  3. A new paradigm called serverless helps backend engineers save time and avoid managing infrastructure directly.

⌨️ Tools and products

  1. Datadog helps DevOps teams monitor how their application and infrastructure is performing in real time.
  2. New Relic also helps DevOps teams monitor how their application and infrastructure is performing in real time.
  3. Docker is the most popular software for creating and running software containers.
  4. Hashicorp makes tools for setting up and managing infrastructure across your organization.
  5. Cloudflare provides networking tools to developers, like domain name servers that associate a URL with an IP address.
  6. JFrog makes tools for CI/CD.
  7. Gitlab also makes tools for CI/CD.
  8. Elastic is a tool for storing and searching unstructured data, like server logs.
  9. Splunk is also a tool for storing and searching logs, specifically focused on security for DevOps.
  10. Heroku is (was) a cloud provider where developers can easily deploy their apps without thinking too hard.

Technically learning tracks help make the world of software simple and digestible, so you can be better at your job. There are more on the way!

Ideas for other learning tracks? Ways we can improve this one? Let us know.