Live data from Hacker News

Coding is boring, unless

blog.enki.com

41–50 of 158 posts

Re: Coding is boring, unless

#41
> In our team, we try and prevent anyone from working on the same code, product or dataset for more than three months. This period is a bit arbitrary and perhaps too short for larger companies. But we generally believe in fast rotations.

To contrast, here is Rich Hickey on Mastery: (https://gist.github.com/prakhar1989/1b0a2c9849b2e1e912fb)

A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero.

Re: Coding is boring, unless

#42

> 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…

Here's how I would interpret things. Each method ("old & boring", "new & interesting") has costs and benefit for the company, and cost and benefits for the developer. The naive way to make a decision on which tech to use is to do a CBA for just the company, but this essentially incurs hidden costs for the developers (boredom) which eventually is inflicted on the company (quitting). So make your best effort to estimate those hidden costs and factor them into your decisions.

That doesn't mean always choosing new & interesting, it just means that when the business CBA gives only a slight preference for old & boring, you instead err on the side of new & interesting. This is just advice "on the margins". When the boring tech is clearly much better than the interesting tech, you still stick with the former.

Re: Coding is boring, unless

#43
post #38

> 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…

It's a wise decision if you care about engineers being engaged and liking their job.

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 new polymer ducting is awesome!") just to keep their engineers happy?

There's a time and a place for all types of projects, and the mark of a successful engineering effort is to have engaged engineers regardless of the 'cool factor' of their work.

In fact, this whole thing stinks of poor leadership (not just management) and undisciplined engineers.

Re: Coding is boring, unless

#44

> 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 author assumes that you'll lose engineers in about 2 years if you don't keep coding fun and he assumes that trying new things when coding is fun.

If you agree with those two assumptions, then the guess it is a good value proposition he proposes.

Re: Coding is boring, unless

#45
This is great advice. Much more important than free pizza and foosball.

Regarding re-writing micro-services, I would be interested to hear how this turns out for people in practice and how 'micro' these services are.

Re: Coding is boring, unless

#46

> 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 business perspective shouldn't overlook the direct and indirect costs of engineer turnover.

Re: Coding is boring, unless

#47
Reads like a whiner to me. Gets bored and switches jobs every two years? Doesn't want to maintain anything not written by him when he can rewrite it? These are immature attitudes. I bet his rewrites introduce a ton of new bugs because he hasn't taken the time to understand what the old thing did.

Re: Coding is boring, unless

#48
post #38

> 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…

It's a wise decision if you care about engineers being engaged and liking their job.

In the backend, a new language for a new service would likely be ok, if it's pretty small.

If you chose any of the major frameworks for your application you'll be good. Django, Rails, Java EE, Spring, Play Framework, Meteor. These aren't likely to go away anytime soon, and they've been around for a while.

On the front end it's a much more dangerous approach. If you have one or two pages that use the latest flavor of the month, Backbone(2011) Knockout(2012), Angular(2013), React(2015), you'll be ok.

The problem comes when you just re write your entire front end app in one of these. I like to experiment with front end technologies on one page, but I would never buy into the SPA for the entire app. The shelf life is way to small. They'll still be supported probably.

If your trying to keep or hire developers, putting backbone.js as a tech you use probably won't get as many applicants as say React.js. Since most front end devs right now are trying to introduce React into current job or jump to a job where they use it.

Re: Coding is boring, unless

#49

Earlier quoted context omitted.

>I hope that's somebody's living quarters in the photo, and not their office! I've worked at a couple of offices that felt tightly packed, but they were nothing by comparison to that ;) That looks like a typical university hackathon to me. Certainly not excusable if it is an office. Thankfully my only workspace (at an internship) had nicely sized desks for everyone, and the company was looking to expand by renting mo…

I've been to the offices that look like that - I always assumed it's a typical startup setup. Frankly, I probably wouldn't last more than a week in such conditions - I don't respond well to sharing personal space with other people for prolonged periods of time.

And doing serious development on lap tops realy! you need some decent 2 or 3 monitor set ups with a nice i7 workstations with some nicer mechanical keyboards and mice.

Yes I know you can get docks etc for laptops but its far more expensive for the same performance.

Re: Coding is boring, unless

#50
post #41

> In our team, we try and prevent anyone from working on the same code, product or dataset for more than three months. This period is a bit arbitrary and perhaps too short for larger companies. But we generally believe in fast rotations. To contrast, here is Rich Hickey on Mastery: ( https://gist.github.com/prakhar1989/1b0a2c9849b2e1e912fb ) A wide variety of experiences might lead to well-roundedness, but not to gre…

TL;DR: "I work at a startup that provides aids for learning new things aimed at developers. Here's a 1000 words advertisement."

It may very well loving learning as a person, but the whole pice is incredibly onedirectional and single minded.

What about build automation? Testing? Deployment of all those unrelated technologies?

What about every line of code becoming "legacy" in six month?

Post reply on HN