15 LPA+ web dev job checklist
Steps to be on top of the hill, no matter your college or background
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.
knowledge base
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.
Core JS Skill: Using frameworks is good. And will get you a job, but if you're aiming for something top-notch, ask yourself, can I write plain JS? I am not talking about just vanillaJS based DOM scripting. I am talking about writing plain libraries or code in JavaScript. Can you write your own (toned-down versions of) Redux, React Router, your own polyfills, your own lodash, etc?
Basics of Optimising Web for Performance and how these things can help in making your web apps faster, the basics:
Critical Rendering Path
CDN
Caching
Bundling
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
CSRF
XSS
HTTPS
CORS
Clean Coding:
variable and function naming
file and folder structure
proper error handling
modularity
usage of comments and documentation
Tests added
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/
tangible skills
CSS
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.
PreProcessors
PostCSS
SaSS
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.
Tailwind
Bootstrap
Material UI
CSS-in-JS and modern tooling around it.
Styled Components
CSS Modules
Typescript
Basics of TS
Using TS in a React app. One or more projects completely built on React
Testing
TDD
Best practices
Jest
Unit Testing
Integration Testing
react-testing-library
E2E Testing
Tooling
DivOps (a playful naming for DevOps for FE)
npm scripts
Webpack and Optimisations
Github Actions
Full Stack
Backend on NodeJS or any other language
Anyone DB, and ODM. Preferably,
NodeJS with MySQL + Sequelize or
Mongo + Mongoose combo
Authentication
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.
Realtime Backend: Web Sockets. And consuming them on FE with JavaScript to make a real-time app.
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
communication
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
StackOverflow Reputation
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.
overall knowledge
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
web assembly,
PWA,
React Native,
Reconciliation
GraphQL,
Electron,
SSR,
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
next steps
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 🙏
hello sir, thank you so much for this valuable information, you are really changing lives of middle class student like me, you are guiding light for someone who lost his track & was confuse about future....May lord krishna bless you..
This is awesome.❤️ Currently, I'm in the final year and aiming for roch8 for the subsequent batch hiring. Also, eagerly waiting for your next blog's detailed strategy.🙊