3 ms·
In the valley you do not need a degree of any sort, but not having a degree is definitely the exception. Those people without a degree often have a long work hi
by hayst4ck 4y ago
In the valley you do not need a degree of any sort, but not having a degree is definitely the exception. Those people without a degree often have a long work history working for companies doing low level NOC/admin work while they leverage the coding skills they learn in their off time to become more valuable until they de-facto work as a programmer.
> I am tired of all this idiotic circus.
Here is the most important lesson you learn in college in a nutshell: You aren't as smart as you think you are and there are a a lot of things you don't know you don't know. If you're used to being the smartest person in any group of 30 people, then college can greatly humble you. College was the first time in my life where I was in a room and it was clear I was not the smartest person in it, maybe not even in the top half.
College, in my experience, helps diminish the Dunning-Kruger effect greatly.
I've interviewed a lot of people for SWE and performance greatly correlates with college. I never asked particularly hard questions and they were always very pragmatic questions, not ivory tower stuff. Many of the best staff engineers/managers I've worked with had masters degrees. It is more often than not graduates that make core systems.
The way you write shows that there is a lot you don't know you don't know and that you are considerably overconfident in yourself, particularly before you have a portfolio of externally validated useful software to backup your claims of how good you are.
Pragmatically:
A CS degree sets you up with a lot of information that would be useful for interviews (and understanding how things work) in an organized and systematic way.
Big O notation, basic data structures, basic algorithms, basic data structure manipulation with algorithms. Intuition about these things.
After basics, engineering courses take you on tours of important systems and protocols and touch on why they are the way they are not just what they are.
If I say "recursive backtracking" do you know what that means? That's a first semester topic and just about every company in the valley was doing interview questions that used it. Do you know test and set? Do you know why it is important? Do you know the three way handshake? Do you know why it is the way it is? Exponential backoff? Can you implement DFS/BFS in 5 minutes? Dijkstra's? Have you heard of dependency injection? Do you know why it's important? Entropy? Hashing? Buffer overflow? SQL Injection?
How much of this do you understand? https://github.com/alex/what-happens-when https://github.com/alex/what-happens-when
> I love my own original interpretation of CS foundations and concepts.
You take this as a point of pride, but having a shared language and understanding allows you to communicate with and leverage other people.
I can't speak for the level of education you are around, but there exists good education that is definitely worth seeking out.
- amts 4y ago>>Pragmatically: Doing tasks on HackerRank should be fine regarding these subjects. But thanks for the keywords. Regarding "my own original interpretation of (some of) CS foundations and concepts", it's not as much "a point of pride", but rather lack of context here. My interest is actually in the intersection of several fields with CS, if I were to choose I'd choose CS & electrical engineering and apparent confidence comes mainly from abstractions of some underlying physics. Any time I share anything, there is a surge in various elements of the ongoing idiotic circus, this is why I really don't care.