Live data from Hacker News

Developer Manifesto – You Are an Artisan, Not an Engineer

content.nanobox.io

61–70 of 91 posts

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#61
post #36

Earlier quoted context omitted.

> Has he never heard of the second system effect? My team and I were recently working on a replacement for an old service. One weekend I thought, "I could re-write the whole thing in a way better, clever-er way!" I stayed up way too late hacking on it. It was my masterpiece. Sunday night I uploaded it to our org's GitHub and then on Monday the team lead was like "Um, what's that?" and then I knew that the feelings I'…

But it was better!

Haha yeah, I really thought so :)

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#62
post #47

Earlier quoted context omitted.

Aerospace software engineer here. :-) I feel perfectly content to deem my work as "engineering". I can understand why someone quickly whipping up a small web application (which is not to imply that all web applications are quickly whipped up, nor that all web applications are small) might reasonably feel that their work is not engineering. So since I've also done quick little web applications, what do I think the dif…

I've worked in banking. I (re)wrote a fuel estimation program for cargo aircraft (so software that is used only prior to a flight). Let's just say the two have very little to do with each other when it comes to process and leave it at that.

Do you think that banking software could be developed more like aerospace software?

Do you think that it should be?

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#63
post #62

Earlier quoted context omitted.

I've worked in banking. I (re)wrote a fuel estimation program for cargo aircraft (so software that is used only prior to a flight). Let's just say the two have very little to do with each other when it comes to process and leave it at that.

Do you think that banking software could be developed more like aerospace software? Do you think that it should be?

It could be, and in some cases (for instance the transaction portion, interest calculations) it should be. Reporting and statistics are less important and an error there could be fixed without affecting the balances, especially when it is internal stuff.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#64

Oh my god this is such pompous article. None of these things are specific to software developers, and 90% of the things it says are platitudes that mean nothing. There are even some that are just wrong, like the 'throw it away' section. "It's not the code that is valuable. It's the understanding you've gained from building it." What? Maybe at some places, but where I work, the software I write is NEEDED. And this: "N…

> throw something away and do it again. This jumped out at me too. This is such a HUGE fallacy. If what you have written is core to or is the product you're selling, you can't just rewrite it! Software evolves over time, and it can become difficult to replace it when it gains features and bug fixes for random edge conditions. Properly replacing existing software requires having a consistent API against which you are…

For sure - when writing upgrades to existing systems these days, 90% of the work goes into the transition; how do you start using the new system without breaking the thousands of people who rely on the old one?

But yeah, I kinda have a feeling I know where he is coming from with some of his thoughts... my first few jobs were at startups that never went anywhere. We made great software, but never gained any customers because there was no real market for what we made.

After a while, you get REALLY focused on the craft of your code, because it is all you have. You can throw out old stuff and rewrite it, because it doesn't matter, you don't have customers depending on you. You already made what is needed by the business, the problem is there IS no business.

My current job is with a large CDN, serving a huge number of actual real customers with real demands. I don't have time to treat every piece of code I write as a piece of art. It is simply a tool to further the business.

Personally, I much prefer my current job. I would rather create things that actually matter, rather than amazing art that no one uses.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#65

No, an artisan is an artisan. A developer is developer. That's not to say some developers aren't artisans, but a lot of people are developers because it pays the bills: they build things, and are good at building things, because they see it as a means to an end. Some do it as a means of expression: it is their medium for creation. Both modes of operation, and everything in between, are equally viable and valid. I gue…

> No, an artisan is an artisan. A developer is developer. That's not to say some developers aren't artisans, but a lot of people are developers because it pays the bills That's the norm for artisans (which is just a skilled worker in a trade involved in making things, especially by hand), not a distinction. Artists may be a different story, but artists aren't the same thing as artisans.

I'd argue the diff between artisan & artist is semantics. Conceptually they both yearn for the elevation that comes along with your output being considered an art.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#66
post #41

Earlier quoted context omitted.

Can you elaborate on what you find disturbing? The implication of high failure rate, or the shift of focus to reliability?

If I had wrote that, it would have been about how it led to the development of the Cesarean section operation. In the US, and many other places, the prevalence is much higher than the medical need. When there is no medical need for a C-section, there really isn't any benefit over the risks to the mother and child. Also--and this will probably sound quite hand-wavy or too woo-woo for most of HN's demographic (I assume…

And once a mother has a c-section, most (all?) future births are via c-sections as well.

There is a cost to the mother - major surgery - to the benefit of children. Modern society considers this a worthwhile trade, but it would have meant the death of the mother not even a century ago.

I have no real way to tie this back to programming; other than perhaps to note that we're likely still in the dark ages of programming; the programming equivalent of a cesarean section is likely still years away.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#67
post #47

Earlier quoted context omitted.

> But the article isn't arguing that, the article seems to be arguing we are something more than engineers. But we are not even engineers, let alone more. There are some people active in the production of software that would qualify as engineers but that's a tiny fraction and they're not going to be found too far from medical devices and aerospace.

Aerospace software engineer here. :-) I feel perfectly content to deem my work as "engineering". I can understand why someone quickly whipping up a small web application (which is not to imply that all web applications are quickly whipped up, nor that all web applications are small) might reasonably feel that their work is not engineering. So since I've also done quick little web applications, what do I think the dif…

Personally, I've never even had to really consider working around issues like those that are presented here:

https://c3.nasa.gov/dashlink/static/media/other/ObservedFail...

I also don't really consider myself an engineer: I'm self taught, I don't have a degree, I've never had to formally prove my software, and the most failures in my software can cause is some potential loss in revenue.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#68
Our field may be grounded by solid engineering and conceptual foundations, but we have much more in common with the medieval blacksmith than we do a modern machinist.

For example: Given a bog-standard relational database and the requirement to be able to create, read, update, and delete rows in the database, what is the best way to present that via an HTTP API? What language will be used? What will the API look like? What edge cases will be considered? How long will it take?

You'll probably get a unique answer for every dev you ask, even though they'll all consider it to be a trivial task. You'll probably also get fairly unique clarification questions about the spec from each one as well.

I'm not sure, when we can put the same task to 100 people and get 100 unique results (and few (if any) would agree to monetary penalties for failures), that we're strongly positioned within the engineering discipline.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#69
post #60

Earlier quoted context omitted.

People in our own field tend to assume that because there are "software engineers" who are clearly not doing engineering must mean that no software engineers are engineers. I think a lot of "software engineers" fall under what in another industry would be called a "technician" which muddies the discussion. Although I'm not sure I'd even put the bar as high as medical, financial, and military. A sufficiently large web…

Something else interesting is that the notion of engineered aerospace software does not necessarily have anything to do with the software itself. A lone hacker in their garage very well could author the exact same software. The difference is in how it was developed, and that there exists a paper trail to demonstrate it was developed and reviewed to sufficient standards. Requirements and tests and reviews don't get in…

If you read the PE exam for Software Engineering. It is very much that. A lot of process management.

Re: Developer Manifesto – You Are an Artisan, Not an Engineer

#70
post #47

Earlier quoted context omitted.

Aerospace software engineer here. :-) I feel perfectly content to deem my work as "engineering". I can understand why someone quickly whipping up a small web application (which is not to imply that all web applications are quickly whipped up, nor that all web applications are small) might reasonably feel that their work is not engineering. So since I've also done quick little web applications, what do I think the dif…

Personally, I've never even had to really consider working around issues like those that are presented here: https://c3.nasa.gov/dashlink/static/media/other/ObservedFail... I also don't really consider myself an engineer: I'm self taught, I don't have a degree, I've never had to formally prove my software, and the most failures in my software can cause is some potential loss in revenue.

That's a fantastic link, thank you for posting. I spent an hour reading that.
Post reply on HN