Curriculum Developer ·
Needs advice

Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?

24 upvotes·197.2K views
Replies (5)
Head of Engineering - AIOps at Microsoft·

Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.

Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!

Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.

Hope it helps!

13 upvotes·1 comment·279.7K views
rjp 777
rjp 777
December 29th 2021 at 12:20PM

thanks for sharing


Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.

5 upvotes·189.9K views
View all (5)
Avatar of Prashant Singh Ahluwalia

Prashant Singh Ahluwalia

Head of Engineering - AIOps at Microsoft