Job Requirements
Learning Roadmap
These are the fundamentals that every engineer should master early in their career. They are, in rough priority order:
- Computer & Network Basics
- Operating Systems and their role
- The kernel on Linux and what it does
- CPU, Disk, and Memory
- Aware of basic networking concepts
- HTTP and TCP/IP protocols
- Domain Names/DNS
- IP Addresses and ports
- Routers, switches, LAN, WAN
- HTTPs, TLS/SSL
- Version Control
- Understand why and how it’s used
- Learn Git, since it’s the most common (but know there are others)
- Know how to clone a repo
- Know how to create and manage branches
- Know how to add remotes and push to them
- Know how to add tags
- Know about merging vs. rebasing
- Learn about GitFlow and how its used in your organization
- Learn Bitbucket and Github
- Know how to initialize repositories and push to them
- Basic Terminal Commands
- Navigate directories
- Create new files and directories
- Know the basics of users and file permissions
- Know how to install new packages
- SSH and creating SSH Keys
- Understand options (ex:
--help
)
- Know how to read man pages and other help resources
- Basic programming components and syntax:
- Variables
- Keywords
- Loops
- Functions
- Operators
- Truthy vs. Falsey
- File I/O
- Data Types, Data Structures, and their relationship to Algorithms
- Are able to identify basic data types and data structures, especially in your main language
- Primitives: Strings, Integers, Booleans
- Basic Data Structures: Arrays, Objects
- Advanced Data Structures: Stacks, Heaps, Binary Trees
- Understand the difference between a class and an object instance
- Understand what an algorithm is and how complexity is measured
- Have knowledge about one or two algorithms and the data structures they interface with (ex: sorting a list, searching a grid with a stack, etc.)
- The basics of how the Internet works and its history
- Know how web requests are structured and how browsers make them
- DNS and IP addresses
- HTTP/HTTPS
- Webservers (apache, nginx)
- Fundamental HTML and CSS
Reading List