Live data from Hacker News

Overthinking it and the value of simple solutions (2019)

korecki.me

21–30 of 58 posts

Re: Overthinking it and the value of simple solutions (2019)

#21
post #14

Earlier quoted context omitted.

I guess valid TLS is not boring enough for this website?

I don't really understand why we have decided that static html pages need to have a TLS certificate

Imagine a static website that provides crucial information, for instance, some regulation you have to follow. Your enemy MITM attacks that website and sends you a different page, which gets you in trouble.

The certificate guarantees that the information you are getting is from the entity who actually has access to the server serving the website.

Re: Overthinking it and the value of simple solutions (2019)

#22
post #6

I shudder to think about the amount of man hours wasted on a relatively simple website that has been completely over-engineered with the likes of React and/or Angular JS when a simple server side MVC framework and a bit of jQuery could have sufficed. The industry is rife with people that instead of looking at a problem and choosing the appropriate tech to solve the problem. They choose the technology and then try to…

While not disagreeing with your point, it is also worth noting that in some contexts developers are regarded as unemployable if they don't have experience with whatever the latest technology is so it is hardly surprising that people use every opportunity they can to get exposure to the latest tools. 'Modern' hiring practises cause a lot of problems.

That’s a real problem. I feel that me and my team have done serious damage to our resumes by solving the last few projects in a simple and straightforward way. Instead we should have done cloud, containers, React and whatever even if it made the solution very complex. This became really clear a few months ago when management two layers up gave one of our projects to another company who will move it to AWS. There were already plans for the transition and we said we could do it easily but the director decided that we have no experience and can’t do it.

My advice now is to always jump on the latest trend. It may make no sense for the business but it makes total sense for the devs. In many companies doing what’s right for the business will impede your career.

Re: Overthinking it and the value of simple solutions (2019)

#23
post #6

Earlier quoted context omitted.

While not disagreeing with your point, it is also worth noting that in some contexts developers are regarded as unemployable if they don't have experience with whatever the latest technology is so it is hardly surprising that people use every opportunity they can to get exposure to the latest tools. 'Modern' hiring practises cause a lot of problems.

It's a self-fulfilling prophecy. Programmers develop new technology and paradigms to solve problems caused by existing technology and paradigms. As those new technologies are adopted, they are perceived to give an edge. And so, this creates a demand for experience in this new technology. As time moves on, the impact of the new paradigm or new tech is getting better understood and the initial optimistic bias aligns wi…

“The bigger issue here is that - unlike tire manufacturing - the subsequent cycles of innovation are too short for a majority part of the workforce to keep up with changes. Why? First, because the complexity of those solutions creates a prohibitive cost for their employers to easily migrate on short notice and keep up with the cycle. Second, because the vast majority of new tech are just small optimizations in the real world with a limited impact on business making migration a risk and not an opportunity.”

It seems the worst thing that can happen to you is to work on a successful, stable product. Almost by definition you will become an outdated dinosaur. To keep up your own market value you constantly have to insert friction by jumping on new stuff that doesn’t really improve anything.

Re: Overthinking it and the value of simple solutions (2019)

#24

I shudder to think about the amount of man hours wasted on a relatively simple website that has been completely over-engineered with the likes of React and/or Angular JS when a simple server side MVC framework and a bit of jQuery could have sufficed. The industry is rife with people that instead of looking at a problem and choosing the appropriate tech to solve the problem. They choose the technology and then try to…

IME React leads to simple solutions far more than jQuery spaghetti.

"Driving your car is far more safe while drunk than blindfolded and on cocaine"

You can sprinkle some jQuery here and there without it being 'spaghetti'. Also, how is having thousands of dependencies for a bit of HTML rendering 'simple'?

Re: Overthinking it and the value of simple solutions (2019)

#25

Earlier quoted context omitted.

I don't really understand why we have decided that static html pages need to have a TLS certificate

Imagine a static website that provides crucial information, for instance, some regulation you have to follow. Your enemy MITM attacks that website and sends you a different page, which gets you in trouble. The certificate guarantees that the information you are getting is from the entity who actually has access to the server serving the website.

even if you have something like a "donate" link that's goes to a third party payment processor. a MITM could redirect that link the their own paypal collections page.

Re: Overthinking it and the value of simple solutions (2019)

#26

Earlier quoted context omitted.

It's a self-fulfilling prophecy. Programmers develop new technology and paradigms to solve problems caused by existing technology and paradigms. As those new technologies are adopted, they are perceived to give an edge. And so, this creates a demand for experience in this new technology. As time moves on, the impact of the new paradigm or new tech is getting better understood and the initial optimistic bias aligns wi…

“The bigger issue here is that - unlike tire manufacturing - the subsequent cycles of innovation are too short for a majority part of the workforce to keep up with changes. Why? First, because the complexity of those solutions creates a prohibitive cost for their employers to easily migrate on short notice and keep up with the cycle. Second, because the vast majority of new tech are just small optimizations in the re…

Nobody cares how the pie is made. They simply want pie.

When it comes to new tech and frameworks, those who pay don't care if use React, Angular or Svelte. They only want a working product that provides value for money.

Losing business has little to do with the technology that's being used or sold, it has everything to do with the problem that the business intends to solve or the need it intends to cater. And how well it succeeds in doing that.

You don't become an outdated dinosaur overnight because someone comes up with technology that brings marginal improvements to the customer. You become an outdated dinosaur if your competition figures out a radical new way of doing things.

IKEA didn't roll-up the furniture business because it re-invented chairs, tables, beds or cupboards. It succeeded in doing that because it successfully marketed self-assembly as a convenience to it's customers, eliminating a big part of the production chain. Moreover, that - in turn - opened up the door to disposable furniture by introducing low-cost materials, and a faster design cycle that has come to a point that it defines furnishing fashion trends.

My point is that - as an engineering team - you could decide to switch to the newest framework, stay on edge in tech trends, and still miss the boat completely because business still sticks to an outdated model while customer behavior - wants, needs, trends,... - have already shifted a long way ago.

Put differently, it's still possible to build a Facebook/Reddit/Twitter clone based on the latest and greatest technologies and still fail because you expect to push those out of that market. Whereas it's viable to do the same thing, but only if you differentiate by catering to the needs of a specific market segment. Hence why you see platforms like Mastodon thrive without exponential growth, even though Twitter caters to billions.

A successful or stable product is by definition not tied to temporary trends. It caters to a universal need that people will always have. When the market is saturated and sales plateau, the trick then isn't to fundamentally re-invent your product. It's to use what you've learned and tackle an adjacent segment of the market with a new product or service.

In software the vast majority of companies are one-trick ponies that stick to a single product or service that's too specific, and doesn't allow them to expand to other areas. That's what makes them so vulnerable for either a competitor that brings true business innovation, or fundamental shift in what consumers want next.

Put more succinctly: people tend to rail against corporate, boring, byzantine constructions such as SAP. But that's exactly how they operate. They started out doing payroll and accounting, and they expanded from that by incorporating adjacent parts of business processes in their software such as logistics, material management and production planning. A corporation like SAP doesn't go along in the short-run hype cycle unless a significant game-changer comes along such as affordable cloud solutions.

Now, hiring for experience in specific technologies or frameworks only makes sense if you're going to hire someone for the long haul, whereas if the horizon of your business doesn't extend beyond the next 2 or 3 quarters, well, you're shooting yourself in the foot by rejecting good, well-motivated candidates based on them not having 5 years experience with bleeding edge FancyFramework2020.

Re: Overthinking it and the value of simple solutions (2019)

#27

I shudder to think about the amount of man hours wasted on a relatively simple website that has been completely over-engineered with the likes of React and/or Angular JS when a simple server side MVC framework and a bit of jQuery could have sufficed. The industry is rife with people that instead of looking at a problem and choosing the appropriate tech to solve the problem. They choose the technology and then try to…

Over time requirements and feature sets tend to grow, and if those features include client-side updates, with enough time you'll end up with jQuery Spaghetti, which is exactly what happened to many server-side render web applications built in the years preceding the early 2010s.

Re: Overthinking it and the value of simple solutions (2019)

#28

Earlier quoted context omitted.

“The bigger issue here is that - unlike tire manufacturing - the subsequent cycles of innovation are too short for a majority part of the workforce to keep up with changes. Why? First, because the complexity of those solutions creates a prohibitive cost for their employers to easily migrate on short notice and keep up with the cycle. Second, because the vast majority of new tech are just small optimizations in the re…

Nobody cares how the pie is made. They simply want pie. When it comes to new tech and frameworks, those who pay don't care if use React, Angular or Svelte. They only want a working product that provides value for money. Losing business has little to do with the technology that's being used or sold, it has everything to do with the problem that the business intends to solve or the need it intends to cater. And how wel…

”Nobody cares how the pie is made. They simply want pie. When it comes to new tech and frameworks, those who pay don't care if use React, Angular or Svelte. They only want a working product that provides value for money.”

When paying nobody cares about the tech. When hiring, all they care about is the tech.

Re: Overthinking it and the value of simple solutions (2019)

#29

Earlier quoted context omitted.

IME React leads to simple solutions far more than jQuery spaghetti.

"Driving your car is far more safe while drunk than blindfolded and on cocaine" You can sprinkle some jQuery here and there without it being 'spaghetti'. Also, how is having thousands of dependencies for a bit of HTML rendering 'simple'?

You assume that all webpages are "a bit of HTML", which is imho an arrogant way to look at Client-Side web development.

Re: Overthinking it and the value of simple solutions (2019)

#30

I shudder to think about the amount of man hours wasted on a relatively simple website that has been completely over-engineered with the likes of React and/or Angular JS when a simple server side MVC framework and a bit of jQuery could have sufficed. The industry is rife with people that instead of looking at a problem and choosing the appropriate tech to solve the problem. They choose the technology and then try to…

It's a statement I see regularly on HN and that confuses me. Something like Next.js gives you the power and structure of React while doing a great job of hiding any complexity under the hood. And it scales really well, whether you need a complex website or just a set of static pages.

I'm not sure why jQuery is mentioned either. It was popular when I started programming but fell out favour when its major functionalities were implemented in ECMAScript.

What am I missing?

Post reply on HN