We have used too many levels of abstractions
301–310 of 564 posts
Re: We have used too many levels of abstractions
#302DevOps isn't "that guy does everything". DevOps and Dev ARE different. Dev's product is what we sell to customers. DevOps product is the construction of a software development pipeline - from PR to production that ensures the policies and procedures of the company are enforced on the code base while setting up to code to function in the real world.
Dev designs the widgets.
DevOps designs the widget assembly line. DevOps job is to eliminate the Dev's pain points around deployment, resources, security, and compliance.
I know this sounds like gate keeping - but you should question the leadership of any company that merges dev AND devops. Any one coder is cannot a complete team - there's simply too much to know - unless you heavily rely on high level deployment products like AWS app server.
Now onto "abstractions"...
Your abstractions should focus on the domain language of your subject matter experts. The abstractions should, ideally, let a subject matter expert browse your code and shouldn't be too confused or overwhelmed.
Abstractions around technology like web or gui frameworks should be decoupled from your company's abstractions. Frameworks like that are just platforms that your product should plug into.
A gold standard for a company's code is that it could be easily cut out of a framework and plopped into another environment. A web app one day could be adapted to become a batch job that's run overnight somewhere else.
Every generation we have to relearn these principles because coders are pretty bad at teaching. There are few ways to write code well - compared to the myriad ways of writing code poorly.
Re: We have used too many levels of abstractions
#303Earlier quoted context omitted.
I've heard that advanced math has a similar problem, that some subjects are quite deep that only a handful of people really understand the topic and passing the knowledge down to younger mathematicians is not a given.
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…
The thing is, we tend to lose the knowledge that is deemed useless. Anything considered useful is well spread. The problem is when our opinion doesn't match the reality, we have something around a generation to prove it, or the chance is gone.
Mathematics is full of examples of things that were discovered again and again, until somebody found a use for them and they entered our textbooks.
Re: We have used too many levels of abstractions
#304Re: We have used too many levels of abstractions
#305Deal with it.
And if you really want to change shit around you, be damn sure to have lote of time and equal patience. And not least some understanding of how the human mind work in a professional capacity.
It's too fucking easy for any of us to simply throw our hands up and say "this is soo bad".
If you really want to understand something try to fucking change it and tell us how that went instead.
Everyone can tell stories about how bad shit is but very few can tell a story of the backbreaking commitment it takes to change shit.
Man up
Re: We have used too many levels of abstractions
#306Earlier quoted context omitted.
> they have never seen a dump of an HTTP message, headers and verbs are abstract things to them. When I was teaching programming, I had a fun party trick whenever we got to HTTP. I'd fire up netcat (in listen mode), then connect from a web browser and "serve" a website by hand. I'd show the students the HTTP request that came in, and just manually type out a simple HTTP response and they'd see it appear live in the b…
Not quite the same, but I remember sending emails via telnet. I showed that to a younger dev who was somewhat blown away by the fact it wasn't via some REST API.
Re: We have used too many levels of abstractions
#307> Question everything. Especially things that don't make any sense to you. Don't just assume that someone else knows better - that's how you quickly turn into a blind follower. That’s what I do by default since I was a kid, and I can tell you the social pressure not to is significant. I recall an interview I did once, and one reason I failed it was "questioning everything". It didn’t even felt like it, I was just ask…
> Questioning everything gets results, not friends. I'd argue that it depends how it's done. I used to work with a brilliant Data Scientist who had a PhD in AI. She asked so many questions — often about fundamentals — that it was like working with the Riddler. She generated a ton of insight as a result and identified missteps before they happened. Despite questioning everything she was arguably the most liked person…
To make this gender neutral: When questioning, don't be aggressive, and try to obfuscate that you are a potential rival.
Re: We have used too many levels of abstractions
#308One 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…
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.
Re: We have used too many levels of abstractions
#309I think there is one interesting angle to this problem. I am someone who grew up with the technology, as the levels of abstractions were being added. I am now benefiting from all those accumulated decades of knowledge. As the IT / development world was changing, I had enormous privilege and comfort to learn the things at the pace they were happening. Being able to assimilate changes over long decades. Be a witness to…
It's not just the natural order of things that such knowledge passes out of this world. It's one of many collective and affirmative decisions by people born before 1980 to take as much with them as possible when they go. I would be skeptical if it were just one thing, but after affordable college, affordable housing, affordable healthcare, affordable retirement, and a viable biosphere, it's become a pattern. That you seem to understand this on some level and don't care to try to mke a difference is even worse.