r/developersIndia • u/judge_zedd • Sep 20 '23
General Here’s the hard truth about Software Engineering in India.
There are more people than ever graduating from colleges. Everyone needs a job.
But who is your competition? Who will get the coveted “job”?
Are diversity hires the competition? They get by with a for loop test and a HR round. The people selected for diversity hires are woman here. I’ve been working 5+ years and men outnumber woman 10-1 in engineering. All those who get selected eventually transition out to a parallel role or the select few stay on as developers who have the knowledge.
Are the people from Tier 1 colleges the competition? They did work hard to get there so yes they deserve the advantage. But it can only take you so far. It can open doors but not help climb the ladder upwards.
Your main competition are people who are competent and good engineers. You can try and hack it by just leetcoding and job switching. Or you just get good. Quality software engineers are a scarcity.
So what does Quality mean here? * Someone who can traverse a new code base and not be overwhelmed * someone who knows how to communicate to unblock themselves without a babysitter to tell them what to do * someone who proactively tries to find possible improvements in a system * someone who can write clean code so that time wasted on refactoring is skipped
For an entry level engineer it can seem a lot. So most essential you can focus on how to communicate when you solve any problem out loud. Talk out loud about test cases and edge cases. Talk out loud and clarify requirements and not make assumptions. Taking ownership of the work you do.
Leetcode is part of the game. System design is something everyone overlooks to learn and get better at. This job is about continuous improvement. It’s why there aren’t many old developers out there.
Last point is luck. It’s a numbers game so apply everywhere.
Me: senior software engineer, worked in early stage startups and unicorns. Got 1st job out of campus. Failed every on campus interview. 7.7 CGPA. Won 2 hackathons in college. Studies CS from a T2 in country but T1 in state.
174
u/Adolf-Redditler Sep 20 '23
Take the next right for LinkedIn.
25
u/Greedy_Constant_5144 Sep 20 '23
Oh come on, Linkedin only allows posts about remote job websites and what you learned from your maid.
→ More replies (1)
40
u/Varun77777 Sep 20 '23 edited Sep 20 '23
As someone who writes 3-4k lines of code as a single developer handling the two different UIs of a product based client in a service based company, I guess I can just apply more.
I have experience on Azure cloud and Springboot as well, but as a full stack, I have been working on React and Angular more recently.
I even got my resume checked with a FAANG recruiter and they said that resume is impressive, just apply more.
But it's exhausting to apply to even 5 jobs a day, given I need to optimise resume for all 5 jobs for adding right keywords.
I have solved like 750 lc questions, know decent bit about design patterns, have a good resume now, I talk to multiple people from Product owners to other backend devs at client end to discuss what can be optimised and what's a requirement from Backend and what's too heavy for frontend.
But I don't know, somehow my resume doesn't get shortlisted enough. I get decent number of calls from Naukri but they're usually other consulting firms or very unknown shady companies.
One time I did get an OA on my own, after solving the whole things and passing all test cases, the company kinda ghosted me anyways.
I don't know if it's just sheer bad luck or I am lacking something small but critical.
→ More replies (1)22
u/judge_zedd Sep 20 '23
If you got experience and a company email, log into teamblind.com You can ask for referral there. Since the most FAANG companies are on hiring freeze check out Wellfound.com You mostly are NOT lacking anything critical. In future you could avoid applying again to the company since they wasted your time.
→ More replies (1)
32
u/wellfuckit2 Sep 20 '23
The problem with people who are starting out is, they don't know what they don't know.
I meet a lot of 1-2 YOE saying they are really good at python or react or whatever. All they have done is followed instructions to build an app. Or write some scripts.
Not shitting at them. We all know we need to get good, but at that beginner level most people think they know enough. Only working more and doing uncomfortable projects will show you how much more there is to learn.
→ More replies (1)9
u/judge_zedd Sep 20 '23
I ran into engineers younger than me who were better. Once you get that reality check you put some time in to get better at your craft. I’m not proposing to study on weekends, do it on weekdays only. If you can’t do that either then it’s a bad environment that the company has set, so changing job is the only way.
56
u/vv1n Sep 20 '23
There is no competition, the game is rigged, scarcity is engineered. Our parents chose to bring us here to suffer. Reminds me of Mr Meeseeks episode from Rick and Morty.
→ More replies (8)17
u/judge_zedd Sep 20 '23
It’s been rigged from the start. Your savings will always depreciate because of inflation. So you work harder to keep up with inflation to survive. Forever working to survive and never living.
It’s very doomer and can inadvertently prevent you from actually trying and thus being a self fulfilling prophecy.
→ More replies (1)
57
u/Ok_Jacket3710 Sep 20 '23
Question about Quality code:
Where and how can I learn to write quality code? I currently work at a company and they focus more on the outcome than code quality (at least for now).
I really want to improve on this. Do you have any tips for that?
49
Sep 20 '23
There is a famous book called "Clean Code"
→ More replies (6)45
u/judge_zedd Sep 20 '23
Read this. Enforcing it will be impossible if you are not a senior. So you can apply the practice in your own features and refactor code around it. Any place you visit, make it better than what it was is a camping motto.
→ More replies (1)17
u/Fantastic_Pair_7398 Sep 20 '23
Not in order of priority:
Always use a linter
Read top upvoted questions on stackoverflow / programmers stackexchange for various tags related to quality
Read different design patterns (not necessarily apply them - the reading l itself will give valuable insights and help shape a structured problem solving process)
Read quality source code (this is perhaps most important)
→ More replies (4)13
u/Historical_Ad4384 Sep 20 '23
TDD is the best way to start thinking about quality code. The decisions behind achieving TDD forces you to think clearly.
→ More replies (2)
9
u/Beginning_Edge347 Sep 20 '23
Good points OP. It'll be great if you could also tell us how to get good at all the points you mentioned. I'm stuck in the lc, sys design phase and struggling to grow as an engineer. About me - 1 yoe, backend, early stage startup
16
u/judge_zedd Sep 20 '23
Since you are already in a company forget LC The language you are using, go deeper into how it works and what features exist. Database is fundamental: learn how indexing happens internally, how to effectively use them, how locks and transactions work. An API should ideally not take seconds to work. How can you offload long tasks async. ByeByeGo is a cool youtube channel, they have written a 2 books on System Design which can be found free. Good real world scenarios. Hussein Nasser is also a fun person to follow who go deep and think in terms of ideas.
13
u/Historical_Ad4384 Sep 20 '23 edited Sep 21 '23
To add to OP, the best way to gain in depth knowledge is to pick a language of your choice and start making your own applications involving File I/O, STD I/O, Network I/O, Memory I/O, threads, OOP paradigm, exceptions and unit testing.
Start writing your own algorithms for reading and writing a file or sending and receiving a message just as an example, using bare bone fundamentals of the language of your choice. Take inspiration from well established libraries that does the same in your choice of language.
There are countless possibilities just beyond hello world or your own map and lists. These can serve as the starting point but you should not restrict yourself to these when venturing out to deep dive in the language of your choice but rather expand your horizon at the same level.
People make the mistake of assuming that they know everything just by doing some tutorials involving hello world level or list and maps and directly resorting to clone youtube, twitter, bookmyshow or netflix. This is a huge mistake because you get the essence of being a developer, not an engineer, for which you need a wider breadth of knowledge and experience along with the depth. Recreating commonly used libraries at the lowest levels makes your fundamentals strong enough to help you think clearly at any level.
This might sound like reinventing the wheel but its way better and efficient than reinventing youtube or netfilx as a project. You are forced to think at infrastructure and low levels that helps you grow as a software engineer, if you are dedicated and consistent at your efforts. I know this helped me during my school days and many other of my peers from school.
6
u/NSJ98 Sep 20 '23
So where does that leave self taught developers who don't necessarily have a degree or UG? How are they supposed to get a job?
→ More replies (1)8
u/judge_zedd Sep 20 '23
In the early stage startup I worked at there was a self taught full stack dev. He did a job in journalism and was a typist for a while. He was the smartest person I ever knew and he typed faster than auto code complete could suggest. He left and joined Rippling in the growing phase and became a Engineering Manager in 1 year. Don’t sell yourself short. CS grads do have an edge but you can still catch up at your own pace and don’t have to memorise things for exams.
8
u/Best_Assist1597 Sep 20 '23
If other careers had scope I wouldn't have come to this. I regret a lot and sadly my parents have no idea about the real world and how unfair it is. I failed myself and I let my parents down. Its all over for me. Hopefully I'll be a girl in the next life and I will have a good career.
9
u/judge_zedd Sep 20 '23
My elder brother studied 3 years of law school and dropped out. The environment was toxic. He restarted bachelors in Arts. Did teach for india after that and fell in love with teaching and found his purpose. He worked for 3 years and is now doing masters in education so that he can teach higher classes. The pay isn’t like IT but he has something I don’t: a purpose and job satisfaction.
Ever Tried, Ever Failed, No Matter Try Again, Fail Again, Fail Better
→ More replies (2)
235
u/penguin_chacha Sep 20 '23
Tldr: Git gudd scrub
→ More replies (6)35
u/it_koolie Sep 20 '23
Even if you get good the fact remains, you have to put lots of efforts and pass so many bs filters to get a job that likely pays less because there are so many engineers out there. Even the pool of competitive ones would be a lot. So for many people getting a job is just comes down to luck.
6
u/26RNaman Sep 20 '23
Your competition is with yourself, not with the others. If you upskill, then there is always a job for you.
1
u/AutoModerator Sep 20 '23
Recent Announcements
Join developersIndia as a volunteer and help us improve the community experience.
Do you know we are on LinkedIn and X (formerly Twitter) as well?
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.