Unpopular opinion:

Competitive programming for getting into FAANGs is highly overrated.

It shows good problem solving skills, application of DS/Algos.

However, that's not enough for a good software engineer! 👩‍💻

Why? 🧵👇

#programming #Software #SoftwareEngineer #codinglife
It tells nothing about understanding of other CS fundamentals.

A deep, well-versed understanding of these concepts becomes essential when you're building resilient, well architected systems.
Building such complex systems always involves understanding constraints, trade-offs and making design decisions based on that.

These decisions, most of the times, are NOT modeled only around time complexity analysis.
Differentiating ability:

The ability to analyze solution approaches from first principles /fundamentals of computer science.

DS and Algorithmic knowledge is required but it's not sufficient.
While some CS fundamentals might be considered "coachable", it's best to lay this foundation as early as possible.
Competitive programming often incentivizes programmers to get code out as quickly as possible for submission.

This leads to negligible emphasis on code quality and hence poor readability.
One of the most common areas of growth of engineers with high competitive coding background is the poor code quality. 📉

The getting things done attitude is not the best when you work with a team. 😔
Having an understanding of data structures, algorithms and their application to problem solving is essential, going too deep at a competitive level is neither necessary nor sufficient if your goal is to become a good, well-rounded software engineer.
Why did I write this thread?

College students are often indoctrinated with the dogma of having @codechef
stars, @codeforces levels as a measure of them being fit for good hires.
Those who're unable to challenge this dogma, often:

- sacrifice genuine curiosity for exploring other real world tech projects e.g. webdev, ML

- sacrifice intern opportunities with startups

- get stressed out, develop imposter syndrome
If you really enjoy competing in programming challenges and get your kick out of it, keep doing that.

However, try to make time for understanding CS Fundamentals and if possible (maybe not in competitions) - try to write clean code.
Others, who're doing it just because of the dogma -

- It is not a prerequisite for getting into FAANGs.

- however, building a strong CSF foundation is necessary. (next tweet)

- solving @geeksforgeeks problems

- work on side projects, or in startups, or open source projects
Ensure that you build a strong foundation in these CSF domains -

- DS + Algorithms
- Object oriented programming (OOP)
- Operating systems
- Computer networking
- Computer arch. (basics)
Try to work on open source projects, or gain real world experience (startup internships?) because that fosters clean coding and serves as an exhibit that you can function as SDE in the real world.

side projects are also a good option, try to gather feedback on reddit etc.
If you found this helpful, please like and retweet. ❤️

Follow me for more such content.
Some references that will help you understand more:

- Google: 90% of our engineers use the software you wrote (Homebrew), but...

Hacker news link - news.ycombinator.com/item?id=9695102
Another one from etcd developer -
My DM is open, feel free to reach out if you think I can help you with any advice. 😄

However, please go through this thread before reaching out:

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Yash Verma

Yash Verma Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @vermayash8

30 Mar
TIL: Why are M1 Macs so fast? 🤔

Quick, bite-sized thread that answers the above question. Based on my notes from reading: debugger.medium.com/why-is-apples-…

Thread 🧵👇
as per the benchmarks, M1 is beating almost every available processor in the market.

Stats (from Apple):
- 3.5x faster CPU perf (vs i7 Mac Air)
- 3x CPU perf / watt
- 2x faster GPU
- 15x faster ML (vs i3 Mac)

(will link benchmarks at the end)
I'm assuming familiarity with basic concepts of computer architecture.

Otherwise, you can read about them in my previous thread:
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!