Ask a fresher what skills are needed to land an IT job, and they generally know — Data Structures, Algorithms, and Databases. But ask them what skills they should learn to do better at their jobs, and get ahead of their peers, they’re generally not sure, even after they’ve landed a job.
In this blog post, I attempt to write what skills you should know if you’re working in IT / Web Development when you’re getting started —
- Foundations: VCS (preferably GIT), Unit Tests, Bash, Static vs Dynamic Typing, REST — Response Codes, Headers, Conventions
- Clean Code: Fundamentals of Clean Code, Modularity and Abstraction, Mocks and Stubs, CI/CD, Code Coverage, Static Code Analysis, Domain vs Value Objects, Code Reviews and Pair Programming.
- Service and API Development: Basics of a Webserver, REST API Design, Routing, MVVM/MVC, Layered Architecture, Environment Segregation, DB Migrations, Security, ORM, Working with External Dependencies
- Devops: SSH and SCP, Understanding Cloud Platforms, Remote VMs/Containers, VPCs, Basics of Networking, Key Management, CDNs, Cron Jobs / Scheduling, Platform CLIs, Deployment, CI/CD Pipeline Setup
- Frontend: HTML/CSS/JS, DOM Manipulation, Browser Debugging Tools, Fetch / XHR, Proxy / Reverse Proxy, CORS, Routing & Redirection, Closures, Promises, Frontend Testing Frameworks, Mock Servers, Frontend Development Frameworks (such as React or Angular)