News for hackers. Stuff that matters.
Re:Absolute truths I unlearned as junior developer by taneq on Friday June 07, 2019 @09:51AM (#20124448)
The big one for me was the realisation that the code doesn't matter. I mean sure, it does, to us. It's what we do. But really, code doesn't matter.

To the end user, what matters is that we solve their problem. We let them do their job, and we make that job as easy as possible. And that's what they pay us for.

And to the company we work for, what matters is that we solve the end user's problem, and that we do so in an expedient and economical manner, so that it costs less for us to do so than the customer pays us.

Of course, for us to continue doing this, in the long term, we need to innovate and architect and uphold standards and stay on top of technical debt. And all of that put together is "make the code good". But that's an end to the means, and the customer doesn't care what horrors awake when they click that dialog box button as long as the result they needed pops out at the end.

Re:Absolute truths I unlearned as junior developer by pdpi on Friday June 07, 2019 @11:01AM (#20125236)
This is why calling people "coders" annoys the hell out of me. There was a popular blog post a long way back[1] about how you shouldn't call yourself a "programmer" because that builds the expectation that programs are the key output of your work. "Coder" takes this problem even further — your job is no longer to build a program (with all the thought and design work that entails), but rather to type out code.

I'm not a coder, or a programmer. I'm a problem solver, and I tend to specialise in the sort of software infrastructure-y problems that are usually solved through code. If you think of yourself as a problem solver first and foremost, then you'll often realise that the best solution involves zero code.

This ${problem}-solver versus ${solution}-user gets even worse when people go beyond define themselves as technology-du-jour users, doesn't matter if it's Rails, React, blockchains, big data, ML, AI...

1. https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...

Re:Absolute truths I unlearned as junior developer by cc81 on Friday June 07, 2019 @11:16AM (#20125396)
Problem solver can be the title of pretty much any job though.

"I'm a problem solver, I fix problems by diving down and welding broken things at oil platforms"

"I'm a problem solver, I make sure the books are correct at the end of the financial year"

etc. I mean it is correct but if someone calls themselves a coder/programmer/software engineer (even if they are not real engineers) then I know roughly what they are doing each day even if the value they create and what they are working on can be wildly different. Just like a deep sea welder.

Re:Absolute truths I unlearned as junior developer by pdpi on Friday June 07, 2019 @11:31AM (#20125553)
Yeah, I wasn't entirely clear on that bit :) There absolutely is plenty of room for a word more specific than "problem-solver". But our choice of words matters — words carry nuance.

In some ways I'd consider "software engineer" as equivalent to "novelist" or "journalist" where "programmer" maps to "writer" and "coder" corresponds to "typist". Software engineer, novelist, journalist all encapsulate a lot of responsibilities, where writer and programmer both talk just about primary means of achieving the job, and coder/typist bring it down to the mechanical skills you require to get the job done.

Re:Absolute truths I unlearned as junior developer by munmaek on Friday June 07, 2019 @01:54PM (#20127068)
I actually go the opposite route; I hate calling myself an engineer, because that word actually carries weight due to older, more established professions. The tech/software industry wants the prestige of that title without the work and effort that goes into it.

We are not engineers. We have no standardized certification process or tests. We have no (or very little) accountability. We have no codes of ethics. We may or may not be following proper, accepted development workflows. We may not even know what industry standard processes are.

I am a software developer because I solve problems primarily via software. This can and does include many different responsibilities and skillsets, but at the end of the day I primarily architect and write code.

It's up to you to educate the layperson as to what a software developer actually does. Although I'm not a writer, I understand that a "writer" doesn't literally only write. People can understand better than you're giving them credit for, I think.

Re:Absolute truths I unlearned as junior developer by beat on Friday June 07, 2019 @03:31PM (#20127819)
I think of myself as an "engineer", but more in the "keep the steam engine from exploding" sense.
Re:Absolute truths I unlearned as junior developer by wltprgm on Friday June 07, 2019 @06:24PM (#20129183)
it's fair to say that if you don't like it, then don't speak about it

that's your definition of engineering, or whatever officials that define it

more so, who cares about your skills other than your employer? And your employer cares about your skills, why should he care about your title?

even if other programmers who like to address themselves as software engineers, is it up to you to decide whether they can be hired?

It's just a title for god's sake

Re:Absolute truths I unlearned as junior developer by munmaek on Saturday June 08, 2019 @01:04AM (#20130747)
> it's fair to say that if you don't like it, then don't speak about it

I would like to see the status quo changed, which is why I do discuss it. Of course it's fair that I hold an opinion and discuss it. There is no obligation for you to respond if you disagree :-)

> that's your definition of engineering, or whatever officials that define it

It's not my sole opinion:

> As with many other professions, the professional status and the actual practice of professional engineering is legally defined and protected by law in some jurisdictions. [3]

It's understood that if someone holds the title 'Engineer', they went through a certification process from a regulated body, traditionally. You can see this for example in countries and per state. [0] [1] [2]

> In Canada the designation "professional engineer" can only be used by licensed engineers and the practice of engineering is protected in law and strictly enforced in all provinces. [3]

In Canada (and I believe some states), it is illegal to sign off an email or other correspondence as a "Professional Engineer" if you're not actually licensed as such. [4]

---

> is it up to you to decide whether they can be hired?

When did I mention hiring? All I said was the term 'engineer' is loosely used in the software industry, and it has absolutely no standard around it.

> employer [...] why should he care about your title?

I wasn't talking about my employer at all. I only referenced skills because I was responding to a portion of the parent comment.

> It's just a title for god's sake

It isn't. How we frame something is very important in my opinion–just as important as the concept itself. [5] If it's "just a title", then people should have no problem calling themselves programmers or developers. However one can see that we call ourselves "engineers" because it sounds prestigious, despite the software industry being a total joke when it comes to standardization or even following basic modern practices consistently.

[0]: https://engineerscanada.ca/accreditation/about-accreditation

[1]: https://ncees.org/engineering/

[2]: https://www.ncbels.org/

[3]: https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en...

[4]: http://www.occupationalhealthandsafetylaw.com/ontario-man-fi...

[5]: Consider for a moment the term "Global Warming" versus "Global Pollution Epidemic". I strongly believe if we had gone with the latter instead of the former, there would not have been pushback to the scale that we've seen. It certainly would have avoided the confusion of "oh, but this winter is so cold, global warming must be a hoax"! It also shifts the focus from an effect of pollution, to the pollution itself. This example is quite different than the software engineer/developer example, but I think it illustrates my point that how things are framed is very important.

We are not software engineers, and we won't be until regulatory bodies exist, and we develop codes of ethics.

Re:Absolute truths I unlearned as junior developer by wltprgm on Saturday June 08, 2019 @03:47AM (#20131174)
> We are not software engineers, and we won't be until regulatory bodies exist, and we develop codes of ethics.

Nobody said that you are software engineer, you can just call yourself whatever you want

Those who called themselves software engineers are indeed software engineers, no one can forbids it

Fancy term like engineer is for marketing purposes, just like you said it's prestigious, they use it because they want to impress people, anything wrong with that? No, it's correct.

And it's also correct if anyone think they don't fit the title engineer, because it's his/her opinion which the software engineers won't likely give a fuck.

No one can stop them from using the term.

As for the Canada's law, the earth is bigger than that AFAIK. China and US software engineers are waiting for arrest. Except for Texas FYI

Standardization/basic practices mean shits by the way, it's research and development phases during engineering, people can invent what they want in their own ways as long as their products are legit

From Wikipedia:

> Engineers, as practitioners of engineering, are people who invent, design, analyse, build, and test machines, systems, structures and materials to fulfill objectives and requirements while considering the limitations imposed by practicality, regulation, safety, and cost.

Wikipedia can be sue at anytime, as you like

Re:Absolute truths I unlearned as junior developer by apersona on Saturday June 08, 2019 @03:15AM (#20131085)
> It's understood that if someone holds the title 'Engineer', they went through a certification process from a regulated body, traditionally. You can see this for example in countries and per state. [0] [1] [2]

I think you're misinterpreting the intention of the title of "Professional Engineer". As far as I can tell, it's for accountability for public projects (buildings, power, etc.). It's not strictly limiting what job titles can have the word "engineer" in it.

Most engineers in the aerospace industry don't even take the FE exam. Would you refuse to call most aerospace engineers "engineers" then?

Re:Absolute truths I unlearned as junior developer by danielscrubs on Friday June 07, 2019 @12:03PM (#20125953)
I’ve posted it before. But it gets confusing on the global stage. Software Engineer is a protected title in some countries. In mine it means studied a great amount of advanced math in college, almost nothing else. We usually prefix it with a word that tells if we studied 3 or 5 years. SE in US seems to mean just Software Developer I guess?
Re:Absolute truths I unlearned as junior developer by agentultra on Friday June 07, 2019 @01:12PM (#20126705)
In Ontario, Canada you can call yourself a Software Engineer. It's prefixing that title with, Professional that will get you in trouble if you're not licensed with the Professional Engineers of Ontario under the Professional Engineers Act.

Requirements are pretty high: http://www.peo.on.ca/index.php/ci_id/2057/la_id/1.htm

But I suppose industry/capitalism loves the fact that we don't require licensing in order to produce software even if use of said software should be safeguarding health, property, economic interests, etc.

Re:Absolute truths I unlearned as junior developer by sebdufbeau on Friday June 07, 2019 @03:15PM (#20127732)
In Quebec, Canada Software Engineer is a protected title and you must be registered with the Ordre des ingénieurs du Québec (http://oiq.qc.ca)
Re:Absolute truths I unlearned as junior developer by archagon on Friday June 07, 2019 @11:10AM (#20125316)
I dunno. I’m a programmer because I like solving problems through code, and I’m not really interested in solving problems outside this toolset. Some artists were exclusively painters, and we still call them that.
Re:Absolute truths I unlearned as junior developer by bryanrasmussen on Friday June 07, 2019 @11:49AM (#20125765)
Picasso could paint a whole house, in one day - two days tops if you wanted multiple colors.
Re:Absolute truths I unlearned as junior developer by rustyboy on Friday June 07, 2019 @12:31PM (#20126274)
To you that's great, the article the parent was referencing is from a marketing perspective. He gives the example of quants, they solve financial problems with code. The same is true with data scientist, they just solve analytical problems with code.

In both of these situations they're a programmer, but they sound cooler and will go a lot farther when applying for jobs or moving up in a company than the person who labels themselves as "a programmer".

Re:Absolute truths I unlearned as junior developer by pdpi on Friday June 07, 2019 @01:57PM (#20127103)
A quant is somebody who specialised in solving very specific finance problems, and a data scientist is somebody who specialised in solving very specific statistics/data analysis problems. I wouldn't hire myself for a data science or quant role any more than I would hire a data scientist or quant for my role, because there's a whole bunch of ancillary skills that we each have that are required by our respective jobs that go above and beyond just programming.
Re:Absolute truths I unlearned as junior developer by philwelch on Friday June 07, 2019 @04:36PM (#20128367)
I totally appreciate this attitude. One of the most important qualities of software development is to solve the customer's problem with as little code as possible. "I am coder and therefore the more code I write, the more productive and valuable I am" is a blinkered mindset.

At the same time, you have to actually describe your profession somehow. Everyone solves problems. Solving problems is definition of productive work. A carpenter solves problems by cutting pieces of wood apart and attaching them together. A bricklayer solves problems by stacking bricks on top of each other, with a bit of mortar in between to smooth them out. A car mechanic solves problems by fixing cars. A surgeon solves problems by cutting people open and fixing their insides. Eventually it turns into a bunch of meaningless MBA platitudes. "We don't 'build houses', we 'deliver solutions' to people's shelter-related problems."

If you go to a good surgeon with a problem that isn't going to be fixed with surgery, the surgeon is going to recommend a different solution and possibly even refer you to a different kind of professional. "Hey, you just need to rest that knee and maybe get some physical therapy. Here's a physical therapist I recommend." People understand that surgeons are smart and will occasionally listen to them, so surgeons can get away with this. More importantly, surgeons understand this. Surgeons don't go around thinking, "man, I need to perform even more surgeries because I'm a surgeon and that's what surgeons do" (or, at least, they shouldn't)--they have a deep appreciation of what surgery is and when it is or is not appropriate.

So I don't mind thinking of myself as a programmer, because I'm a programmer the same way a surgeon is a surgeon. If you come to me with a problem that cannot be solved by programming, I will tell you that, because to do otherwise would be a form of malpractice.

Re:Absolute truths I unlearned as junior developer by RussianCow on Friday June 07, 2019 @11:06AM (#20125271)
This is why I always respond to questions about what I do with "software engineer". I've noticed people seem to perceive "engineering" as more serious than "programming", and it helps to promote the idea that I build things to solve problems and don't just sit there turning designs into code.
Re:Absolute truths I unlearned as junior developer by patagonia on Friday June 07, 2019 @11:17AM (#20125400)
From Wikipedia:

Engineers, as practitioners of engineering, are people who invent, design, analyse, build, and test machines, systems, structures and materials to fulfill objectives and requirements while considering the limitations imposed by practicality, regulation, safety, and cost.

If you’re doing that you’re an engineer. Hopefully we are all doing that.

Re:Absolute truths I unlearned as junior developer by fredsir on Friday June 07, 2019 @11:47AM (#20125741)
I feel like in areas like software, hardware, electrical, mechanical -construction, there are two descriptors of practitioners and they are at opposite ends; hackers and engineers. At least that’s how I think about myself. Sometimes what I do is hacking together a proof of concept, and sometimes I’m engineering a product.

Of course, there is something in the middle, and for software, that is probably “coders” or “programmers”.

Re:Absolute truths I unlearned as junior developer by monocasa on Friday June 07, 2019 @11:30AM (#20125549)
Unless you're in certain states where engineer is a protected term.
Re:Absolute truths I unlearned as junior developer by ghaff on Friday June 07, 2019 @11:36AM (#20125611)
Engineer is not a "protected term" in any US state that I'm aware of. "Professional Engineer" has a specific licensed meaning but, if I have a degree in mechanical engineering I'm pretty sure I can call myself an engineer anywhere in the US without the licensing police coming after me. (Unless, of course, I imply that I'm licensed when I'm not.)
Re:Absolute truths I unlearned as junior developer by nobleach on Friday June 07, 2019 @12:15PM (#20126085)
If you work in a music studio, and you call yourself a sound engineer, no one is going to ask to see your credentials because it's assumed that you engineer sound. The same holds through with software engineering. No one expects you to carry some sort of card. When it comes to structural, or civil engineering, there is a far higher expectation that the things you design are not going to fall down. But we're able to understand this distinction. The idea that we should disallow computer coders/programmers from using the term engineer is not based on reducing confusion...
Re:Absolute truths I unlearned as junior developer by ghaff on Friday June 07, 2019 @12:29PM (#20126251)
>When it comes to structural, or civil engineering, there is a far higher expectation that the things you design are not going to fall down.

The big thing is that you need a P.E. in many cases to do things like sign off on drawings for regulators. Some civil engineers, mechanical engineers, etc. have PE's and many don't. In Louisiana, I had business cards with an engineering title and definitely worked as an engineer. At some point, had I remained in the oil business, I'd have gotten a PE because I'd presumably have eventually been in a position where I had approval authority over designs submitted to various government agencies.

Re:Absolute truths I unlearned as junior developer by monocasa on Friday June 07, 2019 @12:19PM (#20126139)
The term "engineer" is definitely protected in Texas, and I think some other states.
Re:Absolute truths I unlearned as junior developer by ghaff on Friday June 07, 2019 @12:24PM (#20126211)
Someone ought to tell whoever put all these job listings up (including in Houston): https://www.rigzone.com/a-mud-engineer-jobs/

ADDED: TIL apparently Texas is indeed exceptionally restrictive (in theory) about the use of the term "engineer." [1] I'd be pretty certain this is widely ignored in practice. Leave the oil business aside, I'm guessing that tech companies in Texas probably advertise engineering positions now and then. (Yep: https://jobs.dell.com/location/united-states-texas-round-roc...)

[1] https://www.statesman.com/news/20160903/their-name-on-the-li...

Re:Absolute truths I unlearned as junior developer by monocasa on Friday June 07, 2019 @01:11PM (#20126687)
The oil industry is setup as nested subcontractors so that no-one with any money is responsible for these kinds of screwups.

Go look into the actual law, you legally can't call yourself an engineer in Texas without a PE, or a couple tiny carveouts (on the order of you work at NASA, and NASA calls you an engineer)

Re:Absolute truths I unlearned as junior developer by monocasa on Friday June 07, 2019 @05:37PM (#20128855)
Replying to your edit: there are no jobs on that Dell site in Texas with engineer in the title. It's including some from Minnesota for some reason.
Re:Absolute truths I unlearned as junior developer by ghaff on Saturday June 08, 2019 @07:44AM (#20131889)
The problem of listing to dynamic sites. See e.g. https://jobs.dell.com/job/austin/software-senior-engineer-re...

There are doubtless tens of thousands of Texas job listings for "engineer" positions in software and elsewhere. (Software is especially notable only because my understanding is that PE's in software have basically been phased out. So you basically can't get licensed in that branch of engineering even if you have an accredited degree and have met the other requirements.)

Re:Absolute truths I unlearned as junior developer by wbl on Friday June 07, 2019 @11:51AM (#20125782)
Not Texas iirc.
Re:Absolute truths I unlearned as junior developer by ghaff on Friday June 07, 2019 @12:22PM (#20126181)
As I recall my days in the oil industry, "engineer" was one of the most overused titles. We used to joke about "mud engineers" (reps of the companies that sold the ingredients that made up drilling mud) being, in fact, "mud salesmen." (If you were being generous, they were technicians but they did mostly make recommendations and sell you stuff.)
Re:Absolute truths I unlearned as junior developer by taneq on Saturday June 08, 2019 @12:56AM (#20130727)
Heh, on iron ore mine sites we have "hose technicians" whose job is to clean up any spillage with a high pressure hose. There are also jokes about "sanitation engineers" who clean the toilets.
Re:Absolute truths I unlearned as junior developer by patagonia on Friday June 07, 2019 @11:36AM (#20125602)
Exactly. I would welcome changes that would bring software engineering to a state where it was a protected term. If someone used that term I could have a high degree of certainty that they would abide by certain standards both professional and ethical. Such as “certain percentage of test coverage” and “certain big-O tolerance” for different project levels. Etc. otherwise I’d write the person off as a coder.
Re:Absolute truths I unlearned as junior developer by fredsir on Friday June 07, 2019 @11:55AM (#20125836)
Different places have different standards for engineers, and any other title. It doesn’t matter that you call yourself an engineer in any case. What matters in some cases are the standards you use; is it licensed by someone or something, or is it something else? That’s what you should be asking. What are the standards used?

You can do engineering without following any official standard, and anyone who do engineering is of course an engineer, so yeah, the protected title thing is just meh.

Re:Absolute truths I unlearned as junior developer by BurningFrog on Friday June 07, 2019 @11:16AM (#20125390)
I've found myself saying "I, uh, build software" lately.

I guess because I don't like any of the established terms.

Re:Absolute truths I unlearned as junior developer by wa1987 on Friday June 07, 2019 @01:16PM (#20126739)
I tend to avoid the word "building" in the context of describing what I do. After all, the compiler does the building :-) "I design and develop software" is what I usually say.

Would be nice if there was a word that captures the idea of someone both designing and constructing the internals of a machine.

Re:Absolute truths I unlearned as junior developer by RussianCow on Friday June 07, 2019 @03:09PM (#20127683)
I try to avoid the word "design" because most people immediately think of graphic design and get the wrong idea of what I do. Even though it's not as technically accurate, I think "building" or "engineering" are better words to use for people not familiar with software development.
Re:Absolute truths I unlearned as junior developer by taneq on Friday June 07, 2019 @11:57AM (#20125858)
It's funny, I've gone from "I'm a coder" -> "I'm a software developer" -> "I'm a software engineer" -> "I'm a developer" -> "I make useful things."
Re:Absolute truths I unlearned as junior developer by avip on Friday June 07, 2019 @11:18AM (#20125410)
And on the best of days - involves deleting code.
Re:Absolute truths I unlearned as junior developer by monocasa on Friday June 07, 2019 @11:29AM (#20125535)
Re:Absolute truths I unlearned as junior developer by pkaye on Friday June 07, 2019 @12:13PM (#20126056)
My old boss of exceptional at this. He had hired a lead engineer to architect on code to support some new features and hardware. This lead was working on one of the important module.s It was 1300 lines of convoluted code and still not done. At that point the guy quit. My boss spend a day thinking about the requirements and wrote something that made perfect sense in 30 lines of code all one function.
Re:Absolute truths I unlearned as junior developer by taneq on Friday June 07, 2019 @12:03PM (#20125945)
Fun fact: Bill Atkinson (featured in this story) also wrote the round rect drawing routine for the original Mac.

Source: https://www.folklore.org/StoryView.py?story=Round_Rects_Are_...

Re:Absolute truths I unlearned as junior developer by saagarjha on Friday June 07, 2019 @06:43PM (#20129299)
…among many other things, including writing MacPaint, QuickDraw, and HyperCard.
Re:Absolute truths I unlearned as junior developer by rorykoehler on Friday June 07, 2019 @11:07AM (#20125277)
You're spot on. Regarding your last point though my interpretation of the blockchain hype was that the problem of the business was that they needed quick and easy money. Blockchain investors solved that.
Re:Absolute truths I unlearned as junior developer by pdpi on Friday June 07, 2019 @11:36AM (#20125607)
Whether you perceive the problem as one worth solving or not, Bitcoin defined a very specific, if extreme, problem it wanted to solve, and proposed an extreme solution to that extreme problem. There's a few other projects (such as Ethereum) that are also trying to solve some very specific problems.

The issue is that the problems that Bitcoin and Ethereum are trying to solve imply almost generating money from thin air. That gave unscrupulous people a lot of silly ideas, on the one hand, and, on the other, gave the people desperate to prove they're "thought leaders" (whatever that means) a lot of different, but still silly, ideas.

Re:Absolute truths I unlearned as junior developer by beat on Friday June 07, 2019 @03:30PM (#20127813)
I often say "That's not programming, that's just typing". (Stole it from someone, can't remember who now.)
Re:Absolute truths I unlearned as junior developer by wltprgm on Friday June 07, 2019 @06:26PM (#20129199)
this topic never stops, trust me

it's time for you guys to realize this effect from calling yourself "coders"/"programmers"/"problem solvers" are nothing but marketing

It's just to impress those who don't know otherwise

Re:Absolute truths I unlearned as junior developer by fredmorcos on Saturday June 08, 2019 @04:50AM (#20131365)
> I tend to specialise in the sort of software infrastructure-y problems that are usually solved through code.

So basically a coder?

Re:Absolute truths I unlearned as junior developer by beezle on Friday June 07, 2019 @04:27PM (#20128282)
Back in the ice age we were called 'programmer analyst' or even 'system analyst'
Re:Absolute truths I unlearned as junior developer by LifeLiverTransp on Friday June 07, 2019 @12:02PM (#20125932)
machine dompteur ?
Re:Absolute truths I unlearned as junior developer by smacktoward on Friday June 07, 2019 @12:50PM (#20126492)
I would argue it's even worse than that. It's not just that the code doesn't matter, it's that code is a liability, and the more code you create the more problems you create.

Code has to be maintained, or it will eventually fail as other moving parts around it change their interfaces.

Code rots. Platform norms are always changing, so today's fresh new code becomes tomorrow's smelly old code.

Code interacts with other code. As the volume of code increases linearly, the number of these interactions increases exponentially. Eventually the complexity becomes unmanageable and the whole system has to be rebuilt. The more code you add to a system, the faster you hasten its demise.

All of which means that code is a liability, in the balance-sheet sense of the term. Throwing code at a business problem hurts the bottom line. The goal therefore becomes to throw just enough code at the problem to solve it, and not one line more than that.

This is the difference between inexperienced and experienced developers. Inexperienced developers handle code like it's spackle. Experienced ones handle it like it's uranium.

Re:Absolute truths I unlearned as junior developer by UglyToad on Friday June 07, 2019 @06:12PM (#20129080)
I'd agree with you here, I'm still a way off seniority but for me the takeaway from the past 5 years is good code is code that can be deleted with minimal work.

All code we write is going to be wrong in some way as a result of our understanding of the problem domain being incomplete so I'd rather see code with an obvious place to put an if statement than a lovingly constructed masterpiece of indirection and abstraction.

Obviously there are basic rules to follow, make it testable, don't mix too many concerns in one place but I see so much bikeshedding and overcomplicated code when it just needs to not be obviously wrong and easy to replace when needed.

Re:Absolute truths I unlearned as junior developer by molodec on Friday June 07, 2019 @11:18AM (#20125420)
The code doesn't matter to the end user. Sure. You can say that about any industry. Engines don't matter as long as you can get from point A to point B and gas is cheap, which it isn't anymore. Healthcare norms don't matter when you are young and healthy. You can get away with this kind of reasoning in the short term. Engineering and almost any industry have rigorous codes and norms you have to follow, but not software engineering. Many software engineers are not engineers, but more like unlicensed plumbers or electricians that can fix the leak, and perhaps throw in a bunch of extension cords to make to hookup some electrician devices. Extension cords may work well for a while because they fix the customer problem, but long term may cause outages and fires. I think Software Engineering as a whole would benefit from more rigor. Of course, there has to be the right balance, as too much rigidity can hinder creativity and productivity, but saying that code doesn't matter is a wrong message.
Re:Absolute truths I unlearned as junior developer by snazz on Friday June 07, 2019 @10:45AM (#20125042)
This is true with basically everything. Game development attracts more than its fair share of truly horrid code, to the point where success seems almost inversely correlated to code quality. If you decompile Terraria (using CIL, which preserves the object design), for instance, you'll notice that its main class is over 40kLOC and that basically all of the business logic is encoded in one great big chain of if-statements. However, the game has been extremely popular and successful (and is pretty fast, and looks really pretty).

Somewhere there is a balance, but for business purposes it leans closer to the "working ugly hack" side.

Re:Absolute truths I unlearned as junior developer by BurningFrog on Friday June 07, 2019 @11:19AM (#20125425)
Maybe games can get away with more things because when they're done, they're (often) DONE.

There is no next release, maintenance, new features etc. Once Balloon Pirates is done it ships, and is never touched again.

Re:Absolute truths I unlearned as junior developer by technomalogical on Friday June 07, 2019 @11:42AM (#20125690)
I don't think that's been the case for a long, long time. Almost every new game on modern consoles and PCs will see one (or many) updates in its lifetime. Game cartridges, things we used to think of as immutable, are merely storage devices for delivery of the original game code. Two recent games I purchased for the Nintendo Switch, on cartridge, both required a download before I could play them.
Re:Absolute truths I unlearned as junior developer by lotu on Friday June 07, 2019 @11:59AM (#20125890)
It's more blurry but Games are still DONE in a way that an ongoing project where new features are constantly being added aren't. There are some exceptions like Minecraft but on average most games can not economically justify multiple full time engineers working on them for over a decade.

There is also the side issue of game engines which many teams reuse from game to game so maybe that doesn't really apply.

Re:Absolute truths I unlearned as junior developer by PsylentKnight on Friday June 07, 2019 @01:15PM (#20126730)
Terraria has been getting updates for 8 years now. Maybe that's why it's such a mess.
Re:Absolute truths I unlearned as junior developer by bspammer on Friday June 07, 2019 @01:33PM (#20126864)
This is very far outside my realm of expertise but isn't it possible they're running some sort of obfuscation on the binary before releasing? 40k LOC seems unbelievable to me, surely even scrolling around in a text editor would be laggy as hell.
Re:Absolute truths I unlearned as junior developer by gridlockd on Friday June 07, 2019 @10:53AM (#20125136)
> all of the business logic is encoded in one great big chain of if-statements

One of the big lies of OO design is that you can manage that kind of complexity better with objects/classes, that you should factor out functionality into tiny pieces, and so on.

Unless you have written (and debugged!) an actual video game, you should spare your judgement.

Re:Absolute truths I unlearned as junior developer by Faark on Friday June 07, 2019 @02:29PM (#20127362)
There are certainly disadvantages. For a start, it keeps freezing my VS code :D

But Modders also have a hard time adding features if logic for all items is in a single function. This seemed exactly what OOP / interfaces were designed for.

Also I'd love to see Terraria's actual source code. The de-compiled versions hat a ton of stuff like

> if (num1 != 109 && num1 != 110 && (num1 != 113 && num1 != 115) && (num1 != 116 && num1 != 117 && num1 != 118)) return;

or

> else if ((int) Main.tile[i, j].type == 19) Type = 94;

20x in a row, with obviously different numbers. Hope the actual code was more readable and just lost a lot in translation. But many more readable styles should be visible in IL (enums, constants, etc). There might also have been some obfuscation (can't remember), but couldn't have a strong one since names were preserved.

But yes, there are also advantages to their style of code. And in the end they delivered a product and that's all that counts.

Re:Absolute truths I unlearned as junior developer by wa1987 on Friday June 07, 2019 @01:27PM (#20126820)
Exactly, having conditionals being spread throughout the program is a great way to increase complexity.

Rules engines, statecharts and other forms of (declarative) behaviour modelling solve real problems.

Re:Absolute truths I unlearned as junior developer by agumonkey on Friday June 07, 2019 @09:57AM (#20124510)
Then you have technical debt. Wordpress appeared good to end users, but we know how it is underneath and all the problem you get along[0]. It's a fine balance for sure, and forgetting that solving the problem first is what matters is a mistake indeed.

[0] about that, there seem to be a 'foot in the door' effect at play. If you get users with a good enough but imperfect product, they won't mind too much if you take responsibility for problems when they arise. Another instance of worse is better.

Re:Absolute truths I unlearned as junior developer by rb808 on Friday June 07, 2019 @10:19AM (#20124735)
Wordpress is a great example. Its the most successful, most love blogging platform and usually user's first choice.
Re:Absolute truths I unlearned as junior developer by agumonkey on Friday June 07, 2019 @10:24AM (#20124804)
Man, I cannot deny and submit to the reality of wordpress dominance. That said have you ever poked at wordpress plugins code ? I won't name the one I read but it was a catastrophy. And not in a pedantic purist sense, real catastrophy, dead code everywhere, while loops 8 screens long, copy pasted above each others. I think it was #2 most downloaded at the time.
Re:Absolute truths I unlearned as junior developer by TheOtherHobbes on Friday June 07, 2019 @10:42AM (#20125003)
The code is crap. Wordpress is crap. It's unsafe, open-to-hackers crap. The plugins are crap.

But it solves the problem users want solved. It's lego-level blog assembly, which is as technical as many users want to get. A much "better" system - maybe a nice type-safe Haskell static HTML templater with a command line build system - wouldn't.

Flipping this around, from the user's POV, "I wrote some code that almost does Thing X" is not a solution - it's just some code that doesn't quite do the job.

It's nice that it uses functional programming or formal methods or $shiny_language or ML or whatever. But if it doesn't do the job, it doesn't solve the problem.

Re:Absolute truths I unlearned as junior developer by agumonkey on Friday June 07, 2019 @10:45AM (#20125048)
I don't agree with the analysis. It's mostly that mainstream life floats on ambiguity and undefined contexts. Wordpress does some things perfect for users but then bug or leak or plugin conflicts happen. While other platform may have solved this prior but it's a problem that users didn't anticipate so they didn't value it.
Re:Absolute truths I unlearned as junior developer by BeetleB on Friday June 07, 2019 @12:16PM (#20126107)
He didn't say Wordpress solves everyone's problems. That it doesn't solve your problem does not negate his point.
Re:Absolute truths I unlearned as junior developer by agumonkey on Friday June 07, 2019 @12:50PM (#20126493)
bugs leaks and upgrade conflicts are not my problems but any wordpress user problems
Re:Absolute truths I unlearned as junior developer by leeoniya on Friday June 07, 2019 @10:37AM (#20124942)
and globals. mutable globals everywhere. (at least last time i ran away from it all after having to fix an EOL'd plugin 10 years ago).

never again.

Re:Absolute truths I unlearned as junior developer by oblio on Friday June 07, 2019 @10:45AM (#20125046)
Why don't they fix it? It's long lived, it's popular, they have to maintain it.

Yes, there's backwards compatibility to maintain, but surely some of it can be contained, maybe with shims, like Windows does it.

Re:Absolute truths I unlearned as junior developer by stickfigure on Friday June 07, 2019 @12:02PM (#20125935)
Why don't they fix it?

In all likelihood, because the people maintaining Wordpress are the people who created it in the first place, and they don't know any better.

Why did PHP apps suffer from SQL injection attacks, long after PHP supported prepared statements? Why do Java apps often have ridiculous classes like AbstractSingletonThingFactoryFactory? Why does the Javascript community (still) promulgate useless leftpad-like packages? Why do Ruby apps often end up so heavily metaprogrammed that you can't trust any line of code to do what it says?

Cultures are hard to change. The people that are turned off by Wordpress' programming style probably pick other projects and other communities. Lots of the folks working on Wordpress probably cut their teeth in that codebase. They might not like it and they might realize there are better ways, but there probably isn't a critical mass of them that share a vision out of the morass.

Personally, I took one brief look under the covers of Wordpress and immediately decided to avoid it.

Re:Absolute truths I unlearned as junior developer by agumonkey on Friday June 07, 2019 @10:48AM (#20125083)
Maybe a 'if it aint broke dont fix it' paired with 'lets make this new feature instead'.
Re:Absolute truths I unlearned as junior developer by hanniabu on Friday June 07, 2019 @10:58AM (#20125192)
There's such a thing as taking the backwards compatibility meme too far though. You can't keep catering to those that drag their feet. Release an update and say that the legacy will no longer be supported a year from now.
Re:Absolute truths I unlearned as junior developer by PavlovsCat on Friday June 07, 2019 @10:21AM (#20124755)
Re:Absolute truths I unlearned as junior developer by MaxBarraclough on Sunday June 09, 2019 @05:40AM (#20138178)
Ugh. The submitter there uses Some of you guys are killing people figuratively. Are they not aware that bad software really does kill people?

I was expecting to see some ill-advised use of WordPress in a critical software system, but no, it's about inconveniencing web developers. </rant>

Re:Absolute truths I unlearned as junior developer by bdcravens on Friday June 07, 2019 @10:20AM (#20124746)
Debt (technical and otherwise) is leverage if utilized well, and potentially crippling if abused.
Re:Absolute truths I unlearned as junior developer by chessturk on Friday June 07, 2019 @11:00AM (#20125222)
I knew a shop that refused to move its customer data out of an ancient MS Access instance until one day it just started shedding records.

That's what I think of when I hear technical debt.

What are examples that make sense and don't just explode in your face?

Re:Absolute truths I unlearned as junior developer by pdpi on Friday June 07, 2019 @11:11AM (#20125328)
Whatever it is you're writing doesn't have to work for the next twenty years. If it's sufficiently simpler and cheaper, it's fine if that project only works for the next five years, and you have to start working on a rewrite in four. By then, you'll either have gone broke (in which case the extra scaling would've been useless anyhow), or you'll have four more years of experience to guide you in how to build the next generation.

In your particular case, that MS Access DB was almost certainly the right choice when it was written, and the gotcha in that story is that they didn't start planning the migration away from Access until it was too late — effectively, they didn't pay off the tech debt when they should have, and got foreclosed on.

Re:Absolute truths I unlearned as junior developer by bcrosby95 on Friday June 07, 2019 @11:16AM (#20125389)
An example of really bad technical debt we made in one of our projects was: back when Facebook apps were a thing, another social networking site released an app platform that was very similar to Facebook. Some companies had early partnership and launched at release, but we weren't aware of it and were caught flat footed.

Our code wasn't built to be generic enough to be able to work on anything but Facebook. So what we did was simple: copy the whole project, change the stuff that didn't work right.

The next time a social networking site released a platform we refactored our main code and introduced the proper abstractions so we could use it on all 3 sites. That code ended up working for most of the other social networks that launched an app platform.

Re:Absolute truths I unlearned as junior developer by bdcravens on Friday June 07, 2019 @11:18AM (#20125417)
I'll use your example: I've seen companies start life as Access databases and make plenty of money, and then pay for the proper rewrite out of the revenues generated, instead of doing it the "right way" up front. (when the costs to do it up front may have resulted in a failure to launch)

I don't think it's the type of debt that's the issue, as much as how you manage it.

Re:Absolute truths I unlearned as junior developer by CPLX on Friday June 07, 2019 @10:42AM (#20125017)
Wordpress is spectacularly useful and successful.
Re:Absolute truths I unlearned as junior developer by agumonkey on Friday June 07, 2019 @10:48AM (#20125091)
Note that I don't claim otherwise.
Re:Absolute truths I unlearned as junior developer by bumby on Friday June 07, 2019 @10:18AM (#20124724)
I think part of the problem is that humans are fundamentally present-biased. So low quality code that can avoid a schedule delay today is considered preferable to higher quality code that prevents even larger schedule delays in the future.
Re:Absolute truths I unlearned as junior developer by taneq on Friday June 07, 2019 @12:24PM (#20126212)
> Another instance of worse is better.

I hate this term, because worse isn't better, it's worse. But good enough is good enough and technically-better-but-not-available-yet is worse than adequate-and-available-right-now.

Re:Absolute truths I unlearned as junior developer by CuriouslyC on Friday June 07, 2019 @12:23PM (#20126196)
Uh, the code does matter in almost all circumstances. That's because in most cases you're not so much solving something unsolved as providing a lower cost solution via software. The cost of the software (both in terms of initial development and ongoing maintenance) is a factor.

If your problem domain is totally mapped out, maybe any solution that is quick to implement will work. If your problem domain is in any way nebulous or changing, well architected software will save you a lot of money responding to changes, and ongoing maintenance will obviously be cheaper if it's easily testable and robust.

Re:Absolute truths I unlearned as junior developer by jdewald on Friday June 07, 2019 @02:42PM (#20127476)
I think the parent's point (though I could be reading my own thoughts into it), is that the things you mention only matter to the user if it directly affects them. An end user couldn't care less what the maintenance costs are if they aren't passed on to them in some way. If they are, then its completely in the interests of the company to have easy to maintain software. Or if changes are time-sensitive and the company is unable to keep up which change requests. If all that's invisible to "users" (or internal stakeholders), it really doesn't matter how much the boots on the ground hate the software.

But I think also the "code doesn't matter" really means, that ideally there is no (new) code, because there is in fact an existing solution but the person asking for the solution doesn't know it. This is likely more the case with internal stakeholders that ask for something to be built that does X, not realizing that there is readily available software or libraries that does X (or something close to it). So part of our role is to know the landscape of what part of the domain really needs new (potentially bug-ridden code) to be written.

Re:Absolute truths I unlearned as junior developer by chessturk on Friday June 07, 2019 @10:54AM (#20125153)
This realization is what has attracted me to the Erlang/Elixir world where fault tolerance > provable correctness.

The end user would rather have an application be frantically logging errors in the background, but be working for their usecase, than a program that is fixated with being correct and refusing to run in the presence of errors.

Obviously quality code still matters, but at least in the business realm "does it do what I expect?" is basically your success/fail state.

Re:Absolute truths I unlearned as junior developer by patagonia on Friday June 07, 2019 @10:43AM (#20125026)
This bothers me. As code continues to eat the world, this is akin to saying “building codes don’t matter”. That is dangerous. And it isn’t professional.
Re:Absolute truths I unlearned as junior developer by onion2k on Friday June 07, 2019 @10:46AM (#20125062)
Experienced developers know when to spend time making sure code is actually good and when a terrible crufty hack is fine. If you think "All code must be perfect" then you're not a pro yet.
Re:Absolute truths I unlearned as junior developer by criley2 on Friday June 07, 2019 @11:01AM (#20125235)
>If you think "All code must be perfect" then you're not a pro yet

Or they're a pro in a very different field than you.

When I worked in web development, I was gobsmacked at what professionals considered "good enough to ship". Now that I work in Medical EHR, the standards for 'good enough to ship' when lives could be on the line is very, very, very different.

I imagine a NASA engineer creating famously low-defect code or perhaps an engineer creating control systems for a nuclear power plant would similarly look at our medical code and think we too ship far too many hacks and defects.

Re:Absolute truths I unlearned as junior developer by onion2k on Friday June 07, 2019 @11:41AM (#20125676)
People in fields where they write code that has to be proven can still know when it's appropriate to write bad hacky code. If they believe "I write proven code for my EHR system therefore all code must be like that." I would argue they're not pros.

Being a professional is knowing how to do your job well. Applying a single heuristic to every problem isn't that.

Re:Absolute truths I unlearned as junior developer by spambucket81 on Friday June 07, 2019 @09:06PM (#20129940)
> If you think "All code must be perfect" then you're not a pro yet.

> Applying a single heuristic to every problem isn't that.

How ironic :)

Re:Absolute truths I unlearned as junior developer by chrisfinazzo on Friday June 07, 2019 @11:29AM (#20125530)
I'm surprised this hasn't come up yet, but the following should be required reading. I don't want to invoke "we follow orders or people die" (or blow up), but...

https://www.fastcompany.com/28121/they-write-right-stuff

https://en.wikipedia.org/wiki/Therac-25

Re:Absolute truths I unlearned as junior developer by chimpburger on Friday June 07, 2019 @06:23PM (#20129172)
That's the point. The context of the code matters. 99% of code is not critical to life. Applying NASA level of rigor to every line of code ever written is an indication of mental disorder (autistic obsession)
Re:Absolute truths I unlearned as junior developer by patagonia on Friday June 07, 2019 @11:10AM (#20125320)
I never, ever, said “All code must be beautiful. I never even implied it. Unless there is some general agreement that I am unaware of among architects and builders that building codes exist to make building plans “beautiful”.

And about that implied ad hominem. It doesn’t matter if I’m a pro.

Building codes allow one to say whether plans conform or do not conform to code. That way you don’t have to be a “pro” to determine whether the plan is up to code. You compare the plan to the code. You didn’t write the code. You don’t need to think the code describes beautiful plans. You just compare.

Re:Absolute truths I unlearned as junior developer by mixmastamyk on Friday June 07, 2019 @11:22AM (#20125463)
And often business owners won't allow you to make that determination alone.
Re:Absolute truths I unlearned as junior developer by levosmetalo on Friday June 07, 2019 @11:36AM (#20125609)
Like in any business area. But in the end, it's their business and their responsibility.
Re:Absolute truths I unlearned as junior developer by afiori on Friday June 07, 2019 @11:04AM (#20125253)
"code doesn't matter" is more like "code beauty doesn't matter", in the same way that beautiful foundations for a building do not matter (or are incidental) to its stability.
Re:Absolute truths I unlearned as junior developer by colechristensen on Friday June 07, 2019 @12:09PM (#20126016)
Quality matters.

There is quality in code which you seem to be ignoring, troubling.

There is quality in delivering on time.

There is quality in the end-users' experience.

There is quality in the developers' experience.

There is quality in the investors' experience.

Quality is different than maximizing a metric (earnings per share, on time deliveries, user experience survey score, code coverage)

There is quality in finding the right balance in any situation.

Many many people want to maximize a single metric tacitly expecting everything else to be great, that is a good lesson to unlearn. Switching from one quality target to another is not.

Re:Absolute truths I unlearned as junior developer by fengb on Friday June 07, 2019 @11:43AM (#20125695)
A corollary to this is: the code should match the problem domain.

If the business problem is complicated, trying to further simplify the code usually makes it awkwardly abstracted and extra brittle. The fix should not be _just_ cleaning up the code, but rather trying to resolve the original usecase.

Re:Absolute truths I unlearned as junior developer by seer on Friday June 07, 2019 @11:40PM (#20130495)
Hah I got the exact opposite realization actually.

Yes if you boil it down to it’s essentials you are right the customer is the one with the money, so satisfying his needs/desires is what matters.

But, and thats a big but, we as devs are also humans, we also have desires and needs, and in the long run companies that successfully balance the needs of its users with the needs of its workforce get the best workers, which solve the problems of their users better/cheaper/faster.

So it’s more of an equilibrium kinda thing. If you stray too much in any direction the organization tanks - either the users loose faith, or the people satisfying theirs needs do, which leads to failure just as much.

The complexity with balancing this usually stems from the fact that both of those variables are subjective to their respective environment - users can tolerate bad solutions if there are no alternatives available, same with devs.

And that is also a subject to information availability - devs can be ok with their situation because they don’t know what salaries are at that other place for example.

Re:Absolute truths I unlearned as junior developer by baq on Friday June 07, 2019 @11:26AM (#20125504)
After 15 years in the business I think it’s worse than that: code is a liability. It matters - to have as little of it as necessary and not a line more.
Re:Absolute truths I unlearned as junior developer by solipsism on Friday June 07, 2019 @09:14PM (#20129980)
Nope. Sometimes it's the right choice to leave something in that your heuristic would lead you to rip out.

Can we stop with these simplistic maxims? Engineering is about tradeoffs and dealing with complexity. Trying to reduce the decision-making process to a single sentence is silly.

Re:Absolute truths I unlearned as junior developer by cntlzw on Friday June 07, 2019 @11:03AM (#20125248)
True. Oh man, I was so angry about that. You read all them books, refactor anything, use that functional programming, but in the end: who cares! A shiny new button gets more attention than you refactoring that SQL statement.
Re:Absolute truths I unlearned as junior developer by chimpburger on Friday June 07, 2019 @06:25PM (#20129192)
If you get away from frontend fluff and work on serious backend systems involving large financial transactions, they will appreciate those more advanced engineering skills and disciplines.
Re:Absolute truths I unlearned as junior developer by vmurthy on Friday June 07, 2019 @11:45AM (#20125723)
Perfecto! As a programmer turned product manager, I see this first hand every single day. The end user doesn’t care what technology you use as long as it solves their problem(s). My managers don’t care what technology my team uses as long as timelines and budgets are met. I’m astonished and sometimes smile at how my old programmer self wouldn’t understand this basic fact.
Re:Absolute truths I unlearned as junior developer by world32 on Saturday June 08, 2019 @03:30AM (#20131130)
You're right that the end user doesn't care about what technology you use, but do they care about things not working? Do they care that a new feature takes 3 months to develop when it could have taken 1 month if the code had been better architected?

Its funny to see management types dismiss the programmers as being "airy-fairy" when they talk about things like code quality and technology stacks but then they wonder why things get completed on time, why bugs happen, why sites get hacked etc.

Somebody else has mentioned this analogy before in this thread, but if you had a house built would you say the same thing about the structural integrity? "As long as the floor can support me then thats all that matters", "House dwellers don't care what kind of structural beams are used to support the floor they just want it to not collapse". That kind of a mentality is ok for an average person living in a house but you'd you have to be off your rocker to hire a building manager who said that.

Re:Absolute truths I unlearned as junior developer by vmurthy on Wednesday June 12, 2019 @06:54AM (#20163319)
My bad if I gave you the wrong impression about management types. You're right that things should work. What I meant was this: assume you have technology stack A and B each with its own pros and cons (whether tech maturity, programmer skills or what have you). Then, higher management expects the lead programmer/engineering manager to review the pros and cons and take the decision and deliver keeping the end user in mind. Whether stack A has xyz features which will do blah-blah-blah to the team is less relevant than the deliverable. Hope it is clear :-)
Re:Absolute truths I unlearned as junior developer by prashnts on Friday June 07, 2019 @12:34PM (#20126323)
I think I get your point. As someone who doesn’t have any particular specialty (I do webdev, “embedded” devices, image processing, tooling, design, etc.), I always hesitate when someone asks me what I do. I consider the things I can do as tools to get something done.

I interned at a research facility where I had to figured out obscure serial commands for a two axis objective stage, interface microscope camera, and image analysis. Then I wrapped it all in a python library for them to use.

From my mentors perspective however, the goal was “simple”: you find a microorganism swimming under microscope, and keep following it to record its trajectory. Make sure each tick is max 10ms because those little ones move FAST. They didn’t care if I used 4 space indents or 2. They cared about getting pandas dataframe so they could do all the analysis.

I can’t explain this in a word or few, and I still don’t know what to call myself! Am I a developer? I don’t know.

Re:Absolute truths I unlearned as junior developer by sunandshine on Saturday June 08, 2019 @02:22PM (#20134110)
> Am I a developer? I don’t know.

I would say the title "Research Engineer" could fit quite well based on what you describe!

Re:Absolute truths I unlearned as junior developer by lisper on Friday June 07, 2019 @11:55AM (#20125843)
> the code doesn't matter

It does if you want someone other than the person who wrote it to be able to fix bugs and add features.

Re:Absolute truths I unlearned as junior developer by drbojingle on Friday June 07, 2019 @01:10PM (#20126680)
I agree with you but I can't bear to say code doesn't matter. Try not writing any and see how valuable software is without it. Better yet, delete it and see what happens :D. I expect Codeless will become a thing one day but, until that day comes you will write code, because the code is necessary and I have trouble saying that the code is needed but also doesn't matter. Least important necessity maybe?
Re:Absolute truths I unlearned as junior developer by neetodavid on Friday June 07, 2019 @02:08PM (#20127182)
I've read on this website about people launching minimum viable products that appear to the customer to be some kind of automated service that in reality are the owner manually satisfying the order.

The software isn't necessarily what the customer values. You can provide a valuable service with 0 LOC

Re:Absolute truths I unlearned as junior developer by drbojingle on Friday June 07, 2019 @08:24PM (#20129765)
What tool makes them, and what's the tool made out of? You go back far enough, someone had to write code for something. You're not wrong though but it sounds like a domain specific thing too. Vending Machine as a service essentially. Still, as long as people are writing code it'll be because there's no choice but to write it for their use case.
Re:Absolute truths I unlearned as junior developer by taeric on Friday June 07, 2019 @09:56AM (#20124499)
I call this the intrinsic quality of the code. As you say, it isn't that it does not matter at all, just that it is over indexed by many of us.
Re:Absolute truths I unlearned as junior developer by gridlockd on Friday June 07, 2019 @10:45AM (#20125051)
> To the end user, what matters is that we solve their problem. We let them do their job, and we make that job as easy as possible. And that's what they pay us for.

If your code quality is bad, you can't do that efficiently. Your developers will hate their jobs and churn like crazy.

And by "bad quality" I don't mean "not unit tested" or "not commented" or "poorly formatted". I'm talking about code that is difficult to reason about, difficult to debug and difficult to refactor or extend. This is hard to quantify or even verbalize. It has to be felt.

Re:Absolute truths I unlearned as junior developer by chimpburger on Friday June 07, 2019 @06:33PM (#20129243)
And the business will feel it eventually. Developers have this magical ability to create invisible time-delayed catastrophes.