A computer science study plan to become a software engineer
11–20 of 220 posts
Re: A computer science study plan to become a software engineer
#12This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
I will say that I've seen some companies improve their interview questions to be less about having CS insight or algorithmic "tricks" and more about writing good code.
But I've also been asked to essentially come up with quickselect in a 45 minute screener, the asymptotic analysis of which took me more than 45 minutes to understand.
Re: A computer science study plan to become a software engineer
#13This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
Re: A computer science study plan to become a software engineer
#14Why the random "Google" in the title?
Re: A computer science study plan to become a software engineer
#15This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
> and in 30 years, I've hardly used any of it. Isn't that similar to people saying "I've never used trig in 30 years"? Isn't the point to train your brain to think in a certain way, more so than actually needing sines and cosines? For computer science specifically, the goal is to teach you to think in terms of loops, conditionals, recursion and so on. It's to train the muscle more so than memorize specific algorithms…
There seems to be more emphasis on "the candidate knew to use bubble sort" or something stupid like that instead of "I observed this candidate reason through the problem and I don't really care that they didn't know a canned algorithm".
Re: A computer science study plan to become a software engineer
#16This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
Re: A computer science study plan to become a software engineer
#17This is an algorithms crash course for people interviewing at Big N.
Re: A computer science study plan to become a software engineer
#18Do these big companies really need so many developers that only know how to use this long list of 'fundamentals'?
I've interviewed a lot of people of all ranges, ages and skews. No matter what, when it comes down to sitting down with them and asking them to write out a simple program without any technicalities, 9/10 of them fail due to clearly not spending enough time just making things.
Are these big companies _really_ hiring juniors with this as their laundry list?
> ...Write code on a whiteboard or paper, not a computer. Test with some sample inputs. Then test it out on a computer....
A junior to me who has spent a year banging away making real failing programs and can talk about what and where they struggled with is useful to me(and the company).
A junior who hasn't built a single project, but can tell me about the one time they spent 4 months writing data structures on white boards is little more then a warm, but dead silent body in a design meeting.
Re: A computer science study plan to become a software engineer
#19Earlier quoted context omitted.
> and in 30 years, I've hardly used any of it. Isn't that similar to people saying "I've never used trig in 30 years"? Isn't the point to train your brain to think in a certain way, more so than actually needing sines and cosines? For computer science specifically, the goal is to teach you to think in terms of loops, conditionals, recursion and so on. It's to train the muscle more so than memorize specific algorithms…
I think the issue is the filter is based on the specific algorithms and not that problem solving ability. There seems to be more emphasis on "the candidate knew to use bubble sort" or something stupid like that instead of "I observed this candidate reason through the problem and I don't really care that they didn't know a canned algorithm".
It's a bad proxy, but better than no proxy in my opinion.
Re: A computer science study plan to become a software engineer
#20At big tech companies, you typically have to work at a much larger scale. A solution that works, won’t necessarily work at 10x, 100x, 1000x the scale. You often need to use technologies architected differently than a monolithic Web App.
I would recommend learning more about the commonly used “tools” that a distributed systems engineer would use, more specifically:
- Load balancer - Nginx
- Key/Value storage - Redis
- Pub/sub - Kafka
- Queueing - SQS
- Map/reduce - Hadoop, EMR
- Databases - SQL