What kind of skills do new grads have that qualify them to get multiple offers before even graduating? Do grads have a large portfolio of apps and Github contributions to prove they have the chops? I'm asking because as a self-taught I've been told I need to have all these things plus experience to even be considered competent. Here's the thing though. As a lead on teams at Boeing, I've had the privilege of mentoring and training up new grads and I gotta say they all take just as long to learn the ropes and be useful (sometimes longer) as the non-degree technicals. This is partially venting, but also a serious question about what grads bring to the table that I need to bring to the table too. With all the talk and debate recently about the dwindling value of a college degree, it still seems like its a big damn deal to a lot of companies. Thoughts?
In my experience, the new grads have a more thorough understanding of systems. They tend to know more of the how and why, even if they get to the same output of someone self taught. But if the output is the same, I see how you can argue that there's little difference. Juniors are usually working on code that's below what they're capable of, but it's easier to adjust to corporate and large scale projects in that environment
New grads have a certificate given by a competent agency saying that they know that shit. Kind of like an ISO 9001 sticker
It depends on what skills you've self taught. More than actual development skills, CS grads have been taught the finer points of data structures and algorithms that tech companies select for. You may have self taught yourself these things, but many have not because honestly, it doesn't come up much in most work. Also, new grads probably have internships that they got without needing much real skill, and those positions give them a lot of cred just having worked at some of those tech companies.
Self taught is much better. Have the same opinion as musk on degrees. I would prefer a person with portfolio(GitHub/stack overflow/Individual projects) than a Gpa
Depends on the domain. CS is not just app development. Distributed systems, computer networks, algorithms, operating systems, databases, AI, machine learning etc are some of the courses taught at school. A grad or post-grad would have spent several years learning and honing these skills. Someone who has self taught while working full-time, should spend several years to learn all of them.
System basics + algorithms basics. You need to prove you have solid fundamental knowledge if you are self taught.
So this is going to prove your point. What do you mean by "system basics"? Algorithm basics is pretty self explanatory, but "systems" seems really general and ambiguous.
Knowledge about operating systems, DBMS design, compilers and computer networks. All included in undergraduate textbooks.
"How virtual memory works and what it's used for" is one of the first big stumpers I got. I switched from Windows to Linux mid career so never got that deep.
I don't hire new grads because they are almost worthless unless it's a very entry level role. Personally I like to see people self made... it shows your determination if you get to that level. Look at less formal institutions to work at, maybe like a start up where they can appreciate your working knowledge.
You just said it yourself, as self taught you need to prove u can do it, which by portfolio and GitHub contributions. New grads, I assume related field like CS or engineering, sort of provide proof by spending formal education with exams and projects to get those degrees.