Success is a lousy teacher. Mr. Musk has been dreaming about his "everything app" i.e. X.com for a very long time. The fact that he thinks the sinking Twitter ship will bring it to fruition is laughable.
There are a limited number of people willing to spend a limited amount of time fuzzing, reviewing, and scrutinizing crypto libraries. The more libraries exist, the more their efforts are divided, and the total scrutiny each library receives decreases. How would this help the problem?
Actually, among the MAGMA companies I've found the _least_ bias for leetcode-memorization at Amazon.
My interview with Meta was exactly as you described (a CS riddle taken from a textbook, to be solved without running the code or receiving hints). But in my interview with Amazon, each coding interview also included a couple leadership questions. If you want you can look up the exact questions that they'll give you to test what they call their "Leadership Principles"
Also the Amazon coding questions were not taken directly from Leetcode, and were easily reasoned out without prior knowledge of a special algorithm.
We have a question bank that we are required to ask from that can be found online.
Coding questions and system design challenges are individual to the interviewer. Some are good, some are bad, some are leet code, some are reasonable, it's kinda a crapshot. I saw a bar raiser (a bar raiser!) asking path finding algorithms as his coding challenge which is nuts to me. All that signals is if you've worked with path finding algorithms before, or remember your college class that taught A*
But I'll be honest, our interview process is public and online and hasn't changed in a long long time. We select mostly for people who have the spare time and dedication to learn our interview process.
It could also signal that you got motivated and took many hours out of your busy day to do a meaningless task like memorize a path finding algorithms. This might be a good signal that you will also be motivated to spend many hours doing meaningless things at your job.
Actually, if you think about it, the whole concept of getting a college degree isn't much different - its not about what you learn in the classes, it just shows that you have the capacity to go through an arbitrary social experience, follow a bunch of rules, learn some stuff, and stick with it for a few years - pretty similar to a job.
"the whole concept of getting a college degree isn't much different - its not about what you learn in the classes, it just shows that you have the capacity to go through an arbitrary social experience, follow a bunch of rules, learn some stuff, and stick with it for a few years - pretty similar to a job"
It makes me sad when I hear people say things like this. A college education has the potential to be so much more than this.
I took a poetry class, despite not being particularly interested in or appreciative of poetry and it opened my eyes and made me a life-long lover of poetry ever since. Philosophy courses taught me how to think more rigorously and question things many other people take for granted.
There were many other courses which weren't required for my degree that I sampled and wound up loving and learning to appreciate things I never would have otherwise been exposed to... even changing my major because of some of them.
I didn't even have any truly amazing teachers either, so I can only imagine how much better is the college experience of those who do. Having great classmates who inspire and motivate you can be fantastic too... not to mention the potential to make connections and broaden your horizons in all sorts of academic and non-academic ways.
College can change your life, change the way you think, open your mind and open your eyes, and so much more.
I agree 100%. To add to this, I can't tell you how many engineers I run into who possess amazing programming skills, but can not convey their thoughts and designs meaningfully in written or spoken word. Taking a few more humanities classes might not be a bad idea for most.
To be fair, I am not saying college can't be that kind of experience too! But when a company is looking for a college degree, they aren't looking to make sure their employees experienced enlightenment in a poetry class. They are looking for evidence that their employee completed a 4 year structured program.
What you should learn in college is how to teach yourself to always be learning. Or at least to be aware of the trap doors that await when you try to solve a problem in the real world.
Learning the Big O Notation performance of algorithms that traverse data structures isn't so you memorize all the different running times in perpetuity. It's so you realize that performance and the type of operations you want to commonly execute are something you need to consider for the data you have to work with.
If you didn't learn that from your college CS courses, I don't want you working on my team.
The other thing college shows is that someone is capable of committing to a long term goal and seeing it through. That's important.
Note: I am not saying non-college grads cannot commit to a long term goal, there's plenty of reasons people don't or can't go to college. I'm only saying that a college degree is a signal.
That was my point as well - its not what you learn in college, its that you can learn something. I am not a proponent of Leetcode (and suck at it personally), but I think the same concept applies - just shows you can learn an arbitrary puzzle framework tangentially related to the job you are interviewing for.
Its also my experience that as you get more senior and focused on a specific skill (I'm an iOS engineer), interviews tend to focus on that skill more than leetcode. I think there are a few stalwart holdouts (facebook + google), but I have interviewed with several trendy big tech companies and none of them asked me pure leetcode - it was always framed around my iOS skillset.
However, for a junior engineer there is no way to evaluate this kind of skillset since it doesn't exist - so Leetcode is a resonable substitute.
Is a leet code question just one that has an obscure clever answer (like use 3 pointers to process the array in time O(n) ) that doesn’t really use broader knowledge of CS?
Yes..... and the only way a $444M quarterly revenue company "aren't profitable at all" is if their costs are >$444M / quarter. That's what my comment was getting at. Does GP really think a business like CK costs that much to run?
Having seen several projects written by people who "happen to know some code," I can tell you there's a good reason this hasn't caught on.
These sort of people can work the very foundations of the company into an ungodly quagmire that would send you screaming back to the fad-chaser dev in a heartbeat.
Also despite the meme, most mid-senior devs are actually keen on making their contributions valuable to the business, having gotten over this phase of fascination with new tools
Mid senior devs do seem to be pretty good. Entry level devs who think they're senior cause most of the trouble....
I've seen some small projects by non-coders that are better than some real devs, because they can be really aggressive about avoiding original code. It might be hacky... but they find ways to leverage stuff that already exists.
The difference will be painfully clear once you try to walk a junior developer through installing and linking new files to a large project in Visual Studio, vs "copy this .h file here and include it".
Whether or not a "good build system" should handle it, the fact that single-file libraries are much preferred these days should demonstrate most people don't have such a build system
So much of the C/C++ ecosystem revolves around knowing your build tools that, for most intents and purposes, it should honestly be considered an integral part of the languages. If I ever teach an introductory C/C++ course, I would dedicate at least 1/4 of my time to explaining:
* What a translation unit is, and how compiling a translation unit to an object file works
* What a linker is, and how the linker combines object files into a library/executable
* What make/autotools/cmake are, and how they work
* What FHS is, and how it standardizes the lib/bin/include paths that C/C++ build tools read from/install to
And so on. Any C/C++ course that goes beyond a “Hello world” program without explaining these concepts in detail does its students a disservice.
Yeah, in our class we had to figure out this mostly on our own, so after it I'm still at the level where I barely manage to make make work, I'll have to look into those other ones, thanks !
1) Include it wherever it's used. The convention is to use the preprocessor[1] so it only appears once in the final binary
2) Most developers just want to compile to a single binary. Any developer who for some reason needs separately compiled objects should be able to quickly achieve that from a single-file library
There is a stigma amongst "real programmers" against "web developers". So a "real programmer" will never become adept at CSS because it doesn't appeal to their ego
Sure, high salaries are justified for this minority.
The people mentioned specifically in the comment are of more concern; sales, admin, etc. salaries in this field are also inflated compared to other industries.