Are you a Senior Developer & struggling to switch your job?

Here's a thread on how you should prepare before sending out job applications:

🧵👇🏻

First of all know that there's a lot of demand for good software developers.

It's hard for companies to hire good mid level developers. Some of the interviewers I've talked to recently have mentioned this!

So, if you're good, you can always get into a high paying job.
I have 6.5 years of experience mainly as a Backend Developer. Although I do work a bit of front-end tasks as well as part of my current job.

In this thread I'm going to talk about how I would prepare if I was going to apply for a job interview.
As a mid level developer having 4 - 8 years of experience, you will be expected to have certain skills to be hired by companies. Skills like:

- Problem Solving
- HLD
- LLD
- Mentoring / Code reviews
- Taking responsibility
- Leading end-end development & release of projects etc
Problem Solving:

Even though we mostly never write a lot of game changing Algorithms and use data structures, you're still expected to know the most common ones and how to use them to solve problems:

- Tree
- Linked List
- Heap
- Hash Map
- Array etc
You should practice solving Algo & DS questions which are typically covered in the first round of your interviews.

Leetcode is a good choice and covers most of the common questions and the concepts one needs to know.
Practice for about 2 months to solve around 100 questions in Medium and Hard categories.

You can start with Easy questions. But that's just to get into the zone since you might not have solved these questions in years.

But focus on Medium and Hard questions on Leetcode.
A very important point to note is that don't try to remember solutions to questions. It's never gonna help you. If you're doing that, you're just wasting your time.

Instead focus on learning the most common techniques used to solve Algo & DS questions.

https://t.co/IfUEwcDuCN
When preparing for this round, practice writing code for each of the solution in any languages of your choice.

Just knowing how to solve a problem is not enough, you should be able to write bug free code in the given time.

This round gives a good idea about your coding skills.
System Design:

System Designing is another important skill you will be evaluated on. This includes both LLD and HLD.

LLD -> Low Level Design
HLD -> High Level Design
Low Level Design:

Typically LLD rounds focus on low level components of a system which covers below skills:

- class design
- design patterns
- OOP principles
- SOLID principles etc

Here's a reference:
https://t.co/lg4z7gPCy0
Here's a great course to prepare for LLD round "Grokking the Object Oriented Design Interview":

https://t.co/COPTtHXPCQ
High Level Design:

In a HLD round, you'll be given a problem statement and you're expected to design the high level components involved in the system. You need to take care of different use cases which cover

- fault tolerance
- high availability
- data flow
- downtime etc
Here's pretty famous course to prepare for HLD round: "Grokking the System Design Interview"

https://t.co/Su63FPMFxH
Managerial / Culture Fit:

Another important round is either a Managerial / Culture fit round. Which typically involves discussions around your previous projects, challenges you faced and other standard questions like:

- Most challenging problem
- Strengths / Weaknesses etc
To prepare for this round you should know your current project in and out.

You should know about all the different corner cases handled in important features, the design decisions taken, the services chosen etc.
For Example you should know:

- why a SQL database is used in your service?
- why a redis cache is used?
- why a SQS queue is used?
- how a particular error case is handled ?
- when an internal goes down how is scenario X handled?
I cannot emphasise enough on knowing your current project thoroughly.

If you're able to justify all the questions asked on your current project, the interviewer will be impressed & will know that you're actively contributing in the project.
Last but not the least, be prepared to ask right questions at the end of every interview. Asking right questions shows that:

- you're genuinely interested in the company
- gives a good understanding of their tech stack, work, work culture, policies etc
- helps to make a decision
Here's a complete guide (by @RandallKanna) for developers on Job Hunting, Acing the Interviews & Landing the job:

https://t.co/JmG4SKCYYQ
If you like this thread please retweet the first tweet to help me reach more people.

Download my free e-book which contains all of my viral content from the past 8 months here: https://t.co/xCLUcGqZMF

More from Sunil Kumar

Are you a web developer?

Here's a list of websites that offer free & beautiful website templates:

🧵👇🏻

1. HTML5UP: Very modern, unique responsive HTML5/CSS3 themes
https://t.co/Nx1IWM7Kho

2. Templatemo: Minimal, resume, gallery themes and more
https://t.co/IRtOxrujUh

3. Templated .co: Tons of minimalistic HTML5/CSS3

4. FreeHTML5: Free & premium HTML5 and Bootstrap themes
https://t.co/YFVkiDM3Th

5. StyleShout: Brilliantly crafted free website templates
https://t.co/AaGAkGlLTV

6. Start Bootstrap: Bootstrap starter

7. Zerotheme: HTML5, Bootstrap, Prestashop templates
https://t.co/UtlaNxGh6Q

8. HTML5xCSS3: Collection of wonderful templates in different categories
https://t.co/fm4AOthUdR

9. Colorlib: Almost any category of theme you can think

10: Free CSS: Huge collection of free templates
https://t.co/S5yQrkp1eq

11. Hubspot: Templates, infographics, banners and much more
https://t.co/T10zTgkIzp

12. Mobirise: Great looking HTML5/CSS3
Are you a web developer?

Here's a list of websites that offer free & beautiful website templates:

🧵👇🏻

1. HTML5UP: Very modern, unique responsive HTML5/CSS3 themes
https://t.co/VmAFs2xEUO

2. Templatemo: Minimal, resume, gallery themes and more
https://t.co/hCVsSqg3dx

3. Templated .co: Tons of minimalistic HTML5/CSS3

4. FreeHTML5: Free & premium HTML5 and Bootstrap themes
https://t.co/HqCj21RVry

5. StyleShout: Brilliantly crafted free website templates
https://t.co/AeNAAvmiYx

6. Start Bootstrap: Bootstrap starter

7. Zerotheme: HTML5, Bootstrap, Prestashop templates
https://t.co/WZtbW1gZzv

8. HTML5xCSS3: Collection of wonderful templates in different categories
https://t.co/g47dzRhSnW

9. Colorlib: Almost any category of theme you can think

10: Free CSS: Huge collection of free templates
https://t.co/JzQgKmBBGJ

11. Hubspot: Templates, infographics, banners and much more
https://t.co/T2jAlXYH8E

12. Mobirise: Great looking HTML5/CSS3

More from Tech

Next.js has taken the web dev world by storm

It’s the @reactjs framework devs rave about praising its power, flexibility, and dev experience

Don't feel like you're missing out!

Here's everything you need to know in 10 tweets

Let’s dive in 🧵


Next.js is a @reactjs framework from @vercel

It couples a great dev experience with an opinionated feature set to make it easy to spin up new performant, dynamic web apps

It's used by many high-profile teams like @hulu, @apple, @Nike, & more

https://t.co/whCdm5ytuk


@vercel @hulu @Apple @Nike The team at @vercel, formerly Zeit, originally and launched v1 of the framework on Oct 26, 2016 in the pursuit of universal JavaScript apps

Since then, the team & community has grown expotentially, including contributions from giants like @Google

https://t.co/xPPTOtHoKW


@vercel @hulu @Apple @Nike @Google In the #jamstack world, Next.js pulled a hefty 58.6% share of framework adoption in 2020

Compared to other popular @reactjs frameworks like Gatsby, which pulled in 12%

*The Next.js stats likely include some SSR, arguably not Jamstack

https://t.co/acNawfcM4z


@vercel @hulu @Apple @Nike @Google The easiest way to get started with a new Next.js app is with Create Next App

Simply run:

yarn create next-app

or

npx create-next-app

You can even start from a git-based template with the -e flag

yarn create next-app -e https://t.co/JMQ87gi1ue

https://t.co/rwKhp7zlys

You May Also Like

1/ Some initial thoughts on personal moats:

Like company moats, your personal moat should be a competitive advantage that is not only durable—it should also compound over time.

Characteristics of a personal moat below:


2/ Like a company moat, you want to build career capital while you sleep.

As Andrew Chen noted:


3/ You don’t want to build a competitive advantage that is fleeting or that will get commoditized

Things that might get commoditized over time (some longer than


4/ Before the arrival of recorded music, what used to be scarce was the actual music itself — required an in-person artist.

After recorded music, the music itself became abundant and what became scarce was curation, distribution, and self space.

5/ Similarly, in careers, what used to be (more) scarce were things like ideas, money, and exclusive relationships.

In the internet economy, what has become scarce are things like specific knowledge, rare & valuable skills, and great reputations.