There's no checklist for 12LPA or higher-paying jobs. Currently, most of our placements are between 4.5-6.5LPA. Considering that our hiring partners don't care about college, GPA, or any background and that they offer these packages with simple interviews just because of projects in portfolios is a good turn in hiring space overall.
Anything above 6.5LPA is considered an above-average package in web-dev (except for top colleges). To get above average placements one needs to be above average as well. Treat the below list as something for the 4.5-15LPA+ range and depending on how many skills you have outside your 5 projects and 3 blogs we might find a good fit for you.
Before going deep, I would like to point out that we can only send you for interviews, clearing is completely on you. With that clear, moving ahead.
Note: If you’re new here, and you don’t know who’s the “we” I’m talking about, it’s the roc8.careers team. We are revolutionizing tech hiring in India by making it move away from core DSA based rounds to project-based hiring. To know more check out https://roc8.careers.
Problem Solving: While the core of roc8 is on project-based hiring. The interviews for the company that pays anything above 9LPA would involve some PS/DS round. Don't expect something as complicated as Red Black Tree but at the same time knowing which data structure to use where, when to go for hashmaps and when to go for Linked Lists are important. Your understanding of the data structures is important at this range.
Basics of Optimising Web for Performance and how these things can help in making your web apps faster, the basics:
Critical Rendering Path
Expectation: Don't need to try everything on your app but having knowledge of the tools and techniques is a sure plus. Refer this to know about more topics: https://developer.mozilla.org/en-US/docs/Web/Performance
Basics of web security
variable and function naming
file and folder structure
proper error handling
usage of comments and documentation
Agile methodology: Software is developed in iterations and versions. Do you know what's agile? Do you open issues and PRs on your repo? Do you have some idea of Project Management? To start with you can use these features on Github itself: https://github.com/features/project-management/
vanilla CSS: Do not overlook CSS basics for frameworks when you're targeting this salary range. Given any screenshot, any interaction (hover, animation, etc) from a website you should be able to do it in plain CSS without any tool/framework.
Design Sense: You don't need to be a designer but understanding typography, consistent padding, and margin, knowing about primary secondary color in web design, etc. are a huge plus. You should understand UX, usage of colors and animations to attract attention.
Frameworks (one or two of these) Expectation is that you understand how frameworks work. Not that you're fluent in these syntaxes. But the core of all frameworks is the ability to theme and consistency.
CSS-in-JS and modern tooling around it.
Basics of TS
Using TS in a React app. One or more projects completely built on React
DivOps (a playful naming for DevOps for FE)
Webpack and Optimisations
Backend on NodeJS or any other language
Anyone DB, and ODM. Preferably,
NodeJS with MySQL + Sequelize or
Mongo + Mongoose combo
JWT and middleware based auth
PassportJS or something similar to do OAuth
Note: Auth with Firebase is simple but you don't understand the basics of auth and thus, get limited to a tool.
React Frameworks: Knowledge of NextJS is a big plus and if you have projects to show in that you would stand out. Know Gatsby but not just for static sites. Have projects to showcase your knowledge of JAMStack.
Project Variety: Developing plugins for browsers, VSCode, bots for Discord, ESLint plugins, etc, or any such tool to showcase that you can work outside the MERN stack. It shows that you can read documentation aimed at devs and work with different APIs. Consider doing one or two such projects (outside the 5 you have submitted for roc8) to showcase these skills as well.
a11y: Basic understanding of semantic HTML. Knowing WCAG is a huge plus, even more, if you are able to use these in a React app. A good starting point would be: https://developer.mozilla.org/en-US/docs/Web/Accessibility
Teams work exceptionally well when members are helpful and expert at written and vocal communication. This is even more important in the remote work world in which we are living. Similar to how we use projects to showcase our programming skills, question is, how can we show our communication skills?
Technical Blogging, not just for the sake of roc8. Have consistent blogs documenting your learning journey for over a year. Even better if you're writing specifically on web dev and you have a newsletter.
Open Source: Issues, PRs, helping others on forums like Reddit
Technical Talks: Not in the international conferences but definitely some in local meetups would be a lot helpful.
Propensity to guide others: Mentorship in college, Discord servers etc.
Developer Story and engagement on Twitter and LinkedIn
Clear and Concise Documentation for all your projects on Github.
not just for the sake of roc8. Have consistent blogs documenting your learning journey for over a year.
Nobody expects you to know everything, but if you're aiming to be on top then people definitely expect you to be plugged into the ecosystem. This means that words like
SSG and many more, shouldn't sound foreign to you.
Some idea about what's happening in other frameworks as well: VueJS, Angular, Preact, Svelte, etc
For the next few days, use this list to calibrate yourself and see where you are. The question which might be popping up in your head if you’re graduating would be, “Should I learn everything on the list and apply for jobs or go for jobs and keep learning?”. I have the answer to that as well but as always it’s a detailed answer and I’ll send it in the next newsletter.
Comment with your score. Or, comment with any question you have. But do comment. Having conversations would make this doc even more clear for you and for subsequent readers.
Hey! If you’re new here, consider signing up for the newsletter so that I can reach your inbox with more web dev-related stuff. Thanks 🙏