How To Work With Engineers
How To Work With Engineers
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.
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. When an app goes down, it's called an outage, and there are about a million reasons it can happen.
5. Encryption is a foundation of the modern web, and allows people to communicate over the internet.
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.
5. Passkeys are a way to securely sign into apps and websites without needing to remember a password or
username.
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.
1. Working with so many individual APIs can be tedious for frontend engineers: many use GraphQL instead to
aggregate them all together.
1. A lot of developers are using low code tools today to automate some of their manual work, mostly on the
frontend.
There are a lot of low code tools out there for all different types of use cases, and we've grouped them
together for you.
1. Postman is a popular tool for testing and working with APIs. PAID
2. Vercel is a "frontend cloud" for developers to build fast user interfaces for their apps.
3. Snyk helps developers make sure that the code they're writing is secure and free of vulnerabilities.
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.
You can go more in depth on production databases. PAID
4. NoSQL databases are another popular way to store data, with less structure and more flexibility.
5. A schema is like the blueprint for your database. PAID
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.
5. Platform as a Service (PaaS) makes it easier for developers to deploy apps in the cloud. PAID
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. Integrations are how two pieces of software talk to each other and share data.
6. Why do developers need both databases and APIs? What's the point of the API? PAID
7. When the shape of your database meaningfully changes, you need to run what's called a migration. PAID
8. WebAssembly is an experimental technology that allows developers to build really fast web applications that
run in your browser.
9. To protect sensitive data like credit card numbers from hackers, some backend engineers build tokenization
systems.
1. Twilio helps backend engineers build communication workflows, like SMS and email automation. PAID
2. Okta provides authentication as a service products for developers at larger companies. PAID
3. Postman is a popular tool for testing and working with APIs. PAID
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. PAID
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. PAID
10. Heroku is (was) a cloud provider where developers can easily deploy their apps without thinking too hard. PAID
11. Snyk helps developers make sure that the code they're writing is secure and free of vulnerabilities. PAID
12. Zapier is a tool that helps business people make custom integrations between their favorite tools. PAID
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.
You can go more in depth on CI/CD pipelines. PAID
3. Observability is how developers know what's going on with their different systems and operations.
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.
4. Platform as a Service (PaaS) makes it easier for developers to deploy apps in the cloud. PAID
1. Datadog helps DevOps teams monitor how their application and infrastructure is performing in real time. PAID
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. PAID
5. Cloudflare provides networking tools to developers, like domain name servers that associate a URL with an IP
address. PAID
6. JFrog makes tools for CI/CD. PAID
9. Splunk is also a tool for storing and searching logs, specifically focused on security for DevOps. PAID
10. Heroku is (was) a cloud provider where developers can easily deploy their apps without thinking too hard. PAID
11. Sentry is an error-tracking and performance-monitoring platform to help developers diagnose and fix issues in
their code. PAID
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.