Live data from Hacker News

Coding is boring, unless

blog.enki.com

141–150 of 158 posts

Re: Coding is boring, unless

#141

Earlier quoted context omitted.

> other devs are stuck with technologies that are now considered outdated Isn't that a case of not letting developers rewrite anything? How did it got so outdated? Anyway, the Javascript world sucks. Frameworks shouldn't get outdated in just a few years, and any tech where they do is doing something very wrong.

> Isn't that a case of not letting developers rewrite anything? How did it got so outdated? If you're writing (or rewriting) using whatever's hip/new there's a good chance it will be "outdated" within a few years. New languages and frameworks come out all the time and nobody is able to determine with certainty which have real staying power - but something that has been in [wide] use for 10+ years is much more likely…

There's also a chance writing your project on that 10+ years old platform will cost you enough time/money to write it three times in a more modern one.

Well, you sound like somebody who I'd agree with most actual decisions about this. But I do disagree with the overall position. Holding down too much at "it works, don't change" has actually worse consequences than adopting immature frameworks all the time. That's not exactly like music - software tools do get old.

Good platforms, of whatever age normally last for a long time and should be safe. But if for some chance one didn't last, one shouldn't be too resistant to replacing it (piecewise and slowly), because the cost of not doing that is just too big.

Re: Coding is boring, unless

#142

Earlier quoted context omitted.

quite. It seems to be the curse of the era that the techies are constantly chasing the "shiny". It seems that the web, through the likes of PHP and JS, has turned "programming" into a form of self expression. That the language used etc is supposed to say something about the programmer as a person.

Because developers are usually "let go" before management or sales, they have to keep their skills up to date in order to get their next gig. That's where the shiny comes in. Shiny gets hired. Dull doesn't. The problem is when those developers _only_ want to work on shiny. Developers need to understand that they need to work on maintenance projects as well.

The other perhaps more prominent issue with Javascript in particular is that the new thing often dies quickly, so then you need the next new thing.

Re: Coding is boring, unless

#143
This doesn't work in the long-run. I'm an independent consultant and when I was just starting out I had the same thoughts. And it was great to be in full control and always use the latest shiny new things.

However I eventually got shiny new fatigue. In the long-run, the real thing I found motivating was completing valuable work for clients in the most efficient way possible.

And perhaps that's the true reason OP has found coding boring in the past. Not because of anything he thinks are the reasons, but because he's worked at too many places with inefficient management and poorly-defined projects. If so, new-shiny is only a bandaid on the root problem, and the real solution is to ensure projects are well defined, understood to be useful, and well-managed before a programmer ever even sees it. New-shiny may make it even worse in the long run.

AND...microservices??? I can't imagine a scenario where the benefits outweigh the cons for as small a team as he's got. Of course they're all the rage and people get into microservices for all the wrong new-shiny reasons, but escaping boredom has to be the worst one I've ever heard.

Re: Coding is boring, unless

#144
post #46

Earlier quoted context omitted.

The business perspective shouldn't overlook the direct and indirect costs of engineer turnover.

Aren't these vagabond workers destined to leave anyway? They seem to me that they have this wanderlust to switch jobs and try something new every couple year and get a kick out of it. I don't think that there's much to do to retain them and make them feel excited all the time.

> try something new every couple year and get a kick out of it

Or it's the only reasonable way to get a decent raise. Staying at one job for too long can end up losing you a lot of money in the long term, unfortunately (and make it harder to get a new one when you decide to go looking).

Re: Coding is boring, unless

#145

Earlier quoted context omitted.

I've seen these types of projects where a few developers just went overboard with all the new frameworks and languages. Two years or so later most of them have moved on and other devs are stuck with technologies that are now considered outdated. Especially in the JS world, that's a real scenario. I am all for keeping your engineers happy. Heck I am one of them. "Exciting" can mean "better architecture" or "extensible…

> other devs are stuck with technologies that are now considered outdated Isn't that a case of not letting developers rewrite anything? How did it got so outdated? Anyway, the Javascript world sucks. Frameworks shouldn't get outdated in just a few years, and any tech where they do is doing something very wrong.

> Frameworks shouldn't get outdated in just a few years, and any tech where they do is doing something very wrong.

I don't think it's that they get outdated. It's that they each try to solve the hardest problem of web UI programming: keeping track of state and binding data in an asynchronous world. Unfortunately, each one ends up with pain points in different places.

Each successive framework tries to solve the new pain points by rethinking the original problem, because reworking the original framework to ease that pain point would often require massive restructuring of apps built on that original framework - the issues are often architectural.

Angular, for example, is fantastic for getting a very simple CRUD app up and working. But try to do anything fancier and things get very hairy very quickly with a web of controllers, directives, scopes, etc. Getting into a place where one data change cascades and kills your app is a very real concern. That's the pain point React/Flux attempts to solve. Angular can't solve it without some major architectural changes - see the hubbub about Angular2.

We're still in the baby stage, I feel - while each successive framework may seem faddish, they don't really get outdated. Out of favor for new projects, perhaps, because the developers who used the older framework were so frustrated with the previous tool's rough edges. Things will probably settle down soon (especially with the fantastic language improvements in ES2015) :)

Re: Coding is boring, unless

#146
post #78

Earlier quoted context omitted.

Ha. I mean, every engineer loves a green field project, and everyone wants to do a technically sweet project. But engineers of all people should understand that not every project can be technically sweet, and certainly not every project can be greenfield. Could you imagine if everytime you wanted your HVAC upgraded, your contractor decides to rip out your entire current system and replace it with something new ("this…

Engineers always under estimate the amount of business logic in an existing application. This is one reason my mainframe apps are so hard to replace, they often have 30 years of business logic built into them.

I agree with you on principle, but I've always wanted to see one of these "30 years of business logic" apps up close. What's most of that business logic? I can't imagine all of it being essential and at the minimum possible complexity.

Re: Coding is boring, unless

#147
post #146
post #78

Earlier quoted context omitted.

Engineers always under estimate the amount of business logic in an existing application. This is one reason my mainframe apps are so hard to replace, they often have 30 years of business logic built into them.

I agree with you on principle, but I've always wanted to see one of these "30 years of business logic" apps up close. What's most of that business logic? I can't imagine all of it being essential and at the minimum possible complexity.

"Normally, component A completes then sends a message to B, who blocks while a file operation occurs, and then sends a confirmation to C which updates the UI. When configuration option D is enabled, B must make the write twice because of X, which requires component E to act as a delegate to intercept the normal message from B to C so that this can occur without changing the implementation of C, since it has been externalised and is used in six other projects. Also, file writes are disabled on weekends, except the fourth weekend in February, unless this weekend doesn't occur."

-- snippet from a more or less realistic set of requirements for a "2 years of business logic" app. I do not want to be here in another 28 years...

Re: Coding is boring, unless

#148

Earlier quoted context omitted.

> other devs are stuck with technologies that are now considered outdated Isn't that a case of not letting developers rewrite anything? How did it got so outdated? Anyway, the Javascript world sucks. Frameworks shouldn't get outdated in just a few years, and any tech where they do is doing something very wrong.

> Frameworks shouldn't get outdated in just a few years, and any tech where they do is doing something very wrong. I don't think it's that they get outdated. It's that they each try to solve the hardest problem of web UI programming: keeping track of state and binding data in an asynchronous world. Unfortunately, each one ends up with pain points in different places. Each successive framework tries to solve the new p…

You know, if Microsoft developed all its other applications in VBA and ran them inside Word, they'd be a laughing stock.

But everyone else in the world thinks it's sane to write applications inside a thing meant for displaying documents...

Re: Coding is boring, unless

#149
post #148

Earlier quoted context omitted.

> Frameworks shouldn't get outdated in just a few years, and any tech where they do is doing something very wrong. I don't think it's that they get outdated. It's that they each try to solve the hardest problem of web UI programming: keeping track of state and binding data in an asynchronous world. Unfortunately, each one ends up with pain points in different places. Each successive framework tries to solve the new p…

You know, if Microsoft developed all its other applications in VBA and ran them inside Word, they'd be a laughing stock. But everyone else in the world thinks it's sane to write applications inside a thing meant for displaying documents...

Got a better solution, with wide adoption, that can get you on just about every internet-enabled consumer-facing computer in the world with the same codebase? :)

Re: Coding is boring, unless

#150

> You can rewrite it from scratch, using a different language or technology. This way, you learn something new rather than patching legacy code. And if your architecture doesn’t allow this yet, you can take steps to improve it, and learn some devops skills in the process. In a professional environment, we develop software not because it's fun, but because it supports the business and/or because it is the business. Th…

The quote is missing important context. Just want to clarify that author is speaking about microservices specifically. The whole point of microservices is that one could be rewritten in a matter of days without involving substantial risks and expenses.

The cost of managing microservices and whether multilingual environment pays off is a separate question. Rewriting a now much better understood solution using an appropriate technology could have dramatic effect.

Post reply on HN