Having worked for many years in IT in Denmark I would say that the author is right, but many of these are luxury beliefs, since in Denmark people are given alot more time to do their job right than in many places. In many parts of the world developers are not given the time to understand anything, and end up working 8 hours after the job to understand the tools in their own time
How is Denmark so special in that regards? What are examples of these places where people are not given the time to do their job right?
We have used too many levels of abstractions
391–400 of 564 posts
Re: We have used too many levels of abstractions
#392Earlier quoted context omitted.
I don't need to know assembly to write a web app - it's totally magic, and it's fine. However, if I am using an abstraction like an ORM without understanding what is happening with the database under the hood, or why it's getting slow all of a sudden, it is bound to bite me in the ass. I shudder to think of how much money and energy the world is burning every second just because of this one alone.
A client of mine is enduring growth induced ORM hell right now. The struggle and existential threat is real. It can take days for them to even track an evil SQL query back to the actual code. There were fetch-one calls that literally carry a million rows back over the wire for that one returned entity. Indices get skipped due to the magic translation of a row.col.toUpper()=="STRING" into SQL.. when the db collation i…
Re: We have used too many levels of abstractions
#393Earlier quoted context omitted.
A client of mine is enduring growth induced ORM hell right now. The struggle and existential threat is real. It can take days for them to even track an evil SQL query back to the actual code. There were fetch-one calls that literally carry a million rows back over the wire for that one returned entity. Indices get skipped due to the magic translation of a row.col.toUpper()=="STRING" into SQL.. when the db collation i…
The solution is to go "web scale" and add a technology with magical indexes and no transactions because IT FAST! What could possibly go wrong.
Re: We have used too many levels of abstractions
#394Earlier quoted context omitted.
You can actually see this with new frontend devs. They know only full SPA frameworks, they have never seen a dump of an HTTP message, headers and verbs are abstract things to them. Hell, many of them don't know you can have fully functional websites with zero JS, including payment, video, login, etc. I started to write an HTMX tutorial ( https://www.bitecode.dev/p/a-little-taste-of-htmx-part-1 ) because I noticed a l…
This is not a FE thing. Plenty of BE devs who don't know HTTP from their arsehole.
Similar with mediatr, I know conceptually that it "just" checks for the right classes in the loaded assemblies. But still feels like some weird incantation to use, to me. And I have such huge knowledge holes across all layers.
Sometimes i feel my lack of knowledge to such a degree, that I question whether I should even be a programmer.
Re: We have used too many levels of abstractions
#395Earlier quoted context omitted.
Are there good historical examples of this happening, where foundational knowledge is completely lost? I know I have read about it in books as a fiction, but I assume it must have already happened here before. Maybe its an oxymoronic question to ask, seeing as if its lost we might not even know its lost, but more in the vein of "We put the lime in the mortar because this is what we have always done", unaware of the a…
Since you’re citing fiction, have you read the foundation series? The original inspiration for that book was The Decline and Fall of the Roman Empire, which is a history book (arguably the first modern history book). Anyways, that just to say that people in post-Roman Empire Europe lived out the reality of lost knowledge. They lived with the remains of incredible art, architecture like the coliseum, public works like…
The decline in big public works were probably the result of the loss of an empire that could cocentrate resources.
I thought concrete did continue to be used, but differently?
This all seems to spring from the myth of "dark ages"
Re: We have used too many levels of abstractions
#396Earlier quoted context omitted.
You can actually see this with new frontend devs. They know only full SPA frameworks, they have never seen a dump of an HTTP message, headers and verbs are abstract things to them. Hell, many of them don't know you can have fully functional websites with zero JS, including payment, video, login, etc. I started to write an HTMX tutorial ( https://www.bitecode.dev/p/a-little-taste-of-htmx-part-1 ) because I noticed a l…
You can see this with a "new" ANY dev, because there are only 4 years of college and far more years are required to learn the increasingly complex technology environment. I graduated with a Computer Engineering degree, did assembly, C, microprocessor design, computer vision, and know a good bit about lower level stuff, how memory works, how networking works, etc. All the stuff people in this thread seem to be lamenti…
Yeah, but modern software development is trivial to learn, particularly in comparison to a computer engineering degree. You see "developers" here on HN gloating all the time about how they didn't need any post-secondary education at all to get their jobs; these frameworks are literally designed to be usable even by minimally skilled coders. You were in a much better position having to learn modern software development after a computer engineering education rather than having to learn the rudiments of computer engineering on the job after getting an education in modern web development.
Re: We have used too many levels of abstractions
#397Earlier quoted context omitted.
It is not elitist to point out the flaws in modern web devs who don't know what an HTTP protocol is and the structure of an HTTP request (headers vs body etc). I interview a lot of them who cannot explain the difference between a form submitted directly vs through Ajax but they surely know how to send a POST request through node/express.
I don’t even know the difference between a form submitted through JS vs a browser. Who cares? Unless there’s a problem, there’s no reason to know such things. And I’ve written http webservers by hand. People here have way too much confidence in their interview questions being a good signal for experience. It’s pretty wild.
I think you do. GP just phrased it oddly.
The distinction is between a traditional HTML form and browser page load, vs XMLHttpRequest.
Ultimately it's all HTTP though and on that level, there is no difference whatsoever.
Re: We have used too many levels of abstractions
#398Earlier quoted context omitted.
You can actually see this with new frontend devs. They know only full SPA frameworks, they have never seen a dump of an HTTP message, headers and verbs are abstract things to them. Hell, many of them don't know you can have fully functional websites with zero JS, including payment, video, login, etc. I started to write an HTMX tutorial ( https://www.bitecode.dev/p/a-little-taste-of-htmx-part-1 ) because I noticed a l…
I started writing a book for exactly this reason. https://www.networksfromscratch.com/ It will take me 10 years to finish it at the pace I’m going though :)
Re: We have used too many levels of abstractions
#399Earlier quoted context omitted.
I couldn’t agree more and it’s something I didn’t understand at all until my final year at university. I was talking with one of my professors and complained about having to learn and use SML and Eiffel for some projects when in the real world , I’d be using something like C (this was 1994). He asked me if I was there for an education or training. I think today it’s probably more true than ever. Schools are under pre…
I completely agree here. The problem was that there was a shortage of developers, and that most universities still only had CompSci degrees, not Software Engineering degrees, coupled with those degrees were 3-4 years long... So enter the code bootcamp, where you're basically given a hammer, and taught that every problem can be solved with it.. Now those bootcamps aren't all like this, and there were and are good ones…
I cannot stress how important my education was to my current understanding and success as a software engineer in the field. A poor education is a huge detriment. When I joined the workforce I found many colleagues without one ill prepared for some of the basics, like debugging kills, using tools outside their domain expertise, etc.
That said I don't think a formal education is REQUIRED, but without one you need a certain kind of perseverance and thirst for knowledge not everyone has. I've had the pleasure of working with several folks in that category, so a formal degree isn't for everyone.
Today, it appears specialization is happening much earlier in the education process without a general foundation. Specialists will always be needed, and larger orgs can get by just fine with exclusively specialists, as long as their communication skills exist to prevent silos. Larger companies can afford this. However a good generalist can replace a team of specialists when the latter budget is out of the question; a huge win for smaller orgs, start-ups etc.
The old joke that a good generalist is the "jack of all trades, master of none" has some truth to it, but as with all things, it's a tradeoff. A team of qualified specialists will definitely produce better work within their domain expertise, but at a cost that can be prohibitive when "good enough" is within reach.
Re: We have used too many levels of abstractions
#400What is up with the discourse lately - of course it’s all about the profits - we’re talking about companies right not non-profits? How else are they going to pay you?
The whole “expecting companies to care about so many things” apart from profit seeking mindset is just bizarre to me