Systems thinking as important as ever for new coders
hanselman.com
hanselman.com
[0] https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-...
IIRC, it has been used as a textbook for systems theory classes in some universities, but it's concise and written for a general audience.
Would it be better to base the course on the up-to-date flavor? Yes, if resources allow that. However,the emphasis should still be on developing a mindset that is motivated for extended learning.
Frameworks change, domains change. Learning the basics of a framework will not guarantee a job, learning how to solve problems using whatever combination of frameworks will prepare one better for a career. After all, a perfect entry level is a practical learner.
I'm not so sure. Java is a popular language both in industry and for teaching, but I'm glad they taught us the ancient and unpopular Common Lisp first.
When you know Common Lisp, you're well prepared for most of the Amazing New Features that slowly trickle into Java, since Common Lisp already had most of them.
To address this problem we need to implement real changes to schooling, starting as early as elementary school.
It's hard to remain objective when deciding what technology to use. The programming language you know can usually the most suitable; as you have the most experience in it, despite better alternatives which might be available.
The disheartening reality is that there's always a better system for your application...
It's one of the reasons I'm learning Kotlin, I know sometime in the next year I'll need it.
If you find out how many and what kind they are after you have gotten half way to the goal then you might have to start over.
A symptom of this is having a startup that uses more programming languages in production code than programmers.
No matter how much research you do, or how wise you are, you still have to decide how to measure "best." And that's inherently subjective.
We studied CLR and spent more time using C++ as a way to understand the algorithms and reason about them and less time learning and mastering C++ specifically.
Isn't this the case at most universities or bootcamps? I guess I can see why someone would ask the questions the student asked Scott judging by the way new technologies are spoken about here and on the internet in general. There is an intense amount of FOMO as a developer that's hard to stave off even though concepts truly travel.
No it is not the case at most universities (I can't speak for bootcamps, though I wouldn't be surprised to hear a greater variance and overall lower average in this area for them).
There are always different teaching/learning styles, but everyone agrees you need to practice to learn. A course about databases without writing SQL, is like driving a car without the wheels.
I've heard good things about Donella Meadows, but I haven't read anything of hers yet.
Hanselmanns is about operating systems stuff.
You might find some of their handbooks online free of charge (maybe not the one most up-to-date).
There is a really good book written by Haberfellner called 'Systems Engineering' which to my knowledge is only available in German. The book is awesome though: https://www.amazon.de/Systems-Engineering-Grundlagen-Reinhar...
Oh, it seems like they finally managed to get it translated - apparently available in July this year: https://www.jpc.de/jpcng/books/detail/-/art/reinhard-haberfe...
I did my Master's degree in Systems Engineering based on both Haberfellner and Incose's handbook. It's been great learnings which have been useful ever since helping me to separate all kinds of problems as both a software developer and a systems architect.
So, enough said - separate and conquer ;)
Right now I keep hearing that "systems thinking" is a good idea, but I could not tell it apart from regular thinking.
I've seen some definitions that are vague and circular: e.g. "systems thinking deals with thinking about systems" but there must be more to it than use of the word "system"