And aside from that, what the article mentioned is human error. And honestly, I do not think that other online communication protocols will eliminate human errors.
And aside from that, what the article mentioned is human error. And honestly, I do not think that other online communication protocols will eliminate human errors.
Context: I am very familiar with several JetBrains IDEs and CI/CD in general, and a bit with GitHub Actions.
Please, can someone describe in a couple of sentences what this actually does?
There's something that seems very satisfying about loading software from tape, too.
That's what I love about coding. All you need is a computer and an idea and nobody can stop you creating it.
Uhhh.. as someone who used to load software from tape on a CPC 464 ages ago, I can tell you that it was painfully slow. Nothing satisfying about it for me...
Developing on high-end laptops should definitely not be an excuse to deliver slow software, and in the teams I work in, we do pay attention to performance. You are right though, a lot of software is a lot slower than it should be and my opinion is that the reason is often developers that lack fairly basic knowledge about data structures, algorithms, databases, latency,... One could say that time pressure on the project could also play a role, but I strongly believe that lack of knowledge plays a much bigger role.
Now, aside from that, also keep in mind that users (or the product owner) become more and more demanding about what software can and should do (deservedly or not). The more a piece of software must do, the more complex the code becomes and the more difficult it becomes to keep it in a good state.
Lastly, in my humble opinion, the lowest range budget laptops are simply not worth buying, even for less demanding users. I think that most users on a low budget would be better off with a second-hand middle or high range laptop for the same price. (I am talking here about laptops that people expect to run Windows on, no experience with Chromebooks.)
But people who have only done capital A agile and scrum are so buried in the philosophy that they don't understand that there are far better ways to do things.
Why would the code base be worse when advanced language features are used?
Beyond that, you're asking a bunch of (probably) introverts to have a social meeting every. single. morning. That couldn't possibly cause issues with job satisfaction could it?
I did scrum for the first three or so years of my career. In my latest role we don't, and it's a way, way better daily routine.
Also, I really don’t see it as ‘social’ meeting, to me it’s a focused technical meeting about the work that is going on.
Most experienced developers know that unnecessary complexity is the absolute worst enemy. You literally cannot overstate the harms of unnecessary complexity... It is absolutely and inherently harmful. But to the junior or mid-level developer, complexity is a sign of intelligence; that, along with the ability to churn out thousands of lines of code per day.
On my own projects, I never allow this complexity, but when you're working for a company, they don't like it if you point out that there is a complexity issue. They'll think that maybe you're just not smart enough and are jealous of or trying to demoralize the 'genius junior dev' who is churning out 2k lines per day! Truly Kafkaesque situation.
I honestly didn't know what to do in my last job. I was doing a lot of PR reviews but I just let the 'most productive' junior dev continue adding complexity because that was what the founder wanted me to do. Every time I tried to talk about reducing complexity, I would get brushed off, so I just stopped trying.
It's quite a ridiculous situation actually. Because all the code I write is high quality; highly maintainable, everyone is able to easily add features and make changes to it, but when I work on other people's ugly, over-engineered code, it's a struggle.
So from the outside, it looks like I'm slow when working with other people's code, and it looks like other developers are fast and adaptable since they can easily work with my code... So basically I look like I'm the one who is a low performer.
The winning strategy is clearly to write over-engineered code, then try to socially engineer the situation so that you only end up working on your own code or other people's high quality maintainable code (if there is such a thing at your company because people who produce such code tend to get laid off)... While at the same time, you need to try to ensnare your colleagues to work on your complex code so that they end up looking unproductive relative to you... Because huge amount of code + visible features is how directors decide on promotions and layoffs... It's always about picking low hanging fruits, sprinkling sugar on top and then personally delivering it to the boss on a silver platter; easy and visible.
Much of software engineering nowadays is social engineering; ensuring that you are only assigned to decent quality maintainable and highly visible projects, always hitchhiking on top of the work produced by good developers and dumping your own low-quality output on others to entrap them. Sigh... Then after some time, these big companies end up with ridiculously low productivity expectations... Which is great for social-scheming low performers who are used to this game of racing to the bottom.
Also, people like me who can see what's going on are never promoted to positions where I can have the last say on such things. It feels like the entire tech economy is just a massive bullshit jobs factory at this stage. All about pretending to be highly productive while in fact being counter-productive.
That is a big claim to make…
I do follow you on the complexity of code and that good code should avoid unnecessary complexity (‘unnecessary’ being key here).
I have used some of those tools myself, and for the code that I could use help of an AI tool, I, again and again, receive junk: code that looks plausible but that does not compile, uses apis or libraries that do not exist and so on. In the end, it just made me waste time.
I feel this is similar to asking whether there would be value in paying for a well-written book on a topic, compared to just searching and reading information online on that topic, be it official documentation, or be it third-party information from blog posts, other articles.
In my opinion, a well-written course or book will give you a much deeper knowledge in a much more efficient way than what you get from ChatGPT or from searching the internet.