Live data from Hacker News

We Invite Everyone at Etsy to Do an Engineering Rotation

codeascraft.com

51–60 of 72 posts

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#51

I like the rotation idea, but I can't say I see much logic in the desire to have new engineers deploy to production on their first day mentioned/linked in the opening. At VMware (or at least on my team) we try to have new engineers commit code their first week (this doesn't always work out, and when it does it's usually the 4th or 5th day) and I almost feel that's too soon...first day just seems nuts. You don't see t…

Are the projects you work on business glue written in a high-level language and accompanied by tests?

At the places/projects that have these policies, (and whenever possible) software won't (or shouldn't) be rocket surgery.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#52
post #49
post #47

Earlier quoted context omitted.

In my experience, I think it has more to do with getting an engineer acquainted with the pipeline from writing code to getting it live on production. Once he/she is familiar with this, it takes a huge barrier out of the way for the person to be productive whenever they are ready to write some non trivial code in the codebase.

That's exactly right. It's not about pushing meaningful or complex code to production, it's about pushing a small change so that a new engineer can see the whole process from end-to-end. We do have people push on their first day here at Gridium and I think it's really beneficial. The new engineer sees how we work, and the rest of the team sees that new name in the git logs, on chat, and everywhere else. It sends a st…

> it's about pushing a small change so that a new engineer can see the whole process from end-to-end

Is that really an accurate portrayal of the process though? Most changes aren't small and take days of development, not minutes or hours. Not to mention code reviews and QA.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#53
post #49

Earlier quoted context omitted.

That's exactly right. It's not about pushing meaningful or complex code to production, it's about pushing a small change so that a new engineer can see the whole process from end-to-end. We do have people push on their first day here at Gridium and I think it's really beneficial. The new engineer sees how we work, and the rest of the team sees that new name in the git logs, on chat, and everywhere else. It sends a st…

> it's about pushing a small change so that a new engineer can see the whole process from end-to-end Is that really an accurate portrayal of the process though? Most changes aren't small and take days of development, not minutes or hours. Not to mention code reviews and QA.

Most isn't all tho! At any time I can come up with a dozen really small fixes. Changing the timing of a task, updating a string, or any other small things that are always hanging around.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#54
post #26

Earlier quoted context omitted.

Never working for Zappos, good to know. That actually probably works pretty well, but I have done my time in a call center and never want to go back.

If customer service is stressed so much at Zappos, I imagine working in their call center would be a different experience than most?

Zappos seems to stress a rock star image of it's executives and that it has a "family atmosphere". Meanwhile they pay low wages to their customer service and warehouse employees. It's really hard to believe they truly care while paying employees barely enough to stay afloat.

This is pretty typical of all call centers. Most employees bond together to create a "work family", while they while away the hours until they find something better.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#55
post #49

Earlier quoted context omitted.

That's exactly right. It's not about pushing meaningful or complex code to production, it's about pushing a small change so that a new engineer can see the whole process from end-to-end. We do have people push on their first day here at Gridium and I think it's really beneficial. The new engineer sees how we work, and the rest of the team sees that new name in the git logs, on chat, and everywhere else. It sends a st…

> it's about pushing a small change so that a new engineer can see the whole process from end-to-end Is that really an accurate portrayal of the process though? Most changes aren't small and take days of development, not minutes or hours. Not to mention code reviews and QA.

Yes, it really is an accurate portrayal of the process. Etsy isn't pushing days of development out in a deploy. That would be considered poor practice at Etsy.

To make a sizable feature live, you use a bunch of methods in cooperation:

* Only mutate a bare minimum number of executed lines as code deploys.

* Turn features on and off quickly with (much faster) config deploys.

* Release and test features for internal users first (in production).

* Ramp features up to small amounts of production traffic at a time.

* Deploy new code paths and queries so that they're executed, but aren't visible to end users. (You can use this to detect performance problems early.)

But what you never do is sit on days of sizable code changes that you don't deploy. If you try to deploy a massive diff people in your push will generally suggest that you not do it.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#56

Earlier quoted context omitted.

So instead of temporary staff, they take people off of their current projects to work in customer service?? This doesn't sound like a good idea to me. Especially since I've been in positions where I have been on tight deadlines. The most likely outcome in this scenario is that the employee will not only have to get their customer service rotations done, but also get their tight-deadline project done. With me, it's di…

> So instead of temporary staff, they take people off of their current projects to work in customer service?? This doesn't sound like a good idea to me. Why not? It improves solidarity. Actually when I worked at Microsoft doing tech support, I got pulled off the phones to help with sudden mandatory tech support rotations due to virus outbreaks. It was great to see marketing managers have to help people assess whether…

Customer service & tech support departments often suffer from broken communication and lack of resources. I'd rather resources be devoted to improving communication and documentation between customer service and other departments. It's kind of a novelty to have people who shouldn't be on the phones or who don't want to be on the phones taking customer calls. Perhaps you'll get lip service that things will change, but those promises fade as quickly they are off the phones.

Customer service is often seen as a burden/cost, and the employees expendable. Unless the company thinks differently, then you'll have issues.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#57
post #15

I'm continually impressed by Etsy Engineering's descriptions of their practices and process. Rotations are a wonderful idea and, IMO, should be done more regularly.

Their descriptions of their practices and processes are the best part about their practices and processes. For all of Etsy's talk about how wonderful they and the enlightened philosophies that drive them are, it's very hard to see evidence of this working with them as a customer or developer.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#58

Earlier quoted context omitted.

> it's about pushing a small change so that a new engineer can see the whole process from end-to-end Is that really an accurate portrayal of the process though? Most changes aren't small and take days of development, not minutes or hours. Not to mention code reviews and QA.

Yes, it really is an accurate portrayal of the process. Etsy isn't pushing days of development out in a deploy. That would be considered poor practice at Etsy. To make a sizable feature live, you use a bunch of methods in cooperation: * Only mutate a bare minimum number of executed lines as code deploys. * Turn features on and off quickly with (much faster) config deploys. * Release and test features for internal use…

> But what you never do is sit on days of sizable code changes that you don't deploy.

That's certainly sensible but I wasn't suggesting sitting on "days of sizable code changes" - just that it takes days to make the code changes (particularly once you factor in code review and QA).

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#59

Earlier quoted context omitted.

So instead of temporary staff, they take people off of their current projects to work in customer service?? This doesn't sound like a good idea to me. Especially since I've been in positions where I have been on tight deadlines. The most likely outcome in this scenario is that the employee will not only have to get their customer service rotations done, but also get their tight-deadline project done. With me, it's di…

> So instead of temporary staff, they take people off of their current projects to work in customer service?? This doesn't sound like a good idea to me. Why not? It improves solidarity. Actually when I worked at Microsoft doing tech support, I got pulled off the phones to help with sudden mandatory tech support rotations due to virus outbreaks. It was great to see marketing managers have to help people assess whether…

"Why not? It improves solidarity."

There are plenty of better ways to do this.

"I got pulled off the phones to help with sudden mandatory tech support rotations due to virus outbreaks."

It doesn't sound like you are in any kind of engineering role. When you are on the phones, you don't have one large project to work on with deadlines and due dates. It's easy for you to be shifted over to another position.

"If management know of the rotation, they will have to adjust the deadlines. How many deadlines are really necessary beyond a simple measurement rationale? Management can usually adjust as needed, or reschedule the rotation to a better point."

This sounds like a nightmare to deal with. In addition to tight deadlines as a manager, I now have to deal with customer service rotations?? It's hard enough to get projects completed with upper management changing scope (which has happened at pretty much any place I've worked over the last 15 years).

"Isn't the point though to ensure that people are engineering and developing software with customer service in mind?"

I'm fine with this as long as management realizes that deadlines will need to change and it might take a couple of days (or even a week) to get back into the flow of a project that an engineer/developer has been taken off for customer support. In my experience, management doesn't know or care about either of these things and thinks you can just move people around when needed.

I'm glad I run my own company now, so I don't have to deal with this bullshit any longer. I would never implement something like this.

Re: We Invite Everyone at Etsy to Do an Engineering Rotation

#60

Earlier quoted context omitted.

> So instead of temporary staff, they take people off of their current projects to work in customer service?? This doesn't sound like a good idea to me. Why not? It improves solidarity. Actually when I worked at Microsoft doing tech support, I got pulled off the phones to help with sudden mandatory tech support rotations due to virus outbreaks. It was great to see marketing managers have to help people assess whether…

"Why not? It improves solidarity." There are plenty of better ways to do this. "I got pulled off the phones to help with sudden mandatory tech support rotations due to virus outbreaks." It doesn't sound like you are in any kind of engineering role. When you are on the phones, you don't have one large project to work on with deadlines and due dates. It's easy for you to be shifted over to another position. "If managem…

The basic thing is:

If management is going to be realistic, they can't leave deadlines unadjusted and still expect rotations through other departments.

But if you want a good business, you need to cross-train, which means this sort of rotation. That's something Toyota learned, something Etsy has learned, and something Microsoft inadvertantly reinvented if by accident.

Post reply on HN