Live data from Hacker News

Etsy CTO: We Need Software Engineers, Not Developers

thenewstack.io

151–160 of 160 posts

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

#151
post #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: htt…

It's not at all recognised as an engineering discipline in the UK. Engineers in the UK generally are recognised and chartered by the Engineering Council

http://www.engc.org.uk/

While they will charter someone as an ICT Technician (someone working with computer hardware or software), they wont recognise them as a chartered engineer without relevent civil engineering qualifications and experience.

You wouldn't use engineer on your CV in the UK in my experience, you would use software developer or programmer.

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

#152
post #97

Earlier quoted context omitted.

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

I'm curious why it irks you. There is actually software engineers. At the U of A, where I went, Software Engineering is separate than Computing Science. Software Engineering was run by the Engineering department, and they had the same rigours as the rest of engineering has. However, Computing Science was run by the Science department.

Software engineering is a separate degree from Computer Science or Computer Engineering in (at least some) Canadian univs. Source: A Canadian client of mine.

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

#153

Earlier quoted context omitted.

> Well that's a start. They don't offer one in my state/country yet but I'll definitely take it when they do. It's not that simple. The quickest path to licensure is to graduate from an ABET-accredited engineering program (4 years), pass the fundamentals of engineering exam (which, likely being the "other disciplines" exam, requires general knowledge of engineering and science), perform engineering work supervised by…

I've been shipping software for almost 14 years. I've been picking up formal specifications, predicate calculus, etc rather well I think. I'm not afraid of doing the work: it's important! And besides, the maths are beautiful.

Unless those 14 years were under the supervision of a PE who was stamping your work, your work experience isn't meaningful for the purposes of licensure. Why would it be?

I view the PE in software as being for managers on software-intensive engineering projects, say for example, plant controls or electronic medical devices. If you look at the current licensing path, you'll see that it requires deep domain-specific engineering knowledge (e.g., mechanical engineering) or broad engineering knowledge (e.g., statics and dynamics + fluid dynamics + materials science + ...), neither of which are common among self-labeled software engineers: this is why I view a PE in software as being intended for a controls engineer who does a lot of software projects (as one example). It's not really relevant for most software domains, nor is it intended to be.

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

#154

Earlier quoted context omitted.

> In Quebec, programming is not considered an engineer-reserved task and therefore experience cannot be used towards getting the PE. In practice, it means that even thoug there is such a thing as software engineering degrees (most universities offer it), no graduate ever becomes an engineer. APEGA has essentially the same rule in Alberta. That's what makes it impossible to log enough eligible hours to qualify for a P…

APEGA accepted my work experience record without issue, and I don't think it was a problem for anyone I worked with. Maybe that's because I worked at an unusually engineering-heavy shop? The software was rigorously tested for safety reasons, and a P.Eng. had to sign off on each release. It's reasonably common for engineering grads of any speciality to simply end up working somewhere they don't need a P.Eng. While it…

I work mostly in the web services and web related technologies, and I've never even encountered a software engineer. However, I would want a software engineer working on my pacemaker, or perhaps other fields where safety is paramount like medical devices.

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

#155

Earlier quoted context omitted.

> In Quebec, programming is not considered an engineer-reserved task and therefore experience cannot be used towards getting the PE. In practice, it means that even thoug there is such a thing as software engineering degrees (most universities offer it), no graduate ever becomes an engineer. APEGA has essentially the same rule in Alberta. That's what makes it impossible to log enough eligible hours to qualify for a P…

APEGA accepted my work experience record without issue, and I don't think it was a problem for anyone I worked with. Maybe that's because I worked at an unusually engineering-heavy shop? The software was rigorously tested for safety reasons, and a P.Eng. had to sign off on each release. It's reasonably common for engineering grads of any speciality to simply end up working somewhere they don't need a P.Eng. While it…

> Maybe that's because I worked at an unusually engineering-heavy shop?

Must be. Of the dozens of people who graduated from the Software Engineering program that I know or have worked with, you're the first I've heard of who's actually managed to obtain their P.Eng. I've known a couple of people who talked to APEGA extensively and were told that nothing they were doing (writing code, architecting solutions, etc) counted. Probably comes down to 99.99% of places aren't doing safety critical work and/or don't want to pay for formal verification.

Glad to know the title is being used, anyways.

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

#156
post #110

Earlier quoted context omitted.

all of them really mean "Hadoop' babysitter with a dash of full-stack ...because that's all that most business require, 99% of the time. To you know, get things done and make money and stuff. Which may not fit your needs, but why be "depressed" about it? It's just the way things are in the commercial world. If you want someone with more fine-grained stills, try articulating that in your job postings. What we see, all…

That's rarely why these enterprise frameworks are bought or operated. More often it's for various permutations of the "no one got fired for buying IBM" excuse. Big showy re-orgs around Hadoop are mostly for status effects, hardly ever related to engineering realities. And in the few firms that actually do have real engineering trade-offs that favor the use of those types of frameworks, they tend to hire people who ar…

You didn't get picked for the special snowflake job that you trained for then and are made to do grunt work instead?

Welcome to the real world.

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

#157
post #144

Earlier quoted context omitted.

There you have it: developers rarely apply scientific principles to development. The native people would've switched to Ada or Modula-3 long ago if they did. Cleanroom and formal code reviews would've had more takeup after empirical studies showed they worked. Models for safe concurrency from Hansen, Ada, Eiffel, etc would've been widely deployed. Frameworks for web app issues like from OWASP would've eliminated thos…

You make it sound like it's developers fault, while in my experience that's merely the market that does not ask for nor reward spending time on correctness (or security) Maybe we are still too early in the initial gold rush?

I think it's both but mostly the market. I've written essays condemning the demand side before as ultimately responsible. Yet, remember the users make up most of the demand. They want it faster, more features, cheaper, and so on with very few willing to sacrifice any of that for quality or security. So, companies focusing on the latter mostly withered with remainder in niche. Most deliver users (or shareholders) what they wanted or a knock off of it.

The part where I see developers at fault is rejecting options that improve things, for them and users, that they can actually use within this mess. An example might be the web security frameworks for PHP while developing a PHP service. It takes almost no work to use them with many components pre-built. They prevent total disruption of service or record theft from hackers. So, why aren't the developers using them?

This problem manifests all over the stack for many preventable issues. Most developers consistently refuse to put in a little extra rigor or effort upfront to prevent problems down the line. Those that do... a little closer to engineers to me... experience rewards then write blog posts or papers encouraging others to do it. They're mostly ignored. This is the problem. Management and users aren't causing this one.

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

#158

Earlier quoted context omitted.

There you have it: developers rarely apply scientific principles to development. The native people would've switched to Ada or Modula-3 long ago if they did. Cleanroom and formal code reviews would've had more takeup after empirical studies showed they worked. Models for safe concurrency from Hansen, Ada, Eiffel, etc would've been widely deployed. Frameworks for web app issues like from OWASP would've eliminated thos…

It may very well be that the software industry needs a more formal structure of Professional Engineers like the rest of the applied sciences / engineering disciplines have. http://www.nspe.org/resources/licensure/what-pe What disciplines in software development truly need the concept of a a big-e Engineer? Which don't? http://theinstitute.ieee.org/ieee-roundup/opinions/ieee-roun... More fundamentally, have the practi…

It could be too immature to start licenses and such. That's an open topic of discussion. Our field is new and changes rapidly. It wouldn't surprise me if we haven't learned all the key things we should know. Yet, engineering of software is a term that goes way back to Hamilton of Apollo, Dijkstra, Cleanroom, etc. It's clear meaning was that software was built piece by piece, analyzed, integrated, tested and maintained all using methods proven by experiment in Comp Sci and industry. A scientific approach to building software whose methods could be evaluated by their results and consistency.

Against this, there were people who threw together Fortran, COBOL, later C, and so on. They had an idea, wrote whatever code seemed to implement it, maybe did some testing, and put that stuff in production. Problems, often predictable, occurred that disrupted service and leaked people's data. Over time, almost trial and error, they re-discovered a subset of prior engineering practice that prevented some problems, continued to ignore others, and developed best practices of their own within silo'd groups. Their work continued to be lower in quality and predictability versus those like Altran that continued engineering tradition.

So, I think there's a clear distinction between two approaches to constructing information systems. One strictly leverages proven techniques in careful combination with lots of review, analysis, and testing. One does whatever it feels like with some feedback from others in their camp and optionally some engineering tricks. The disparity in results confirms both that there's a difference and the superiority of engineering rather than developing software.

Now, the Etsy CTO might be adding his own stuff in there. This probably isn't warranted as it does cause confusion. I'm sticking with the original definitions centered on problem-solving philosophy and evidence-driven practices.

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

#159
post #73

Earlier quoted context omitted.

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

It's not at all recognised as an engineering discipline in the UK. Engineers in the UK generally are recognised and chartered by the Engineering Council http://www.engc.org.uk/ While they will charter someone as an ICT Technician (someone working with computer hardware or software), they wont recognise them as a chartered engineer without relevent civil engineering qualifications and experience. You wouldn't use engi…

> It's not at all recognised as an engineering discipline in the UK.

Which was why I stipulated "the US", "nationally", and "many states".

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

#160

Earlier quoted context omitted.

I've been shipping software for almost 14 years. I've been picking up formal specifications, predicate calculus, etc rather well I think. I'm not afraid of doing the work: it's important! And besides, the maths are beautiful.

Unless those 14 years were under the supervision of a PE who was stamping your work, your work experience isn't meaningful for the purposes of licensure. Why would it be? I view the PE in software as being for managers on software-intensive engineering projects, say for example, plant controls or electronic medical devices. If you look at the current licensing path, you'll see that it requires deep domain-specific en…

I see.

I'm still enthused about introducing more formal methods and "engineering" practices into software development. I think it is very useful and indeed as the world becomes more reliant on open-source software... there needs to be some sort of protection of the public good, no?

Thanks for taking to time to respond to my, sometimes naïve, comments.

Post reply on HN