taosx 10 days ago

I was self taught before I studied, most of the "foundational" knowledge is very easy to acquire. I've mentored some self-taught juniors and they surprised me at how fast they picked up concepts like big O just by looking at a few examples.

2
bluefirebrand 10 days ago

Big O was just an anecdote for example

My point is you don't know what you don't know. There is really only so far you can get by just noodling around on your own, at some point we have to learn from more experienced people to get to the next level

School is a much more consistent path to gain that knowledge than just diving in

It's not the only path, but it turns out that people like consistency

abbadadda 10 days ago

I would like a book recommendation for the things I don’t know please (Sarcasm but seriously)…

A senior dev mentioned a “class invariant” the other day And I just had no idea what that was because I’ve never been exposed to it… So I suppose the question I have is what should I be exposed to in order to know that? What else is there that I need to learn about software engineering that I don’t know that is similarly going to be embarrassing on the job if I don’t know it? I’ve got books like cracking the coding interview and software engineering at Google… But I am missing a huge gap because I was unable to finish my masters and computer science :-(

arwhatever 10 days ago

I ran into that particular term oodles in Domain-Driven Design, Tackling Complexity at the Heart of Software by Eric Evans. Pretty dense, though. I’ve heard that more recent formulations of the subject are more approachable.

abbadadda 9 days ago

Amazing! Thx for the recoo, arwhatever :-)

i_am_proteus 10 days ago

CLRS

(Serious comment! It's "the" algorithms book).

abbadadda 9 days ago

Tyvm for the serious comment, i_am_proteus! :-) The algorithms book By Steve S. (The Algorithm Design Manual)?

I've read that one, not an expert by any means, and I've got a 'decent' handle on data structues, but what about the software engineering basics one needs like OOP vs. Functional, SOLID, interfaces, class invariants, class design, etc.? Should I just pick up any CS 101 textbook? Or any good MIT open courseware classes that cover this type of stuff (preferably with video lectures... intro to algorithms is _amazing_ they have Eric's classes uploaded to YouTube, but finding good resources to level-up as a SWE has proved somewhat challenging)

^ serious comment as well... I find myself "swimming" when I hear certain terms used in the field and I am trying to catch up a bit (esp. as an SRE with self-taught SRE skills that is supposed to know this stuff)

abbadadda 9 days ago

Ah! Nvm, I see you mean https://github.com/walkccc/CLRS (didn't catch the acronym was the authors names smushed together at first)

> This website contains nearly complete solutions to the bible textbook - Introduction to Algorithms Third Edition, published by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

arkh 10 days ago

> most of the "foundational" knowledge is very easy to acquire

But you have to know this knowledge exists in the first place. That's part of the appeal of university teaching: it makes you aware of many different paradigms. So the day you stumble on one of them you know where to look for a solution. And usually you learn how to read (and not to fear) reading scientific papers which can be useful. And statistics.