Yep. Way more than half of the people I interview can't even do a very basic FizzBuzz, even with guidance. Those are people with a degree, job experience and reference letters.
I graduated in 2006 in CS, and I had at least 5 or 6 software development classes. We also had electives, which included DB design and algorithms. Many of the higher-level classes allowed us to use any language of our choice as well.
I was self-taught since I was 15, so most of these classes were just review for me. I met lots of people that didn't know how to code as seniors (and never ended up getting a job in their field).
Well idk what an actual software engineering program would teach that you can't learn better on your own or on the job. Formal CS education teaches things that simultaneously help with the job and also can't be learned there. But some people just don't have grit, whichever path they took.
Most of the "Software Engineering" curricula I've seen is catered towards "getting a job as a programmer", and is mostly focused on languages, frameworks and outdated processes.
As an engineer in another discipline, there's no engineering there.
I would rank like this: Computer Science > Self Taught > Software Engineering.
Right, but you should be doing analysis and choosing the right tool for the job. 9/10 or probably more Java projects never need to use FFI because of the sheer size of the Java ecosystem. C# has always needed a better FFI story because its ecosystem is an order of magnitude smaller.
How about we just let people code how they want if the codebase doesn’t care how it gets written? If it doesn’t matter why must we use one particular tool versus another?
That's the real problem, people making decisions that think more code == more software == more value.
We've been through this over and over again, managers think they know better, engineers left to clean up their mess
Java has first class sum types, pattern matching, and compiler exhaustion on types. It's probably far more expressive than C# currently until they get union types.
Well, C# has more powerful pattern matching, only compiler exhaustiveness on types is missing today. In Java, sum types (sealed interfaces/classes) require all members to have the same parent, so they can be used only in very narrow cases.
Their sum types aren't particularly useful since they can never be used to implement union types which I believe c# has plans for following their sum types already in preview. So I guess similarly neck and neck.
reply