3 ms·
One cause I've seen of this is the "college is not needed to be a coder" trend from the past few years (decade?). it is true that most of my skills were acquire
by figassis 3y ago
One cause I've seen of this is the "college is not needed to be a coder" trend from the past few years (decade?). it is true that most of my skills were acquired after college, but there is some sort of global system understanding that you get from college (in my case computer+software+network engineering) where you can quickly narrow down potential sources of a problem, all the way down to say, the TCP/IP stack, CPU architecture, memory management, how some code might be optimized incorrectly by the compiler. It also helps a lot in asking the right questions. If all you know is [latest framework/language/tool], there is a whole world around this that can bite you when circumstances stop being perfect.
One superpower is looking at a marketing page for a tool and knowing within seconds what it can't do and whether it would be a good fit for your use case, just by what is claimed on the page.
Regarding abstractions: I've sort of always ran away from languages that encourage it a lot. Java was one of them, where the entire OOP trend just fell flat to me even in college (I understood the benefits, but meh). The concept of dependency injection is another one, I think it was introduced in Javascript? Idk, I use it if the framework forces me to, but IMHO, it only makes sense when I'm the one building it. Define constructors that take interfaces and instantiate them explicitly with whatever implementations you want (ie. mocks vs real, etc). So that you understand everything that is happening.
My Biggest fear with frameworks (especially JS) is they are abstracted to such a level that I can't hope to fix an issue in a reasonable amount of time without begging for help in forums or github bc I don't understand even the concepts. What are effects? How does react work? How does Angular work? etc.
- rcbdev 3y ago"College" can be extended to include any technical secondary school in societies with dual system education. (i.e. Switzerland, Austria, etc.)
- dclowd9901 3y agoGiven the push toward FP principles in JS, it’s become much easier to mete through library code since now we don’t have to assume some reference is getting clobbered somewhere, and we’re not monkey patching some base library. Those were the bad ol days of browser disparity and (let’s face it) IE. Now, not all libraries are built with modern principles, but I’ve found digging through the source is not nearly as onerous as it used to be (as long as you avoid tooling like yarn PnP, which basically undermines your entire ability to inspect library code just so you can… avoid unzipping archives?)
- Kamq 3y ago> but there is some sort of global system understanding that you get from college (in my case computer+software+network engineering) where you can quickly narrow down potential sources of a problem, all the way down to say, the TCP/IP stack, CPU architecture, memory management, how some code might be optimized incorrectly by the compiler. That's one potential place to get that kind of understanding. It's not the only one though. I've been fascinated by computers since I was a kid and I've put together a pretty good understanding of this stack. Don't get me wrong, college isn't a bad place to get that understanding, I'm going back myself (mostly because my employer is paying for it), but it's definitely not the only place.
- pca006132 3y agoWhile I also attended college, I sometimes wonder if a college degree is really needed to learn these general stuffs. I learn a lot while doing projects completely unrelated to schoolwork, before registering for the course. I still have to register for the course because of graduation requirements, but I just skipped all the lectures and only took the exams. There are nice materials and textbooks available, and I think anyone motivated enough can learn them without needing a college degree, and probably have a better understanding than most college graduates. I really hope that colleges can just allow students to take an exam and skip some of the courses, so to not waste everyone's time. This is 2023, not 2003, most people have access to internet and CS education is widely available. No need to force everyone to attend introductory courses that are not well designed anyway. Regarding abstractions, I think the craziest thing is that frontend projects are probably the most complicated beasts that I have ever dealt with. I worked with compiler written in Python, embedded system projects where pointers are everywhere, numerical algorithms which are notoriously hard to debug, but still frontend projects still managed to be a lot more complicated than them. I generally stay away from frontend stuff recent years...
- figassis 3y agoI think it's dangerous to think in this way: I succeeded without college, so everyone can, so college should be abolished. Not everyone has the discipline to self learn through a course. Not every one knows how to properly and effectively absorb and retain knowledge, and not everyone knows how to make that knowledge useful. What college does is provide structure and a favorable environment for learning where you're among peers, sharing the same experience and learning together "how to learn". Some people are able to get fit by themselves, others need structure and guidance, so you have a whole industry of gyms and personal trainers and programs that require attendance. My point is that this attitude towards college (or other forms of structured/formal learning) might be what is creating large numbers of full stack developers, devops who only know terraform, etc, who couldn't debug the first networking issue even if the error message was right in the browser. Moreover, the official point of college is that it provides some level of confidence to your peers, employers and customers that at the very least you know the fundamentas of your profession, because without them it is not enough that you're a react wizard, or a microsservices expert. I think if there were a baseline of required knowledge, most products we build would perform better, consume less resources and fail less.
- deleted 3y ago[deleted]