Live data from Hacker News

Etsy CTO: We Need Software Engineers, Not Developers

thenewstack.io

71–80 of 160 posts

Re: Etsy CTO: We Need Software Engineers, Not Developers

#71
I recently applied for a position at Etsy, and one of the main points I make in my self summary is that I am most motivated by craftsmanship and an attention to quality (I think a lot of developers feel this way, and more should practice speaking up about it for interviews).

I was told I would have a phone interview with someone from the hiring team. Weeks went by and I got zero response. I figured I had just been rejected with usual company non-response b.s.

But after about three weeks I received an impromptu message from HR saying they were sorry about the delay, and also that unfortunately someone internal had put in a request for the job I would have interviewed for, and they wanted to proceed with their internal candidate.

I was grateful for the message and thanked that HR representative. I think it spoke well of Etsy that they bothered to give me some reply about my status.

But I also thought, as far as engineering goes, that it sounded less than ideal to me that their hiring process could go like that. Why wouldn't internal candidates have been vetted prior to spending time on the application process and phone interviews with others?

They said they thanked me for my understanding and would be in touch about future roles. I have never heard back. So it's puzzling that they seem to want to hire developers with a focus on craftsmanship, but aren't willing to consider me after previously at least feeling that I was good enough for a phone screen.

It's not so much that this is "bad" or "good" for Etsy, but more that it gives an overwhelming feeling of "What on earth is going on inside Etsy? What are they doing?"

Re: Etsy CTO: We Need Software Engineers, Not Developers

#72

I am sympathetic to the distinction. I had a bunch of applicants for a position claiming to be "Distributed Systems Engineers" mostly because they'd stood-up, maintained, and or used a Hadoop or Spark cluster in their current or prior job. But to me that was more of an advanced (one hopes) end-user. Someone who could take a bunch of large, mostly-complete logical components that somebody else engineered and then use…

I've literally seen the opposite interviewing as distributed computing person, most people ask for a distributed engineer and then want someone to stitch together Hadoop and Spark or how to effectively leverage HDFS. When you start talking about concurrency issues, Lamport clocks, consensus algorithms, etc. their eyes glaze over and they ask how to efficiently rotate an array. Clearly something is broken but I'm not…

This a thousand times. For many firms, the roles of "data scientist" "data engineer" "distributed system engineer" and "platform engineer" are all fully synonymous, and all of them really mean "Hadoop* babysitter with a dash of full-stack whenever we arbitrarily feel like asking you to do other stuff too." It's depressing.

* or substitute whatever other enterprise framework you want

Re: Etsy CTO: We Need Software Engineers, Not Developers

#73

> Engineering, as a discipline and as an activity, is multi-disciplinary. It’s just messy. I would qualify that and say "software engineering," as we understand it today is messy. That's because it's not engineering as a recognized discipline (and seems to be the reason why we can get away with calling ourselves engineers and not be sued). If your process involves thinking immediately about how to write the solution…

> That's because it's not engineering as a recognized discipline (and seems to be the reason why we can get away with calling ourselves engineers and not be sued).

I'm consistently surprised at how little programmers/developers and software engineers are aware of the progress made here over the past 5 years. Software engineering most definitely is a recognized engineering discipline nationally and in most states:

http://ncees.org/about-ncees/news/ncees-introduces-pe-exam-f...

http://insight.ieeeusa.org/insight/content/careers/97473

We can debate whether or not these developments are good for our profession (good, in my view). However, it's no longer disputable, at least in the US, that software engineering is a recognized engineering discipline. At least unless you don't recognize the authority of the IEEE/NCEES in this matter (in which case you don't recognize the credentials of most US engineers from any engineering discipline).

That said, I strongly agree with your emphasis on formal methods. I'm disappointed that software developers/engineers don't put more emphasis on these tools, even if they fail to convince their managers to actually use them. Yes, we don't need to use formal methods for a few jQuery scripts on a web page, but there are lots of places where they could find good use.

As one example, for general application development, Ada/Spark is an excellent example of an engineering-focused language and environment, and I wish other languages took this approach. For embedded designs, solutions like Ivory (and Ada, too) provide a fairly rigorous approach to software development. TLA+ is another interesting tool (that I know relatively little about). These are the sorts of tools we need to emphasis.

Unfortunately, most clients/companies aren't really interested in these methods, even when they're building applications where security matters. There are obvious exceptions, like some medical and avionics software, but even the automotive software I've looked into seems to have been developed in a sloppy, ad-hoc manner (and surprisingly, often by people trained as traditional engineers).

Re: Etsy CTO: We Need Software Engineers, Not Developers

#74
post #38

Earlier quoted context omitted.

"Specialization is for insects." -Robert A. Heinlein

Just because a famous author said it doesn't make it true. Specialization is for people living in societies. Modern civilization would never have come into existence and cannot continue to exist without specialization.

I was half joking but you're right. That said, for pioneers, explorers and engineers, breadth of experience is very helpful.

Re: Etsy CTO: We Need Software Engineers, Not Developers

#75
post #3

More I see cross-engineer that do backend to fronend and more I see problem. There is no way a database guru can create a super nice UI with CSS and JavaScript. Same thing for an expert in JavaScript and web cannot be also an expert in AI, database and xyz stuff. I am all about having people touching a little bit of everything, but at the end, everyone has an expertise and they should do 80% of their time there. Mult…

I agree with the sentiment that people should specialize and spend the majority of the time working what they are proficient at.

That said, I personally like working with engineers who at least try to participate in the design/front-end process instead of just passing off to me like they don't give a shit. Their opinions can be informative and it's also a way for me to help teach them a thing or two. Plus sometimes knowing small UI things can help alleviate my workload so that I'm not doing really tiny tasks associated with a project that's primarily driven by a backend engineer.

As a longtime designer/UI guy, I have no illusions of ever being an elite backend programmer. But I actually enjoy learning backend on the side. I feel like it's a way of me having a better understanding how the teams entire codebase works and allows me to have a slightly better understanding of what my team members discuss during meetings. And even for side projects, it's just empowering to be able to implement a product idea from end to end (even though yes, it's likely not stellar code). Overall, just having a growing understanding of how it all connects together is truly rewarding.

Re: Etsy CTO: We Need Software Engineers, Not Developers

#76
post #56
post #34

His distinction between 'engineer' and 'developer' is artificial and easily criticized. That isn't what is interesting in this article. There are a lot of things that are. Their method for avoiding the proliferation of different tools is interesting. His discussion of the kind of people they want, once you ignore the semantics, is interesting. They want people who take responsibility and are always pushing the bounda…

> His discussion of the kind of people they want, once you ignore the semantics, is interesting. semantics == meaning. once you ignore what he's trying to say, the discussion ends, no? edit: yes, i could care less about semantics of semantics, but i can't bring myself to it.

Whether 'developer' and 'engineer' really mean what he says they mean is a question of semantics. Getting bogged down in a discussion of the appropriate uses of said terms, however, ignores what he is trying to say.

Re: Etsy CTO: We Need Software Engineers, Not Developers

#77

Joel Spolsky wrote an essay on "leaky abstractions," and from reading the interview with the Etsy CTO, the two seem related. Allspaw is making the distinction between engineers and developers this way. To him, an engineer is willing and able to get under the hood, if necessary; whereas a developer is limited to using libraries and frameworks as-is, and filing bug reports on them when things don't go as planned, or fe…

As someone who likes to "get under the hood", I'm used to grumbling about developers these days who just glue together existing frameworks.

But the real cause of my dissatisfaction is that I find it harder to glue together existing frameworks -- I don't know where to begin, until I've dug in a bit to find out how something works underneath. Meanwhile other people whose approaches I think of as simplistic are able to leap in and get things done more quickly than I can.

(Similarly I find it almost impossible to learn much of a foreign language without studying the grammar, while some other people can immerse themselves and become quite conversant without ever thinking about grammar.)

Maybe the "non-engineer" developers are just working at a higher, and more immediately useful, level of interpretation.

Re: Etsy CTO: We Need Software Engineers, Not Developers

#78
post #34

His distinction between 'engineer' and 'developer' is artificial and easily criticized. That isn't what is interesting in this article. There are a lot of things that are. Their method for avoiding the proliferation of different tools is interesting. His discussion of the kind of people they want, once you ignore the semantics, is interesting. They want people who take responsibility and are always pushing the bounda…

I agree that the use of the 'engineer' vs 'developer' terms in his context was not important.

What does irk me is that in real life, software developers who meet the Etsy CTO's standard often can't call themselves engineers. In many countries, misrepresenting oneself as an engineer without accreditation is against the law! [1]

In the U.S., there's no official occupational category for Software Engineer. It's just Software Developer (Applications), Software Developer (Systems), and Computer Programmer.

It is possible to get accreditation (http://ncees.org/exams/pe-exam/, under Software), but it didn't appear very useful to me aside from being able to call yourself an Engineer.

[1] http://www.canadianconsultingengineer.com/engineering/quebec...

Re: Etsy CTO: We Need Software Engineers, Not Developers

#79
post #9

I've always thought of it as: An engineer engineers solutions, frequently from scratch or very small pieces. A developer develops solutions, often from larger pieces, focusing on implementing them to solve business needs. It's subtle but I think there is some differentiation. I think the vast majority of companies only require developers, or mostly developers, including Etsy.. because let's be honest what is Etsy doi…

I think of it as, engineers try to ask/answer the "should" questions -- as in, how should a thing work, what's the right way to get this done, etc. A developer takes business requirements, or sometimes just acceptance requirements, and implements them directly.

This totally explains everything about my current job......

Re: Etsy CTO: We Need Software Engineers, Not Developers

#80
And are you willing to pay your "software engineers" what they are worth? because that's often the issue at end. Plenty of good "engineers". Not that many startup willing to pay them fairly. You want the best people but you don't want to pay them the "best" money? you get what you pay for.
Post reply on HN