News for hackers. Stuff that matters.
Re:Ask HN: What makes a good place to work? by ryandrake on Wednesday April 05, 2017 @12:38PM (#14043369)
Here's one thing I've been thinking about more and more: If you think about your tech job as a sports game, you have offense plays and defense plays. Offense can involve anything from creating great things, building sw architecture, designing features, presenting results to management, prioritizing workload, thinking ahead, and planning for the future. Defense includes fixing bugs, cleaning up technical debt, putting out fires, dealing with angry customers, defending the team from micromanaging execs, answering pop quizzes from the boss, justifying your actions, proving you're doing your job right, doing postmortems, and looking backwards. The offense plays are all about creating stuff and driving things that happen, while the defense plays are always about responding to things that happen and anticipating so you can respond better.

The worst jobs I have had were nothing but running defense day in and day out. Putting out fire after fire, with management who evidently hired me to put out fires yet don't trust me to do it right. There must always be a little defense, but primarily I want to be running offense, getting in front of things, and driving forward. It's empowering, satisfying, and you leave for home every day thinking "without me, XYZ wouldn't have gotten done" rather than "what urgent thing did I fail to respond to today?"

When applying for a role, I'd try to figure out how to probe interviewer to get a feel for whether or not I'm applying to be on the offense or defense team. It makes a big difference morale-wise, job satisfaction-wise, sanity-wise!

Re:Ask HN: What makes a good place to work? by falcolas on Wednesday April 05, 2017 @12:46PM (#14043435)
Creators vs. Maintainers.

There are some people who really enjoy the Maintainer role, and will not enjoy being on a Creator team, and vice versa. It's always important to know which you are, so you don't find yourself going crazy or facing a skills mismatch.

Re:Ask HN: What makes a good place to work? by wink on Wednesday April 05, 2017 @03:33PM (#14044857)
Good point, I'd like to add another model: "people who want to ship stuff to the customer" vs "people who strive on solving emergencies" vs "people who love to create internal tools"

I.e. the first group wants a feature request and ship it fast in a package (or maybe in small steps, doesn't matter), the second group doesn't really "ship", they are reactive problem solvers - sometimes sniffing out the weirdest edge cases on a whim. And group three prefers to write the first 80% of a solution, like an MVP, improve their coworkers' happiness, but aren't so good at following through to polish the last 20%.

Re:Ask HN: What makes a good place to work? by dasmoth on Wednesday April 05, 2017 @01:45PM (#14043962)
I agree.

Current trends in software ("agile" in particular), seem to push against allowing this kind of distinction to develop, and give negative connotations to maintaining code developed by another team ("thrown over the wall" seems to be the preferred expression).

Any thoughts on how to structure things so that maintainers and creators can both focus on their strengths without too much tension?

Re:Ask HN: What makes a good place to work? by falcolas on Thursday April 06, 2017 @11:02AM (#14051126)
Finding the right balance usually requires, unfortunately, a very mature company with a policy of keeping talent happy and a strong R&D department (which requires a lot of income to maintain). The creators get to thrive in R&D while the maintainers get to thrive in working on very mature (and usually profitable) codebases.

I say unfortunately, since those companies tend to look like (and are) Oracle, IBM, Microsoft, etc. Oracle, in particular, has a policy that you can make any lateral move you want at almost any time; at the cost of pushing out your eligibility for a raise.

This kind of flexibility doesn't exist in most startups; I've personally been turned down for a lateral move within a startup because I "failed" a whiteboard interview. Startups also don't tend to attract the Maintainer personality since they are considered startups because they're creating something new.

I also think they have trouble with easily accepting lateral transfers because there's so much raw talent banging on the doors that it's appealing to bring in outside help on new projects. Especially since a transfer will be viewed as a loss of critical knowledge about the project that just switched into maintenance mode. What's missed is that the person who requested the transfer is probably going to leave anyways because of a the mismatch with their new job role and what they want to do.

Re:Ask HN: What makes a good place to work? by friendzis on Wednesday April 05, 2017 @03:38PM (#14044903)
Mostly long-term perspective, I think. Sprints (releases, versions, however you call it) are very lucrative, because being short term they offer quick turnout, sense of quick progress (in terms of tickets closed, features delivered) and bring easy to achieve victories, visible in probably every daily team call/meet.

The whole premise of various Agile methodologies (at least as I see it) is building minimal viable solution that solves the problem at hand without investing in bullet proof solution, because requirements may change (not necessarily client requirements. Internal design requirements as well) and that investment may be gone. From management perspective a minimax game to maximise "billable hours", which rarely include bugfixes and do not include maintenance. Though it seems to sweep under the rug the fact that next sprint may be built on top of weak assumptions under that MVS.

Without long term goals a team needs a person who is experienced enough to see problems down the road, caring enough to refactor stuff themselves and capable enough to squeeze deliverable required by ticket and maintenance duties into story point value - rockstar developer, and those tend not to be available in bulk.

Re:Ask HN: What makes a good place to work? by silversmith on Wednesday April 05, 2017 @03:36PM (#14044889)
I've seen this kind of senior maintenance developer being allowed to flourish only once in my career. In my opinion, the key was project scope. It was complex enough and had been in production long enough so that this maintenance wizard always had a wide range if issues to choose from. He got the reputation of knowing the whole complicated mess by heart, and being able to resolve the problems nobody else could. As a result, the management did not dare move him to new feature development, he got to work on what he liked, did it good, and thus cemented his position more and more.

If the project had been any less of a mess (lucrative, highly lucrative mess), somebody in management would have insisted on "not wasting the talent" and moved him to churning out new features. Because features are always more important, unless the bugs become perfectly capable of sinking the whole project.

Re:Ask HN: What makes a good place to work? by wsp_nomad on Wednesday April 05, 2017 @10:04PM (#14047363)
Wow, that's deep. Well said and I think that's exactly the situation I'd like to be in as well--being a member of the offensive push.