Hacker News new | past | comments | ask | show | jobs | submit login

Developer can be a programmer or a software engineer ( my definitions).

Programmers tend to be interested in cool new paradigms, tools, libraries, etc...

Software engineers tend to be interested in delivering robust and correct features. Consequently they are more conservative.

When companies hire, they should be clear what sort of developer they want. Programmer in a software engineering role will damage the code base and eventually leave in frustration.




> Programmers tend to be interested in cool new paradigms, tools, libraries, etc...

Yeah well guess what, a company does not care one iota about what its employees personal interests are, or what they think is cool. And it shouldn't.


This is nonsense. A company that doesn't care one iota about how its employees feel about their job ends up with high turnover, which dramatically increases costs in the long run. Good companies strike a balance between the needs of the employees, the needs of customers, and the bottom line. Any company that fails to strike that balance will lose in the long term.


The definition of a company and its goals and motivations, is clear, and it does not have any consideration for employee amusement. That's what the christmas party and company picnic is for, and they happen outside of working hours.

If you push your own amusement as a priority at work, at the expense of the goal of the company, you literally make the working environment dysfunctional.


This philosophy only works if you live in one of three simplified universes: either your employees are fully bought in to the company's goals, or you can always pay them enough money for them to keep working for you without any intrinsic motivation, or your employees really are interchangeable cogs and retention doesn't matter.

None of these simplified models reflect the real world. No employee is fully bought into the company's goals. Odds are you don't actually have enough money to beat all other offers. And the cost of turning employees into interchangeable cogs is that you need a lot more of them than if you're willing to let them be individuals.

The result is that while the company has its own goals, those goals are best served by making sure that the employees are at least happy enough that turnover is kept low. And a big part of keeping creatives happy (not just in software) is letting them try new things and experiment.

(This is aside from the tangible benefits that your organization gets from allowing people to be creative, which I think is not negligible.)


Boring codebases should be generated, not maintained.

Codebases become boring because bad tools require a lot of repetition and meaningless boilerplate (which also encourages mistakes). Experience with bad tools is much less valuable because they can’t amplify my time and effort. If a job did not allow me to maintain valuable and marketable skills, they would have to compensate me a lot for creating a résumé gap and making future job searches harder.

Incidentally I also found this to be sort of a drawback with Google. Experience with completely proprietary platforms also has little value outside the one company where they’re available.


That makes no sense, it's just a question of role-candidate fit. Why would a company not care?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: