Why do "programmers" call themselves... "engineers"?! - Page 1
Forum section: electronics / general

author: eti
author_rank: Super Contributor
timestamp: November 16, 2019, 04:26:30 am
content: : Added a poll.Let me ask this:> Why do "programmers" get referred to as "coders" in many instances? (that's like calling a poet, a "pen mover" - it very much undermines their profession, and reduces them to the lowest common denominator... I think... I can't articulate what I mean)> Why do "programmers" refer to themselves as that, when in many cases they have ZERO knowledge of the hardware which is abstracted away from them, 5 layers down at bare metal level, and ALL they know how to do is drag and drop boilerplate templates which call APIs...?> THE most irksome of all, is the sheer delusion that seems to have swept across Silicon Valley & slowly become accepted, is that "programmers" are... ENGINEERS!Please read these articles; the former is well written, and also the latter, but I tend to lean toward the wording of the former, more, not sure why. Bottom line, as I see it, is this:++ You can't grab a block of binary, sand the rust off it, throw it in a lathe and machine it into a part.++ You can't expect to call yourself an "engineer" when the fundamental concepts (text) with which you fiddle, all day long, can be (and IS) changed on the whim of some "framework" manager, overnight. Imagine if the mass of a block of lead could be arbitrarily edited to some variable, in a second. Imagine if constants and measurements in physics could be changed to fit some formula, "just because".I am not annoyed, nor even slightly angered, or in any way fazed by the term "engineer" used to refer to code monkeys, but many others may be, and to be frank, I find it a laughably naive term to use, based on the fact that people hearing you say "I am an engineer" when what you do is fiddle with lines of text, laughable and quite insane.Yes, I know software CONTROLS things in the physical realm which are engineered, but that doesn't make the software author an engineer. Ever.Here's the articles:>https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/>http://nic.ferrier.me.uk/blog/2013_04/you-are-not-an-engineer

author: Bud
author_rank: Super Contributor
timestamp: November 16, 2019, 04:51:40 am
content: After seeing a "Customer Experience Engineer" and a "Liability Engineer" at a known company (everyone knows it) it is difficult to surprise me by any other title.

author: jesuscf
author_rank: Frequent Contributor
timestamp: November 16, 2019, 05:01:34 am
content: My opinion is that if the 'programmer' is carrying a screwdriver, he can call himself whatever he wants.

author: CatalinaWOW
author_rank: Super Contributor
timestamp: November 16, 2019, 05:03:50 am
content: All branches of the engineering field have this issue. Some members of the branch understand the world, their specialty and have the tools and creativity to create something new out of the possibilities. Other members push buttons (frequently but not always the right buttons) and record test results (also frequently correctly). Both claim the title "engineer".The ones who are "real" engineers know it, and don't have to keep reminding others, because those around quickly recognize them. Lesser lights are usually pretty insistent about titles. And both fortunately and unfortunately those around them also pretty quickly recognize them.

author: KaneTW
author_rank: Frequent Contributor
timestamp: November 16, 2019, 05:14:57 am
content: https://en.wikipedia.org/wiki/Computer_engineeringSoftware engineering is engineering. Not in the traditional definition of the word, but in the spirit? By the actions that you take as a software engineer? Absolutely.

author: eti
author_rank: Super Contributor
timestamp: November 16, 2019, 05:18:23 am
content: Quote from: KaneTW on November 16, 2019, 05:14:57 amOhhh, Wikipedia says so? Why didn't you say before, well in that case...

author: eti
author_rank: Super Contributor
timestamp: November 16, 2019, 05:21:09 am
content: Quote from: eti on November 16, 2019, 05:18:23 amIf a programmer can call themselves an "engineer" through manipulation of text and digits, then I, as an engineer, get to claim my title as "programmer" since I can set the temp on my soldering station, and type WhatsApp messages. :p

author: maginnovision
author_rank: Super Contributor
timestamp: November 16, 2019, 06:46:16 am
content: In my experience good software people respect the hardware guys. Good hardware also respect the software guys. Then You have the average people on either side who say the other side is a bunch of know nothing hacks. We need everyone and creating a solution to a problem is engineering in software or hardware.

author: wilfred
author_rank: Super Contributor
timestamp: November 16, 2019, 07:01:57 am
content: Quote from: eti on November 16, 2019, 04:26:30 amBut why is it irksome? The term engineer came about before software programming. if you distill down what it is to be an engineer abstracted from any particular field or discipline or material then why cannot producing a program be engineering?

author: IanB
author_rank: Super Contributor
timestamp: November 16, 2019, 07:15:45 am
content: Don't get stuck on the idea that engineers have to deal with hardware. Engineering could be considered using science, logic and mathematics to arrange things in an organized fashion to produce an efficient, functional and economic product.If the product is a software application then it absolutely needs to be engineered, and doing so is software engineering.I can assure you as one who works in the field that software engineering is as hard as any other branch of engineering. The need to provide a logical structure, a functional decomposition, and a verification of correct performance is very real.One thing you find out as an engineer is that if you abstract away the details, all branches of engineering have many things in common. If you work with software you quickly find that software is no exception.

author: sleemanj
author_rank: Super Contributor
timestamp: November 16, 2019, 07:18:48 am
content: A bridge engineer takes requirements, designs a structure to meet those requirements, overseas the implementation of that design, and confirms that the result meets the requirements.A bridge builder implements a bridge design.A software engineer takes requirements, designs a system to meet those requirements, overseas the implementation of that design, and confirms that the result meets the requirements.A programmer implements a system design.Sometimes software engineers are also programmers, and if not almost certainly were programmers initially.Can the same be said for bridge engineers, I'm not sure.

author: james_s
author_rank: Super Contributor
timestamp: November 16, 2019, 07:23:23 am
content: I've done both hardware and software, I was called an "engineer" in both cases. Software engineers design and build software, how is that different from a hardware engineer who designs and builds hardware? It takes a lot of knowledge and a certain personality type to do well at either one. A novice can't just push a bunch of keys and end up with working software any more than they can throw a bunch of components at a breadboard and end up with working hardware.Designing and implementing a complex software product is every bit as demanding as designing a complex piece of hardware or designing a building or bridge that is functional and safe. An engineer's job is to see the big picture, and use their arsenal of knowledge and creativity to come up with solutions to problems at hand. I think a lot of people who have not done real world software development have no idea the amount of depth there is. Just like designing hardware there are zillions of ways to accomplish the same thing, each with their own unique pitfalls and challenges. Knowing the language is only a small part of the puzzle, the real talent is in thinking up solutions that are elegant, functional, reliable, scaleable, testable and maintainable.

author: VK3DRB
author_rank: Super Contributor
timestamp: November 16, 2019, 07:37:31 am
content: In Australia you cannot call yourself a medical doctor unless you are qualified. Or even a plumber unless you are qualified. But anyone can call themselves an engineer, even though they may have no qualifications or experience. The US model should be adopted here in law where you can only call yourself an engineer if you have a degree in engineering.With programmers, they are not engineers unless they also possess an engineering degree. Do they understand control theory? Fourier analysis? Generally, no. Likewise, how many electronics engineers know how to program properly, employing good embedded programming practices? From my experience, very few.That being said, one of the smartest "engineers" I have ever worked with did not have a degree, but was a technician. He went on to get his degree. But the dumbest "engineer" I ever met said they had a degree. He was fired after 9 months of uselessness in the job. I am certain his qualifications were fraudulent.Final point: The model that France uses is best in the world in my opinion, where you have to train to be a technician before you can train to be an engineer. Too many engineers elsewhere without practical knowledge of experience know sweet stuff all about the real world. The worst are those who think they know everything.

author: james_s
author_rank: Super Contributor
timestamp: November 16, 2019, 07:54:48 am
content: Quote from: VK3DRB on November 16, 2019, 07:37:31 amHuh? There is no requirement in the US to have a degree in order to be called an engineer. If you want to call yourself a PE then you need to have an engineering degree but anyone can have a job with the title of engineer in most states. There are a few states that have tighter regulations on this but it ends up just sounding snooty and ridiculous. Personally I think degrees and titles are already overrated, I have seen very little correlation between the degrees and certifications a person holds and their level of knowledge or practical ability. Not that education is ever a bad thing, but I've encountered a lot of people with very impressive degrees who were somehow useless in terms of actual practical abilities. Likewise I've worked with some completely self taught people who were absolutely brilliant. If someone engineers things I'm not about to try to tell them they can't be called an engineer. I'm ok with titles like PE specifically denoting a degreed engineer though.

author: Karel
author_rank: Super Contributor
timestamp: November 16, 2019, 08:05:47 am
content: It all boils down to this:The cost involved to patch hardware is much higher than software.This has lowered (and sometimes completely removed) the quality requirements of software development.Good software development can be like engineering. Unfortunately, it's very rare because of the "release quick, fix later"motto of most companies.

author: magic
author_rank: Super Contributor
timestamp: November 16, 2019, 08:36:14 am
content: It wasn't always like that. "Software engineering" was a movement which intended to apply methods of engineering to software (design, specification, QA, validation, testing) in order to hopefullymake software more reliable, designable and predictable. Originally it was associated with people sitting, drawing "blueprints" of software and trying to get programmers to follow them.Then the name kinda leaked into the mainstream and today every code monkey who copy-pastes together JavaScript snippets found on Stack Overflow calls himself a software engineer.Quote from: blueskull on November 16, 2019, 07:50:45 am

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 08:56:09 am
content: Quote from: eti on November 16, 2019, 05:21:09 amPlease define where hardware stops and software begins. Without that your questions are built on not comprehending modern systems.You should include, but not be limited to, consideration of:microcoded processors - is the microcode hardware or softwarehow intel can issue bugfixes to its x86 processors that are installed on motherboards in customers premiseswhether a finite state machine specification (e.g. to control traffic lights) is hardware or software - or both or neitheris someone implementing a function in an FPGA a hardware or software engineeris someone implementing a DSP function a hardware or software engineeris someone implementing a mechatronic product a hardware or software engineerAnd that is without even mentioning fundamental theoretical concepts that dictate what the technology-du-jour can and cannot achieve.

author: magic
author_rank: Super Contributor
timestamp: November 16, 2019, 09:11:00 am
content: Half of those "software engineers" don't even know what "a microcode" is. Stop splitting hair.Besides, tying engineering to hardware is silly. You can social engineer people and you can build hardware in complete violation of any accepted engineering practice. Is it engineering if I whack together a house from cardboard joined by shoestrings which is collapsed by the first wind because I have no idea what I am doing?

author: iMo
author_rank: Super Contributor
timestamp: November 16, 2019, 09:48:36 am
content: To become an "Engineer" of something does not guarantee she/it/he is a knowledgeable Expert for something.Engineering education "should" guarantee it/she/he is a person who was taught end examined by an authority about "latest and best" theories/methods/processes/tools/practices/ethics on how the good engineering in the particular field of interest should be delivered..

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 09:55:12 am
content: Quote from: magic on November 16, 2019, 09:11:00 amIf someone wants totry tomake a distinction between hardware and software theyhave tosplit hairs!

author: hamster_nz
author_rank: Super Contributor
timestamp: November 16, 2019, 10:09:58 am
content: With a toe in both camps, this is interesting to watch'Real' engineers are not perfect either. Even after we had a building collapse due to design flaws, 'real' engineers still designed and approved obviously flawed designs:https://en.wikipedia.org/wiki/CTV_Buildinghttps://www.stuff.co.nz/business/113226624/new-engineer-spotted-alleged-defects-in-christchurch-highrise-from-the-street

author: VK3DRB
author_rank: Super Contributor
timestamp: November 16, 2019, 11:17:41 am
content: Quote from: Karel on November 16, 2019, 08:05:47 amVery false economy. In the end it bites them in the arse. It is usually better to "Do It Right the First Time". Reality is they get their processes sorted out AFTER a mess is created.One bloke I had met for a short time prior to him leaving a company had written 50,000 lines of embedded C-code. The issue here was the company CEO and others did not have any experience with firmware development - so there were no checks and balances, no coding standards, no processes, no nothing. It was a dog's breakfast - a complete illogical mess based on little understanding of coding or how a microcontroller works. One guy who took over his "code" walked out within two weeks, saying he would rather be in jail. I foolishly took it on and it took me 18 months to fix it up. The result was 30,000 lines of structured, readable, and efficient code - and about 200 mostly serious bugs fixed along the way. I vow never to take on fixing up some idiot's code again. But a lesson learnt never to take on such a soul destroying task again. I would rather be on the dole.

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 11:21:50 am
content: Quote from: hamster_nz on November 16, 2019, 10:09:58 amI've more than a mere toe in each campI stand with one foot in each camp, and hop between them as necessary!It can be fun to get a coworker down the pub, and get them to try to distinguish between hardware and software. It is easy to get them to tie themself in a knot; the skill lies in dragging out that process

author: vk6zgo
author_rank: Super Contributor
timestamp: November 16, 2019, 01:14:19 pm
content: Quote from: VK3DRB on November 16, 2019, 07:37:31 amBut he can call himself a "doctor" although he is only a "Bachelor of Medicine", not a "Doctor of Medicine".Quote

author: tpowell1830
author_rank: Frequent Contributor
timestamp: November 16, 2019, 03:35:02 pm
content: Quote from: eti on November 16, 2019, 04:26:30 amOne cannot describe an engineer in relation to how many degrees, or type of degrees from an accredited university that a person has.An engineer is not an island unto themselves, the community of engineers grooms and shapes a budding engineer, not just at first, but forever.An engineer does not come from the dust, or necessarily from a university, but from a mindset of discipline, knowledge and continued learning.An engineer MUST approach every task with humility and accept the fact that he/she may have limitations of ability/knowledge.An engineering team is equally dependent on ALL of its members(even though, sometimes, the bulk of work is done by a few).These are a few of the aphorisms that I use on a daily basis in doing my job as an engineer.EDIT: Forgot to say the punch line; Yes, software engineers are engineers if the above are true, especially number 3.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 16, 2019, 04:18:20 pm
content: This is a very common question that has been asked for several decades now. Is software development engineering? If not, what can we change that would make it similar to engineering?(I think thousands of people must have asked/worked on this very question.)Anyway, this is what Dijkstra had to say about it: (excerpt fromhttps://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html)Quote

author: wnorcott
author_rank: Regular Contributor
timestamp: November 16, 2019, 04:19:11 pm
content: If a person earns an MIT degree from the Electrical Engineering & Computer Science department, is that person not entitled to call himself a 'software engineer'?By the fine sieve some are using, electrical engineering is barely engineering either.Parts machined on lathes? PCB fabrication? That is mechanical engineering. Only mechanical engineering is a fundamental engineering discipline, which spans millenia. Civil engineering get a nod but is a mere offshoot of ME. The Apollo program was 95% ME and 5% EE. As soon as we talk about electronic devices that operate above room temperature, the topic becomes heat transfer, which is also mechanical engineering. Aerospace engineering? OH, you mean Fluid dynamics. Designing wind powered electric generators? Fluid dynamics. That is mechanical engineering. Want to bring that widget off the bench and put it in an Abrams tank? Ruggedized? Ergo stress analysis, which is mechanical engineering.

author: cliffyk
author_rank: Frequent Contributor
timestamp: November 16, 2019, 04:29:15 pm
content: Yup--MIT, my (alma mater: MSME '71) does not seem to have a problem with it:

author: cliffyk
author_rank: Frequent Contributor
timestamp: November 16, 2019, 04:45:14 pm
content: RAD (Rapid Application Development); when done properly, which I despite 50+ years in data systems engineering have yet to see¹, is as much "engineering" as anything:-----------------------------------------------------¹ -- the various attempts i have seen have all gotten to theUser Designstage and then gradually (or even rapidly in one instance--an accounting system for a larger State) devolved into "waterfall" projects. It takes far too much discipline (a word engineers know all to well) to stay the RAD course...

author: magic
author_rank: Super Contributor
timestamp: November 16, 2019, 05:02:48 pm
content: Okay, I will take the baitmicrocoded processors - is the microcode hardware or softwareOf course software.how intel can issue bugfixes to its x86 processors that are installed on motherboards in customers premisesBecause the CPU runs software, duh. Or by recall, like the FDIV bug.whether a finite state machine specification (e.g. to control traffic lights) is hardware or software - or both or neitherSome pedants could argue that a spec is neither, unless in some formal executable language, then it's software.is someone implementing a function in an FPGA a hardware or software engineerMost likely hardware engineer, because software engineers rarely know how to produce this particular piece of software.That being said, I have heard work is under way to make FPGA programming more "inclusive" for code monkeys.is someone implementing a DSP function a hardware or software engineerI sure hope he's the latteris someone implementing a mechatronic product a hardware or software engineerNo idea what that is, meh.

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 05:31:09 pm
content: Quote from: magic on November 16, 2019, 05:02:48 pmNo, since the microcode defines the ISA, amongst other things. As wackypedia puts it: "Microcode is a computer hardware technique..."https://en.wikipedia.org/wiki/MicrocodeQuoteNo, they issue microcode updates which change the processor's capabilities and operation. They would have made it unnecessary to recall processors because of the FDIV bug.QuoteI wondered if someone would pick up on that, but it would be more enlightening if you addresses the substance of the key point.QuoteWhich is more likely to understand, say, a Chebyshev filter, a digital PLL, an IQ modulator, a Viterbi decoder, Kalman filters etc.Not a software engineer.QuoteGoogle is your friend:https://en.wikipedia.org/wiki/Mechatronics

author: magic
author_rank: Super Contributor
timestamp: November 16, 2019, 05:50:01 pm
content: To me the distinction is really simple: if you can crash your foot with (a sufficient quantity of) it, it's hardware. If you can get it from the 'net without involving Fedex, it's softwareThere are things which are neither but I doubt anything is both.By your logic JRE is hardwareAnd I appreciate the irony of using wackypedia as an authoritative source while calling it out for what it is

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 06:56:51 pm
content: Quote from: magic on November 16, 2019, 05:50:01 pmAh. The Humpty Dumpty definition of words. That's all very well until you want to communicate with other people. Maybe you don't want to communicate?Your JRE and wackypedia straw man arguments are bizarre.It would also help if you addressed the substantive points.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 16, 2019, 07:20:11 pm
content: Where do these people designing equipment find the nerve to call themselves engineers? I bet most have never worked on an engine or driven the locomotive of a train. Sitting in an office fiddling with numbers is nice and all but we know who the real engineers are.I doubt the applicable group came up with the term. These generally seem to be made up by HR departments trying to upsell not too glamorous positions. The world is forced to play ball as the original terms deflate as a consequence.

author: Scrts
author_rank: Frequent Contributor
timestamp: November 16, 2019, 07:46:32 pm
content: Is it me only that think "programmer" is a tool (think of hammer) to program a chip or a memory device and the discussion here is about software engineer? E.g. hardware engineer does lots of schematics engineering as well and sometimes none of actual hardware, which is handled by SMT machines and technicians if needed. Debug and validation activities excluded.

author: soldar
author_rank: Super Contributor
timestamp: November 16, 2019, 07:49:08 pm
content: I have no problem with software people calling themselves engineers.The etymology of engine and engineer is from Latin "ingenium" meaning talent or device product of talent, intelligence. In Spanish the word "ingenio" still has both meanings, "clever" and "engine" and you can see they are related in the sense that an engine would be invented by someone with ingenuity, someone ingenious. If someone designed an ingenious solution to a problem of any kind, or he invented a clever joke or play on words, then he is ingenious.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 16, 2019, 08:54:43 pm
content: I've never considered myself a software engineer, but I do apply engineering principles to software design and implementation.By engineering principles, I mean science on the theoretical side, experience on the practical side, and rational thinking (AKA reasoning) between the two.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 16, 2019, 09:17:31 pm
content: Quote from: Nominal Animal on November 16, 2019, 08:54:43 pmThat sounds like engineering principles indeed. Unfortunately, I tend to agree with Dijsktra's point, which I think still holds true. What we commonly call "software engineering" these days has not much to do with what you just said above. I think the main part "borrowed" from general engineering is more like project management principles (writing specs, choosing solutions, implementing, version control, testing, meetings) than anything else. I think there is actuallya lot less "science" used in day-to-day software "engineering" than in any other engineering field.Of course the question is with the term, discipline and practice of "software engineering" in general. Lots of people are writing software with engineering principles, and at least with embedded software, completely tied to other engineering fields.

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 09:20:18 pm
content: Quote from: Nominal Animal on November 16, 2019, 08:54:43 pmI am always dismayed by people who loudly proclaim that only theory/practice (delete as applicable) is necessary, and that the other is bunkum. You need both!Nonetheless there are probably more cargo-cult software writers than hardware creators.

author: magic
author_rank: Super Contributor
timestamp: November 16, 2019, 09:32:41 pm
content: Quote from: tggzzz on November 16, 2019, 06:56:51 pmNothing can help because I don't think it's a serious discussionBut if you want me to honestly elaborate on your errors,Quote from: tggzzz on November 16, 2019, 05:31:09 pmThis is exactly what I said, the CPU runs software so they send you a different software if something goes wrong. Kinda like firmware update to your cloud toaster when it kernel-panics on attempt to join your WLAN so you can't eject the toast.And yes, a microcode update would allow the FDIV bug to be fixed, if that stupid lookup table in the FPU were turned into SRAM. Which is more die area and power consumption in an already hot and crowded subsystem, so I totally doubt that anyone does it in practice. But modern x86 is of course not something that's going to appear on zeptobars tomorrow so we may inconclusively argue about it until death parts us.Quote from: tggzzz on November 16, 2019, 05:31:09 pmYou ask me to stop nitpicking about formal languages and say once more that a description of some FSM, uploadable to some hardware for execution, is software?

author: hamster_nz
author_rank: Super Contributor
timestamp: November 16, 2019, 09:35:34 pm
content: Stack Exchange snippets are the programmer's equivilent of an AppNote reference circuit design and PCB layout.

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 09:49:22 pm
content: Quote from: magic on November 16, 2019, 09:32:41 pmIt is clear you have absolutelyzerounderstanding of what microcode Is and isn't. I suggest you look at the AMD 2900 series and Intel 3000 series processors, and try to understand how to use them. Start by telling us whether they are 2/4/8/16/32/64 bit processors.Hint: I once designed a 2900 based machine that wasn't a processor in any conventional sense - it had zero RAM.As for FSMs, what makes you think they are a software or electronic artifact?I once wrote a report on whether an FSM implemented in logic running at 4000psishould be replaced by a micro. Conclusion: no.

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 09:52:57 pm
content: Quote from: hamster_nz on November 16, 2019, 09:35:34 pm... Only on a good day!Mostly they are only suitable for "which button do I press?" questions

author: Cerebus
author_rank: Super Contributor
timestamp: November 16, 2019, 10:08:42 pm
content: Quote from: tggzzz on November 16, 2019, 09:49:22 pm<Chuckle>I've occasionally threatened some computers with being reprogrammed with a pipe wrench...It's probably worth pointing out at this juncture that the first computer programmers did their programming by making changes on plugboards.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 16, 2019, 10:32:43 pm
content: Quote from: SiliconWizard on November 16, 2019, 09:17:31 pmPerhaps; I'm just a stickler on labels, and refuse to call script-kiddies "programmers", or "contractors" substituting toilet paper for wall insulation "professional builders".It is certainly true that most of the software you'll ever encounter is utter shit. The "this will probably blow up in your face when you are most vulnerable to failure" kind of ineptitude.Over the entire globe, most who throw code together aren't even programmers, just aggregators hoping for the best.I refuse to call anyone a software engineer, if I have seen them produce the kind of spit-and-bubblegum aggregations of code that I encounter daily.I much prefer to check if they have the ability to do better; if not, then gently suggest they learn, with useful pointers. If they refuse to learn, claim they just need to fulfill their current deadline and will do better in the future; or if they do have the ability and just didn't, I shall berate their asses off, calling them the lazy cheating fucks they are. If that makes me an asshole, I'll gladly be one. I do expect/wish the same from others, BTW.(Above, I'm referring to my behaviour out and about in the world, not in a workplace. In a business environment, one should not and does not need to be an asshole, just have some authority over the devs compensation, to get the needed results.)

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 16, 2019, 10:40:49 pm
content: Quote from: tggzzz on November 16, 2019, 09:49:22 pmIs report writing engineering?

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 16, 2019, 10:43:05 pm
content: Quote from: Nominal Animal on November 16, 2019, 10:32:43 pmOh, I agree with the above, but just OTOH to make things clear: just because we are debating whether software engineering is really engineering (again, something that has been debated for decades, nothing new or particularly horrible to discuss), doesn't mean that software developers are "less" than engineers in general (some can be, but some "engineers" can be real bad too). We're not questioning the value of people writing software. Just whether engineering is the right term to describe software development, why, and what the consequences can or can't be.As I said above, I personally think "software engineering", in the past decades it has been called so, has focused too much on project management methods and maybe not enough on the fundamentals, which has led to much more repeatable software development processes, and has made it easier to hire and integrate software developers in teams, but has not necessarily hugely improved software quality all in all.

author: Cerebus
author_rank: Super Contributor
timestamp: November 16, 2019, 10:50:14 pm
content: Quote from: Mr. Scram on November 16, 2019, 10:40:49 pmOnly if you do it in crayon.

author: tggzzz
author_rank: Super Contributor
timestamp: November 16, 2019, 11:00:09 pm
content: Quote from: Mr. Scram on November 16, 2019, 10:40:49 pmIt is frequently the deliverable result arising from engineering judgement.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 16, 2019, 11:13:45 pm
content: Quote from: SiliconWizard on November 16, 2019, 10:43:05 pmTrue.I do not think that most software development can be called software engineering, or that most programmers are software engineers, simply because they do not apply engineering principles in the development work; that is, that developers don't apply engineering principles to their work, only to their process. (Which, I think, is basically what you are saying above.)Just like Scram's question above,"Is report writing engineering?", the devil is in the detail: it depends on how you construct the content.If you wing it, or "I know this stuff like the back of my hands", no, it isn't engineering, it is just writing out ones understanding.You do not apply engineering principles when writing. But, to find out what you need to express, and how to express it, youcanapply engineering principles. I often do, many don't; but like I said, I do not consider myself an engineer.

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 02:52:27 am
content: Newsflash!I've just found out that I am a solicitor, and didn't even know so, by virtue of having read the Microsoft Windows EULA, and finding errors in it, and proposing to myself how to fix them. I billed myself £60 per hour for having read & analysed it, which I duly paid myself, and then went to make a cuppa coffee.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 17, 2019, 03:21:20 am
content: Quote from: eti on November 17, 2019, 02:52:27 am

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 03:39:09 am
content: Quote from: SiliconWizard on November 17, 2019, 03:21:20 amTomorrow, I am going to apply for a position as a "programmer", since I know how to C# templates into "Visual Studio", even if I don't know what they do - will they accept me? I also certified myself as a plumber, since I now know how to turn on a tap.

author: jadew
author_rank: Frequent Contributor
timestamp: November 17, 2019, 04:36:01 am
content: Quote from: eti on November 16, 2019, 04:26:30 amThat's a lot of butthurt...Leaving aside the discussion about how the term "engineer" is largely meaningless anyway when it comes to communicating your ability to do something, why do you care about the nomenclature used in a different field of work?What kind of turf are you trying to protect?Also, it would help if you defined "engineering".

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 05:03:36 am
content: Quote from: jadew on November 17, 2019, 04:36:01 amI tend not to want to engage people who use daft "internet slang", especially in a passive-aggressive tone. Please be respectful and mature, thanks.

author: jadew
author_rank: Frequent Contributor
timestamp: November 17, 2019, 05:07:25 am
content: Quote from: eti on November 17, 2019, 05:03:36 amThose are big words for someone who insulted an entire profession by calling them "code monkeys".Nice way to avoid the questions tho.

author: james_s
author_rank: Super Contributor
timestamp: November 17, 2019, 05:19:49 am
content: Looks like just another clueless person who stumbled in here with a chip on their shoulder.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 17, 2019, 05:21:56 am
content: Quote from: eti on November 17, 2019, 02:52:27 amNo, that's completely different to what I described. The entire crux is inhowyou found the errors. Even then, because to call oneself asolicitoryou need qualifications (certificate or something, depending on the country/region), you couldn't call yourself a solicitor.Engineering is different. Aside from a few exceptions (in some countries, it is be protected likesolicitoretc. are), generally it is used in the same generic sense as, say, scientist: someone whose work is fundamentally dependent on applying engineering or scientific principles, respectively.It seems to me you would like everyone to agree that only those who have had specific training should be able to call themselves engineers.Ain't going to happen, bud.

author: VK3DRB
author_rank: Super Contributor
timestamp: November 17, 2019, 06:25:30 am
content: The sad thing about all this, is plumbers make more money that engineers and programmers, even though all three professions have to deal with a fair amount of crap. Based upon my own experience, many plumbers are incompetent slash-dash merchants more interested in a fast buck than doing a quality job. The problem is most immigrants have degrees, and are not interested in plumbing because they would lose face. There are just not enough qualified plumbers around... and the plumbers all know it.If you want to make good money, abandon programming and engineering, move to Australia and become a plumber. Many running their own business clear $1,500 to $2,000 per day. One plumber I met says he only uses Uber Eats because is time is too valuable to go out and get his own take-away lunch. Never heard an engineer say that.

author: james_s
author_rank: Super Contributor
timestamp: November 17, 2019, 06:31:58 am
content: If they own the business a plumber can make good money, the ones working for someone else do ok but aren't getting rich, and it can be nasty work when you've got to go out and fix someone's toilet or sewer line, or crawl around in a broiling hot itchy attic on a hot summer day or muddy crawlspace in the middle of winter. A good software engineer can easily make $150k/yr sitting comfortably at a desk.

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 07:04:36 am
content: Quote from: james_s on November 17, 2019, 05:19:49 amStumble back out again then, maybe you can find a party to go to or a friend to visit.

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 08:32:28 am
content: Quote from: eti on November 17, 2019, 03:39:09 amI wish that was a joke.

author: magic
author_rank: Super Contributor
timestamp: November 17, 2019, 08:53:24 am
content: Quote from: tggzzz on November 16, 2019, 09:49:22 pmEnlighten usQuote from: tggzzz on November 16, 2019, 09:49:22 pmLinks?Quote from: tggzzz on November 16, 2019, 09:49:22 pmAnd?Quote from: tggzzz on November 16, 2019, 09:49:22 pm>Do you think a specification of an FSM is software?>Sure>Why do you think an FSM is software?I don't know dude, you tell me

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 09:03:05 am
content: Quote from: magic on November 17, 2019, 08:53:24 amGoogle is your friend, and gives good results for the obvious queries.Since you can't be bothered to use that, clearly you are just being silly and are not interested in learning anything. Unimpressive.

author: thinkfat
author_rank: Unknown
timestamp: November 17, 2019, 10:05:27 am
content: Software Engineer: "OK, how large should this buffer be to not overrun? - Well, I could try finding out about the input specification and go from there but, meh, char it is, she'll be alright".Electrical Engineer: "OK, how large should this capacitor be on that power rail? - Well, I could calculate it from the load pattern of the connected devices, but, meh, let's put 1µ, she'll be alright".

author: magic
author_rank: Super Contributor
timestamp: November 17, 2019, 10:15:38 am
content: Quote from: tggzzz on November 17, 2019, 09:03:05 amGoogle cannot answer why you conflate machines with their specification or how a programmable dinosaur IC running without RAM somehow makes this IC's program not a software. Or whatever it is that you claimed, because you didn't even explain your point.You just throw examples of things that you seem to (or pretend to) find confusing and you assume everybody will be equally confused by them and empathically understand what you mean. I surely don't, I literally have zero insecurity about programmable FSMs, FPGAs and other software-defined hardware which doesn't use external RAM

author: vk6zgo
author_rank: Super Contributor
timestamp: November 17, 2019, 10:52:11 am
content: Quote from: VK3DRB on November 17, 2019, 06:25:30 amBlind Freddie could see this coming back in the late 1980s/early '90s.Every time you opened a newspaper or turned on a TV, you were hit with the predictions of self-styled "fururists".There were lists of jobs which would become extinct, & wouldn't you know it, they were all technical & trade jobs.Everything was going to be done by computers!Engineering subjects were abandoned at TAFE, would be Uni students all either wanted to do "Computer Science", or an MBA.The "old guard" of Bosses who knew how things work retired, & the new ones had very little experience of the physical world, but they knew how to "get on" in the management structure."Voluntary redundancy" became the catchcry among the "anointed", so actual productive staff were cut.The silly buggers couldn't "get with the program" & kept saying "but that won't work".Government bodies stopped training apprentices, & the Private sector quickly followed suit.Tradesmen in the traditional trades had more work than they could handle, & some "kept their heads sbove water".Electronics Techs largely ended up working on a "gig" basis, with their wages massively reduced from the previous norm.In the early 2000s, I found myself working as a "tech", but basically doing the job of an assembly line worker----- hand soldering components onto boards, putting metal panels together, drilling out holes that the dummies drilled too small, & so on.And woe betide you if you questioned their assembly methods or designs--- you were treated like an idiot, & if you persevered, became "an enemy of the people".Anyway, that's my private rant, moving right along to today, we find that the small number of traditional tradies left can pretty much "name their own price" -----people have learnt that you can't fix a blocked dunny from a help room in India or South Africa!Surprise, surprise, it's not "all done with computers".

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 11:15:10 am
content: Quote from: magic on November 17, 2019, 10:15:38 amThe links require you to read and think, and to challenge your preconceptions. Sorry about that.QuoteI am not in the least bit confused by the concepts. Iknowthe grey areas,whythey are there, and how touse themto advantage.People that believe they can draw a hard simple line between hardware and software only have a superficial understanding; the better of them can overcome that to their advantage.Now, taking your phrase "software defined hardware", is an FSM in a PAL/FPGA hardware or software?If a part of the FSM is written in C and executes in a processor, another part is in an FPGA, and another part is discrete logic gates or a custom IC, is the FSM hardware or software? Yes, such FSMs exist, and are common in telecom and networking equipment.To trap out another attempt to deflect the conversation with requests for "links" you could easily find yourself,startby using google for SONET and FDDI specifications. There are, of course, many other examples. No, I'm not going to (poorly) regurgitate them.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 17, 2019, 11:33:56 am
content: Why do some people get so defensive about the term engineering anyway? It's a somewhat regularly recurring discussion. If you know what you're capable of and have the papers or experience to prove it, the question is why it matters at all? There's no need to be insecure about things or get defensive.Maybe OP could define engineering, so we might understand where he's coming from.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 17, 2019, 11:37:15 am
content: Quote from: thinkfat on November 17, 2019, 10:05:27 amYou mean how rule of thumb 0.1 µF decoupling caps are use by most?

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 11:45:14 am
content: Quote from: Mr. Scram on November 17, 2019, 11:33:56 amFrequently thereisa reason why some people are dismissive about the theoretical side of engineering. That occurs less frequently about the practical side.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: November 17, 2019, 01:49:15 pm
content: Quote from: Mr. Scram on November 17, 2019, 11:33:56 amNormal human ego at work. People try to increase their status, but status is relative. So demeaning someone else has the equivalent effect, and is a lot easier than improving your own abilities.Although I do have the suspicion that many people in traditional hardware engineering companies still view software as "not real", i.e. it's an annoying thing you need to do to make the hardware work, but the real stuff is the hardware and hardware is what you sell to the customer. Software you can just give away free, it has no real value.Anyway, given Apple calls their customer support people "Genius", I feel justified in calling myself "Programming God".

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 02:11:33 pm
content: Quote from: donotdespisethesnake on November 17, 2019, 01:49:15 pmRemarkably I've seen that in a puresoftwarecompany!The discounts they obtained on the server hardware was sufficient. That made it, um, challenging to swap to more cost-effective hardware!

author: bd139
author_rank: Super Contributor
timestamp: November 17, 2019, 03:02:26 pm
content: Yes. I've worked my entire "software life" for actual software companies that think that the software is actually a secondary business concern to the hardware operations and the sales process. "We'll just buy a bigger SQL Server to run your shitty fucked up queries with 3 million joins in them" only works to a point though.Fortunately one thing that has gone remarkably well is the push to "the cloud". It turns out that firstly the rug they swept all the problems under isn't portable. Secondly it's only more cost effective if you haven't taken up all the opportunities that as tggzzz so elegantly describes as discounts and on top of that moore's law. Thus this is forcing the focus on efficient and scalable software. That requires engineering and that requires competent engineers. This outlines an obvious difference between people who can produce something that works and people who can make it work efficiently, cost effectively and on time considering the future requirements. The latter is engineering. The former is normality and the putrid vat of scum that usually populates the commercial software market.Really software these days is a valley of sense with mountains of ideology cults on each side. You tend to lose the idiots to the cults (agile, scrum, domain driven design, microservices, containerisation, product driven development etc). At the end of the valley it's pretty good though.Edit: this month's cult: "instrument everything". Now they have 50Gb of data a day which is mostly noise and don't know how to get anything useful out of it

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 04:40:29 pm
content: Quote from: bd139 on November 17, 2019, 03:02:26 pmSome of us remember "timesharing bureau", and the squeals of delight when people realised that PCs enabled them to control and own their own data.QuoteAll of those buzzwords have advantages - when used judiciously. The religion, the sales patter, and the people that only know a single tool are the problem. Yes, it turns out you can use a SQL server database to emulate RPC comms on a Unix box.QuoteInstrument everything, but leave most of the recording firmlyoff. Any fool that has used a scope and a non-trivial logic analyser knows instinctively that the LA allows you to ignore most of the irrelevant stuff. Classic example: ensure timing constraints are met, then only record an FSM's state and inputs when the clock changes.

author: bd139
author_rank: Super Contributor
timestamp: November 17, 2019, 04:51:21 pm
content: Your point about misusing SQL databases made laugh. Again a recent problem for me was “so you built your entire distributed messaging system using a single queue table in SQL server and you expect 5000 connections to not block reading and writing?”I’m not sure you should instrument everything. Another cult that does that is APM which is rising. Deciding what to ignore is more complicated than knowing what not to (latency, throughout, errors, capacity). Unix’s rule of silence was a pretty good one.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 17, 2019, 05:01:09 pm
content: Instrumenting code, like any other tool/method, should be done for a good reason when done, not just to follow some cult (which is unfortunately the main reason these days.)It should be obvious that the more you instrument code, the more data you're going to have to analyze. Funnily enough, this last part is completely overlooked most of the time. People are just content stuffing their servers with tons of data that nobody cares about (but project managers will be very angry if the data is not available.)It's related to what I said above: software has mostly gotten to a point where it's all about methods, methods, methods (to be followed blindly of course, because hey, if everyone does it, it must be good), instilled by an army of method guru consultants, and actually backed by very little facts or evidences that they really work (except from all the great examples those consultants invariably give you, almost like sect gurus.)

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 05:16:50 pm
content: Quote from: bd139 on November 17, 2019, 04:51:21 pm... and maybe each connection is a separate process (or thread)?QuotePerhaps I should define my terminology...instrument: insert a mechanism that can be used to make a series of measurementsmeasurement: a value generated by an instrument, typically stored in some form of logI tend to insert many instruments, ensuring they have a negligible overhead if not making measurements (i.e. most of the time). I also pay great attention to providing versatile mechanisms for selectively enabling only the small number of instruments necessary for the current purposes.Classic example: permanently enable instruments recording the time difference between sending a message to another company's box and receiving the reply. Great for deflecting blame to the guilty party, and for avoiding the need for lawyers.Another classic example: the time difference between receiving a message and generating the response. Great for salesment when demonstrating how well I've implemented the system.Both of those should display results in the form of a PDF or CDF, since the mean and max values are not much use.In the Java world, log4j was (is?) a goodstartingpoint. In the OS world Sun's D-trace looked good (but I never got a chance to use it in anger).

author: bd139
author_rank: Super Contributor
timestamp: November 17, 2019, 05:33:41 pm
content: Every connection spawns a “spid” (thread) inside the server. The issue is ACID semantics are applied. So it’s possible to deadlock on timing issues. The clients use connection pooling so the more requests that come in create more pooled connections and then you end up with escalation. Fun fun fun.Successors of log4j are used yes. There’s usually message based logging which is the same and then metrics which are time-series counters/gauges. I’m a proponent of good old fashioned syslog (into Loki) and Prometheus for metrics collection and alerting. Grafana provides visualisation and correlation tools over that. And it’s all free!With respect for measuring latency of an asynchronous operation you usually use logging for that and store the correlation ID against the events with time stamps and post process that. Much easier!DTrace is still lurking. Even in Linux. I’m not sure it’s needed now though.That’s a technical overview but the answer of when is rarely and I find putting hooks in for metrics everywhere tends to provide crutches for people to hit you with. Case in point an accidental log level filter event that created 100gb of traffic from an inversion of control container in only 20 minutes. Poor little syslog server ate it up but the upstream log indexer (splunk) curled up and died in the middle of an incident. So instrument the basics and for anything else, take a dump (not that kind!)Edit: a lot of companies don’t even have the above. I know people who wait for their clients to phone up to report errors. Then they take guesses until they eventually find the issue or die. They are programmers not engineers

author: james_s
author_rank: Super Contributor
timestamp: November 17, 2019, 05:36:43 pm
content: I've been in the industry long enough to see several cycles of management fads. All of those methods share a lot in common with fad diets. They mostly work when followed correctly because ultimately they all boil down to get the work done and don't waste time in the same way that the diets boil down to eat fewer calories and exercise more. Unfortunately also like the diets, people latch onto them looking for the easy path or magic bullet that will solve their problems with a minimum of effort and obviously they can't do that. Unfortunately they rarely are followed correctly either, at a former job we transitioned to "Agile" which in our case apparently meant lay off 10% of the staff and stop bothering to document anything properly or test it adequately because "if we break something we'll just fix it in the next microrelease". Well great except in that next microrelease we'll end up breaking yet more stuff and pretty soon the bugs are piling up and product quality has taken a dump.

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 05:54:56 pm
content: Quote from: bd139 on November 17, 2019, 05:33:41 pmSuch storing has a performance penalty. I prefer to do the subtraction on-the-fly, and use that to define which bucket of a histogram to increment. Dump/log the histogram at whatever intervals are useful.Of course any exceptional time differences can be additionally logged in real time as "warnings" or whatever.QuoteNo good thought goes unpunishedHowever such considerations are why I like the in-memory histogram approach above, with only exceptional events being logged. The worst that can happen is that a histogram bucket overflowsQuoteYupordepending on where I'm sitting.

author: bd139
author_rank: Super Contributor
timestamp: November 17, 2019, 06:07:32 pm
content: That’s what the metric engine does. You increment a counter as something is outbound and decrement it on inbound. There is metadata attached to the counter like the owner of the channel. In memory is an issue as it could be one of hundreds of different nodes that gets the reply. You end up with an outstanding process metric which you alert on the derivative of being above a certain level. This dumps into a thing called pager duty where a pool of operations folk pick it up and acknowledge it. Then when your provider shits a brick you can point to them and not youI quite enjoy this bit of the job actually. Not so much the rest.Edit: forgot the important bit above. Metrics tell you *that*. Logs tell you *why*

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 06:25:11 pm
content: Got to laugh how many people are associating my thread with being "insecure" or having to do with "ego" - neither could be more wrong. I am not defined by what I, or others, call me - I am extremely secure in myself, and labels don't stick -I am WHO I am, not what I do.I am making a point that "engineering" is NOT typing code into VS, and that alone. One cannot be an "engineer" soley in software realms without knowing about and manipulating hardware and needing to employ PHYSICAL measurements and procedures. I am one for correct definitions, it's that simple. Distracting from the topic, doesn't negate the topic; the topic still remains.

author: IanB
author_rank: Super Contributor
timestamp: November 17, 2019, 07:02:44 pm
content: Quote from: eti on November 17, 2019, 06:25:11 pmI don't think anyone would disagree with this.Refer back to a recent thread about the radio ham who built a big tower in his back yard. If he simply built the big tower by himself it was subject to very restrictive planning rules. However, if he built anengineeredtower instead, that was subject to totally different rules.QuoteRefer to the above. Even though the tower in question was very physical, it was still not engineering unless it was engineered. Engineering is not about what you work with, it is about how you do the work.Anything, hardware or software, can be engineered, or it can but put together informally.The more you work in engineering, the more you realize how important abstractions are to the design process. Once you deal with abstractions you are moving away from the physical realm and into the conceptual. This shows that your insistence on the physical is mistaken. Just as engineering of physical systems involves the application of physical sciences to the design process, so the engineering of software systems involves the application of computer science to the design process.Everyone in this thread will likely agree that while engineering can be applied to software systems, not all software is engineered. Sadly, much of it is not.

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 07:25:27 pm
content: Quote from: eti on November 17, 2019, 06:25:11 pmThat first sentence is sensible. The others, um, less so.If someone connects hardware filters, IQ modulators, PLLs etc together is an engineer - why is someone that connects software defined filters, IQ modulators, PLLs together not an engineer?If you need to have a modulation scheme that ensures an RF power amplifier does not have an excessive crest factor, is the person that designs the maths specifying the modulation scheme an engineer? Is the person that implements that in DSP software an engineer?Is someone that defines a system that operates successfully where the Byzantine General's problem dominates an engineer?Is someone who designs a system that can determine the order of events in a distributed system using Lamport timestamps an engineer?Yes, they are all engineers, despite not touching hardware.

author: 0culus
author_rank: Super Contributor
timestamp: November 17, 2019, 08:19:59 pm
content: I've always noticed amongst people I've collaborated with at uni and beyond that engineering is really more of a mindset than anything else. Some people "have it", some people "learn it", and then there's the ones you hope to hell don't get hired to do anything important.It doesn't really matter what discipline, it applies universally. And the folks who scream the loudest about protecting turf are usually the shittiest engineers.My 2 cents, YMMV......but I will say that folks...engineer by title or not...who are also able to do technician work well get a lot more respect from me.Not that there isn't a place for head-in-the-clouds road to Parnassus types, but when it comes to building things that work you need practical skills too.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 17, 2019, 08:21:19 pm
content: Quote from: eti on November 17, 2019, 06:25:11 pmComputers are just another tool, another set of parts, to use to achieve a goal. If you think typing on a machine is fluffy non-work that is utterly beneath you and proper engineers like yourself, that to be an engineer you must twist and bang on metal and plastic, you're a stupid fool.Then again, so are most programmers.The basic definition of engineering is "the use of scientific principles to design and build machines". Why would you think those machines must be tangible objects? Is a microwave oven not a machine, if it has no moving parts? Why would you not think of computers as machines?The fundamental idea behind computers isgeneral purpose computation. That you can reconfigure, essentially "rebuild", the machine you need for a given task, using software, instead of repopulating boards with logic chips.The difference between a typical programmer and a software engineer is the same as between an electronic hobbyist tinkering with Arduino and an electrical engineer doing PCB design.I realize this is very much what tggzzz wrote above, but the claim was just so utterly silly I had to respond; I couldn't let that sort of stupidity be.

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 08:43:26 pm
content: It was worth saying in a different way.Yes, the original claim, now repeated, is either ignorant or a troll, or perhaps eti has a big chip on his shoulder.

author: james_s
author_rank: Super Contributor
timestamp: November 17, 2019, 08:58:23 pm
content: Quote from: eti on November 17, 2019, 06:25:11 pmAnd you'd still be utterly and completely wrong. You alone do not have the authority to define a word. Have you noticed yet that you are the lone person here with the view you are pushing, that nobody has chimed in to agree? Doesn't that suggest anything?

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 17, 2019, 09:53:40 pm
content: Low post count account, a subject you know is going to draw people in and an OP appearing once in a while to fling more shit into the thread only to disappear again without addressing any of the arguments or questions. I've seen less successful trolling attempts.

author: EEVblog
author_rank: Unknown
timestamp: November 17, 2019, 10:32:45 pm
content: Why to electronics designs call themselves engineers?Not a steam engine in sight!Engineering is part of the applied sciences.Programming is just another aspect of applied science, unless you want to argue it's not? Ok, so all of that development in the field since the days of Babbage and Ada Lovelace was not applied science? If it was, when did it stop being so?

author: hamster_nz
author_rank: Super Contributor
timestamp: November 17, 2019, 10:37:47 pm
content: Quote from: EEVblog on November 17, 2019, 10:32:45 pmSome programming is a an applied science - especially in technical computing, tooling (such as compiler implementation) or systems-level stuff.Quite a lot of programming is a craft (or maybe a trade)- it is just shaping raw materials (e.g. data and libraries) into something useful to somebody. Using the coding equivalent of hot glue and duct tape.And some of it is art - User interface, styling, data visualization.The problem talked about in this thread is that "hot glue and duct tape" brigade can perceive themselves as doing "applied science" or "engineering", mostly because they don't know better.

author: wilfred
author_rank: Super Contributor
timestamp: November 17, 2019, 10:45:32 pm
content: Quote from: Mr. Scram on November 17, 2019, 09:53:40 pmI'll admit I flirted with similar suspicions. Maybe only because I thought it a silly premise. But I think to spark a fiery debate isn't quite the same as trolling. I don't think this is, and having all and sundry come out with their own ill considered opinions and nothing more still doesn't make it trolling.Trolling in essence is disconnected from personal beliefs IMO, and is simply deliberately designed to fan the flames by advancing the most inflammatory view necessary, as often as necessary.If internet forums didn't have intense debates and we only valued the opinions of those we agreed with then we would be more likely to be intolerant of others and resort to name calling like SJW or snowflake or even troll.

author: EEVblog
author_rank: Unknown
timestamp: November 17, 2019, 10:55:08 pm
content: Quote from: hamster_nz on November 17, 2019, 10:37:47 pmSure, and the same can be said for electronics as well. But the top level argument is whether programmers can call themselves engineers at all, and the answer IMO is yes. And it seems the community agrees 100% based on the poll.Apart from that it's the same tired old argument, can someone with an engineering degree automatically call themselves an engineer? I think not.I'm a qualified personal fitness trainer, but I don't go around calling myself a personal trainer because that's not what I do vocationally.Should Mr Bean call himself an engineer? After all, he does have a master degree in engineering.Same way a "programmer" who has only ever designed the fluffier aspects (couldn't think of a better term) of programming probably shouldn't be calling themselves a software engineer.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 17, 2019, 11:06:58 pm
content: Quote from: wilfred on November 17, 2019, 10:45:32 pmThat's exactly what we see though. It's not what is posted but how it's posted. Starting a thread about something predictably controversial and keeping it vague and personal with no real arguments. Not substantially participating on the discussion but occasionally fanning it on and disappearing again. Avoiding and sidestepping reasonable questions and remarks. That's what trolling is. Not the views you actually have.

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 11:24:43 pm
content: Okay, I'll be honest and with hindsight, I admit that my "black and white" opening post does possibly come across as a little too binary, and that I reckon this perhaps wasn't the most intelligent or profitable thing to discuss, I hope you'll understand that I regret having posted this topic, and if you decide to lock it, there'll be no protesting from me, as I can see it was foolhardy, and a time drain... and also possibly pedantic of me.Can we get over this and start fresh? I wasn't `trolling` but I have strong views on things, and didn't think it out well, as I'm sure you won't deny. It doesn't matter our job title if we can prove our worth (or even of we can't) and life's too short for nitpicking.Sorry.

author: wilfred
author_rank: Super Contributor
timestamp: November 17, 2019, 11:33:43 pm
content: Quote from: Mr. Scram on November 17, 2019, 11:06:58 pmI'll agree your definition of trolling is quite common perhaps very widely held. I'm a bit more old school perhaps. So for that reason I don't think responding to what everyone else says should be mandatory to avoid being regarded a troll in a controversial topic. There are times in some threads where a few go at it hammer and tongs responding to each provocation. That's the other extreme and is equally irritating. But also not trolling in my opinion. From one post to dominating a thread I still think the intent to provoke is necessary to truly be a troll and if it covers opinions from both sides of the argument then so much the better. If that tighter definition is applied then it makes it harder to justify labeling someone a troll just because one disagrees, if not with the argument then with the method of making it. I'd like to sideline casual use of troll as a form of intimidation. Same goes for other terms used to intimidate someone one disagrees with.(Just to be clear I am making general points and not specifically aiming them at you.)Edit: If I have nothing more to say on the subject it isn't because I am trolling. It is because I have nothing more to say and it is actually getting this thread (pointless as I think it is) off topic.

author: tggzzz
author_rank: Super Contributor
timestamp: November 17, 2019, 11:37:11 pm
content: Quote from: eti on November 17, 2019, 11:24:43 pmIt wasn't about "nitpicking". It was about correcting aprofoundmisunderstanding of what engineering entails.It is worth correcting such misunderstanding:to prevent other less experienced readers from unwittingly believing the statementsto defend the concept that there are experts and that their knowledge is valuable (yes Mr Gove, I've got you in mind)to allow someone to expand their understanding of technologies, and to see how things are inter-related at a deeper levelI see no evidence the last will happen in this case.

author: soldar
author_rank: Super Contributor
timestamp: November 17, 2019, 11:44:22 pm
content: Quote from: donotdespisethesnake on November 17, 2019, 01:49:15 pmThat attitude is less common today that it was say 25 years ago but in any case shows great ignorance. It is the attitude of those who want to "bring industrial jobs back".I have argued this with people many times. They will say that General Motors has tangible cars they can sell so the company has value. How can you sell bits and bytes? Well, I say, just ask Microsoft, Google, Amazon, Facebook, etc. It turns out information has value and these days even more value than nuts and bolts. But those with 19th century mentality just cannot wrap their head around this concept.It's interesting that during the industrial revolution a lot of people thought that only land had "real" value. I mean, only land could feed you and clothe you and allow you to build a house. Steamships and trains might allow you some convenience in moving around but that is just convenience and not basic fundamental value.Today a lot of people think industry is what offers '"real jobs" and we need to get those jobs back. Software are only fake jobs, smoke and mirrors.A lot of people do not understand that if you create an object which you can sell for $5 and you create a service which you can sell for $5 both things have exactly the same value: $5.How can people not understand this? Why this obsession with industrial jobs? Especially in a country that leads the world and makes billions from selling software, information, movies, smoke and mirrors. Very valuable stuff.

author: eti
author_rank: Super Contributor
timestamp: November 17, 2019, 11:47:00 pm
content: Quote from: wilfred on November 17, 2019, 11:33:43 pmIntelligent people *with discernment* who don't blithely use the broad brush of "accepted mass opinion", are rare, it's nice to see you here. Yes it's a little TOO convenient to brand someone "a troll", knowing the weight of the majority is probably going to side with you, merely because the majority don't agree with the one initial opinion that doesn't align with theirs.Online, any old bod can ignorantly call someone "troll" and get away with it, because it's become engrained in the online mentality that it's an "acceptable term", and folks RARELY attribute it with wisdom or discernment, slathering it all over anything that slightly provokes heated debate.It's quite ridiculous that this has become "the norm" online, and very indicative of the times in which we live.Here's an image which explains a lot about online "opinions" and the lack of critical thinking employed, on occasion:

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 17, 2019, 11:51:44 pm
content: Okay; I think a short recap of the original question is in order. Anyone who disagrees, feel free to pipe up.Why do "programmers" get referred to as "coders" in many instances?It started decades ago as an inside term, like "hacker", with positive connotations (about hard-earned practical skill) especially among the self-educated, I believe. (It did in my circles, at least, in the 80s/90s here.) It stuck.Why do "programmers" refer to themselves as that, when in many cases they have ZERO knowledge of the hardware which is abstracted away from them, 5 layers down at bare metal level, and ALL they know how to do is drag and drop boilerplate templates which call APIs...?Because we do not actually have a proper term for someone who writes HTML, CSS, and a little bit of JavaScript, as their day job.What is the difference between a "programmer" and a "software engineer"?People misuse the terms anyway, as bad as "there" vs "their" vs "they're", so does it matter?Anyway, engineering being the use of scientific principles in designing and building machines, "software engineer"shouldmean someone who designs and implements computer programs using scientific principles. In general, most programmers do it as atrade or craft, without any particular care to "scientific principles".This does not mean true software engineers do not exist, they're just rare, compared to the number of people who call themselves "programmers".

author: vk6zgo
author_rank: Super Contributor
timestamp: November 17, 2019, 11:53:03 pm
content: Quote from: hamster_nz on November 17, 2019, 10:37:47 pmSometimes "hot glue & duct tape" is used to temporarily fix up Engineer's "stuffups", until the poor bloody beseiged tech can fix it properly.Maybe the same applies with software.

author: VK3DRB
author_rank: Super Contributor
timestamp: November 17, 2019, 11:55:52 pm
content: Maybe the delineation between engineer and non-engineer should be whether they have learnt and understand control theory or not.You cannot design a good PID algorithm unless you understand some basic control theory. IMO, control theory is the most important subject in an engineering degree. In fact, control theory should be taught in high school, so all students can get a basic understanding of it. All engineering degree courses include control theory... it is almost a tool for good living, let alone good design. Economics courses even study it. If embedded firmware programmers don't understand or use control theory, they will not get very far.

author: Macbeth
author_rank: Super Contributor
timestamp: November 17, 2019, 11:59:08 pm
content: I have been known to wear short sleeve formal white shirts with Half-Windsor tie to work, complete with pocket protector and an assortment of Rotring pencils and pens in said pocket. That makes me a de facto engineer. I don't need any of your IEEE chartered bollocks for that.I can say with all honesty that I was on call diligently during the Y2K crisis, and thanks to my coding skillz never had to be called upon that fateful rollover new year.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 18, 2019, 12:01:10 am
content: Quote from: soldar on November 17, 2019, 11:44:22 pmI suspect part of the problem people have with some of the companies you mention is them not actually selling a service for $5. The value of the company is based on projections and expectations and constitute many times their actual profit. Some actually aren't profitable at all. That's why some people see them as smoke and mirrors. Not because their products might be intangible, but because their value is.

author: vk6zgo
author_rank: Super Contributor
timestamp: November 18, 2019, 12:01:56 am
content: Quote from: eti on November 17, 2019, 11:47:00 pmThey are both wrong, it is a lower case "g"!

author: bd139
author_rank: Super Contributor
timestamp: November 18, 2019, 12:06:02 am
content: And neither of them are engineers as they’d stick a line underneath the figure to ensure that it was not ambiguous.

author: eti
author_rank: Super Contributor
timestamp: November 18, 2019, 12:07:23 am
content: I'll say one thing - when I view my Amazon/other digital respository account, and it says "you own this movie" or "box set", I cringe with incredulity at their audacity to think they can make people believe you can "own" some bytes in THEIR MACHINE!

author: Cerebus
author_rank: Super Contributor
timestamp: November 18, 2019, 12:09:12 am
content: Quote from: wilfred on November 17, 2019, 10:45:32 pmI think his dropping this:Quote from: eti on November 16, 2019, 04:34:35 aminto the "post a picture of a cat" thread, a completely out of contextnon sequitor, (the word "brexit" was last used in the thread in a link to a Shrödinger's cat cartooneight months ago) is a fair indication of hismodus operandi.

author: vk6zgo
author_rank: Super Contributor
timestamp: November 18, 2019, 12:09:37 am
content: Quote from: Macbeth on November 17, 2019, 11:59:08 pmThe rule amongst techs is: Beware of an Engineer with a screwdriver in his pocket protector.If you watch him closely, you just might be able to reset whatever he "fiddled" before too much harm is done!

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 18, 2019, 12:19:35 am
content: Quote from: Cerebus on November 18, 2019, 12:09:12 amOr first apologising and then doubling down on the same matter. As long as the pot is stirred it seems.

author: Johnboy
author_rank: Regular Contributor
timestamp: November 18, 2019, 12:37:52 am
content: I for one found this to be a rather intelligent and interesting discussion. I do not mind a provocative salvo if that's what it takes to produce thought-provoking debate.I engineer recordings. That is to say, I position microphones, combine audio signals, utilize filters and other devices to shape and edit them, and produce a result that is unique, tailored to the tastes of the person I am doing it for, and is always something different. I try to avoid hard and fast rules when I am working in this way, because I find surprises and subsequent workarounds welcome as well as exciting challenges.I do not consider myself an "engineer" (although I am almost always credited as an engineer on the projects I work on) because I do not have an engineering degree from a school. I learned how to do what I do by listening, watching, reading, and experimenting. I have never been credited as a "recorder" or "appliance operator" because there are many other tasks involved in my work besides recording and appliance operation. I wonder how many railroad engineers have ever questioned whether what the tasks they perform can be considered engineering. From my perspective there has always been a difference between engineering and "being an engineer". Conversely, there are many people who perform engineering tasks, among others, who might feel being called an engineer does not accurately encompass all of the things they do in that capacity.

author: EEVblog
author_rank: Unknown
timestamp: November 18, 2019, 12:47:10 am
content: Quote from: VK3DRB on November 17, 2019, 11:55:52 pmHow about we each just pick a random engineering concept we have the hots for and make that the delineation?

author: EEVblog
author_rank: Unknown
timestamp: November 18, 2019, 12:50:39 am
content: Quote from: Nominal Animal on November 17, 2019, 11:51:44 pmYou could also argue this is very common in the electronics design field too. Many electronics design engineers can spend their entire career designing products and gear without using much more than ohms law and datasheets and app notes.

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 18, 2019, 12:55:22 am
content: Quote from: Johnboy on November 18, 2019, 12:37:52 amThis forum has a habit of turning poo thread starts into reasonable discussions. This unfortunately also means there's little incentive to aim for great ones.

author: eti
author_rank: Super Contributor
timestamp: November 18, 2019, 01:05:14 am
content: Quote from: Cerebus on November 18, 2019, 12:09:12 amErm, what? I have a sense of humour, it's sporadic and maybe unpredictable, but at least I have one eh? I hope you find yours some day.You think what you will, no one's going to stop you, least of all yourself.

author: Cerebus
author_rank: Super Contributor
timestamp: November 18, 2019, 01:35:09 am
content: Quote from: eti on November 18, 2019, 01:05:14 amShouting loudly about something any reasonably intelligent person ought to know is contentious in a room where people are discussing something completely different isn't humour, it's just attention seeking. Flinging gratuitous insults at me isn't particularly likely to convince me, or any other onlookers of your claimed good intent. Your 'apology' earlier is looking more and more like crocodile tears.It's pretty clear that someone hasn't a leg to stand on when they immediately resort to personal attacks when challenged. It also, bluntly, makes them look foolish and childish. It might be different if there was any wit, panache, style or even the faintest hint of substance in your put-downs, but there isn't. Your insults are so devastating that, to quote Dennis Healey, it's rather like being savaged by a dead sheep. Thinking about it, on balance, the dead sheep's probably wittier than you too. You are however right in one thing, no one is going tostopme from thinking, perhaps you could be persuaded tostart.

author: eti
author_rank: Super Contributor
timestamp: November 18, 2019, 01:40:59 am
content: Quote from: Cerebus on November 18, 2019, 01:35:09 amYour attempted reprimanding, and seemingly wilful taking of offence when it was not even given (why would I be offensive? That doesn't make sense, nor would I)knowingly do that) are the sign of someone desperate to make an issue out of absolute thin air, when there isn't one.I'm sorry if you took the wrong end of the stick, my intention isn't to give you any bad feeling; I don't even know you.Lighten up, life's too short to be bitter, that's just daft.

author: Cerebus
author_rank: Super Contributor
timestamp: November 18, 2019, 01:51:39 am
content: Quote from: eti on November 18, 2019, 01:40:59 amFrankly, I do not believe for one second that you didn't realise that your choice of phrase would be taken as being intended to be offensive. If your English and social skills arereallythat bad you're going to die the first time you walk into the wrong kind of pub and open your mouth.

author: eti
author_rank: Super Contributor
timestamp: November 18, 2019, 01:56:21 am
content: Quote from: Cerebus on November 18, 2019, 01:51:39 amWhat you believe or don't believe is out of my control, and I know my intenttions weren't malicious, so that's all I can tell you. You realise YOU control whether or not YOU allow someone to spoil your day or not, by deliberately TAKING offence, right? No one can make you feel bad, you have to want to believe that they're against you, and I promise you... why would I be? Hey, whatever, I am sorry that you appear to be so hung up on this; could we agree to drop it? If you're determined to have a grudge, well that's your prerogative - why anyone would want the weight of a burden from an offence that doesn't exist, is baffling - I meant no harm, and I am sorry if I offended you.

author: tggzzz
author_rank: Super Contributor
timestamp: November 18, 2019, 08:02:26 am
content: Quote from: Cerebus on November 18, 2019, 12:09:12 amWell spotted, and yes that is good evidence.EDIT: so are eti's subsequent posts in this thread.The mods might like to keep an eye on his postings.

author: bd139
author_rank: Super Contributor
timestamp: November 18, 2019, 08:36:01 am
content: Well spotted indeed. Another 001.

author: VK3DRB
author_rank: Super Contributor
timestamp: November 18, 2019, 10:13:31 am
content: Quote from: EEVblog on November 18, 2019, 12:47:10 amControl theory is not random concept. It is an enlightenment. I never felt that when studying bending moments, semiconductor physics, or Fourier Analysis (although LaPlace transforms were pretty darn good). This is how one feels when they discover the delights of control theory...

author: tggzzz
author_rank: Super Contributor
timestamp: November 18, 2019, 10:23:37 am
content: Quote from: EEVblog on November 18, 2019, 12:47:10 amRandom engineering concept - agreed. Control theory - no.Control theory has simple concepts and simple consequences that can be seen in everyday life and which ought to be understood byeverybody. Thermodynamics is the same.No, I'm not thinking of phase margin, bode/nyquist plots etc. I am thinking of positive/negative feedback, oscillation, and what happens when you tweak the controls faster than the feedback loop can respond.For examples of the last, I could point to politicians in the UK; I expect other countries have similar problems. No, I am not going to mention/discuss the politicians/domainsfor obvious reasons; they will be familiar to anybody that is aware of news sources in the UK. even if only at the level of "1: you can't win 2: you can't break even 3: you can't leave the game"

author: thinkfat
author_rank: Unknown
timestamp: November 18, 2019, 11:19:29 am
content: Quote from: Mr. Scram on November 17, 2019, 11:37:15 amIt's one example. But really, it's a stance generally taken "in the industry". Engineers of all professions are masters of the "rule of thumb". I'm just mentioning it to remind everyone that we're all just "cooking with water". Apart from Thunderfoot, he cooks sodium in potassium. But that doesn't count

author: GeorgeOfTheJungle
author_rank: Super Contributor
timestamp: November 18, 2019, 11:50:15 am
content: Quote from: CatalinaWOW on November 16, 2019, 05:03:50 am

author: tggzzz
author_rank: Super Contributor
timestamp: November 18, 2019, 12:16:49 pm
content: Quote from: CatalinaWOW on November 16, 2019, 05:03:50 amUnfortunately it is also necessary to (try to) enlighten "youngsters" and "outsiders" of the difference.If we don't then our contribution is ignored - and that's bad for us (directly) and everybody else (when good people don't want to become thermal insulation "engineers" a.k.a. laggers).

author: Cerebus
author_rank: Super Contributor
timestamp: November 18, 2019, 01:12:09 pm
content: Quote from: tggzzz on November 18, 2019, 10:23:37 amYou've hit on the one area where, in my experience, software folks are almost always completely lacking, education wise. I've never seen control theory included in the syllabus of any computer science/computing whatever degree course.A co-worker hit a problem a couple of months back and I had to explain the basics of control theory to him in short order. He's an old friend and colleague who is otherwise one of the more competent networking and programming guys that I've worked with. He'd ended up with a software system that had a feedback loop with serious stability problems and a system that went into oscillation as soon as it hit the real world. I can't share the details for reasons of commercial confidentiality and I can't be fagged to cobble together an sanitised version that doesn't give the game away. The context was networking automation and that's about all I can safely say.It ought to be obvious that there are computer systems by the bucket-load that employ some soft of feedback, yet I have never seen even an informal analysis of their stability. Many get away with it by a combination of shear dint of luck and the fact that in modern computers there's a lot of bandwidth available. However, there are many that don't and I'm sure we've all encountered computer systems that exhibit 'weird' behaviour and I suspect that a proper analysis of some of these would yield the result that, usually in corner cases, these have unstable feedback loops.In the wider context I wince every time I hear "cyber-" applied as a prefix to anything to do with the computer/networking world. As well as being a useful marker of fundamental ignorance in the applyee, it's also an ironic reminder of the almost total absence of the teaching of any control theory principles in the same area. (For those ignorant of it, "cybernetics" was the name that used to be used to cover the whole study of control systems. The term seems to have fallen out of fashion, but back in the misty days when I was looking for a degree course it was a degree subject at quite a few universities. I blameMr. John Steed and and Mrs. Emma Peelfor starting the misappellation. In double irony, cybernetics is derived from the greekkubernetes, forsteersmanorhelmsman- such irony will only be 'got' by those who go near the more fashionable end of computing trends and fashions.)

author: bd139
author_rank: Super Contributor
timestamp: November 18, 2019, 01:28:39 pm
content: Excellent points. Using an analogy of a balancing ball PID control loop, most of the invisible control loops present in systems at that level tend to ram the ball to the bad end and then get stuck there.Unfortunately when you waltz in shouting about hysteresis and control loops, people just think you're nuts. Even if you demonstrate you are the only person who can get the system stable from a load event. I have been accused of witchcraft because shutting down instances of a message bus made it faster.Also that is quite funny. Guess who's avoiding the kubernetes fad at the moment.Processes are enough virtualization if you didn't build a pile of shit. Containers and virtual machines are ways of pretending you don't have a pile of shit. And k8s/docker/terraform are just dung beetles rolling it around.

author: vk6zgo
author_rank: Super Contributor
timestamp: November 18, 2019, 02:07:57 pm
content: Quote from: GeorgeOfTheJungle on November 18, 2019, 11:50:15 amYes, I vigorously insist that I not be called an Engineer.I am a Technician, or at the most, a "Technical Officer" (Retd.)

author: tggzzz
author_rank: Super Contributor
timestamp: November 18, 2019, 02:35:44 pm
content: Quote from: vk6zgo on November 18, 2019, 02:07:57 pmVive la difference!Good for you. We needbothengineersandtechnicians - they have (or should have) complementary skillsets.Analogy: doctors and nurses. I know which I want to insert a needle into me, and which to define the drugs that go through the needle

author: tggzzz
author_rank: Super Contributor
timestamp: November 18, 2019, 02:41:53 pm
content: Quote from: bd139 on November 18, 2019, 01:28:39 pmSurely VMs ensure:your shit doesn't contaminate my fertilisermy fertiliser can be unfrozen and used in 10 years timeI don't understand docker etc well enough, but I assume they are akin to having different frying pans for sausages and vegetarian "sausages".

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 18, 2019, 02:55:40 pm
content: Quote from: tggzzz on November 18, 2019, 08:02:26 amThe patterns are quite obvious. I wouldn't be surprised if it turns out to be some clone account of a regular or banned user.

author: bd139
author_rank: Super Contributor
timestamp: November 18, 2019, 03:08:21 pm
content: Quote from: tggzzz on November 18, 2019, 02:41:53 pmIts more putting a hot dog roll around each sausage and then pretending they aren’t sausages. Then cramming too many hot dog rolls on top of a pile of rotting sausages. Then hiring a bunch of people to orchestrate the moving of hot dog rolls. What matters is none of this but the contents of the sausages which is usually made of pig’s arseholes because everyone is busy moving the hot dog rolls around instead of making quality sausages.As for VMs, they were ok until someone thought overprovisioning was a good idea. Really it should have stopped at zones on Solaris. Why run 40 kernels on one box?!?!

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 18, 2019, 04:05:56 pm
content: Docker is how you end up fixing dependency hell when you know damn well you'll never fix dependency hell. Bunch all the crap together and call it a turd bouquet.

author: maginnovision
author_rank: Super Contributor
timestamp: November 18, 2019, 04:16:07 pm
content: Quote from: Mr. Scram on November 18, 2019, 04:05:56 pmPretty much. Can also help to have a stable snapshot to go back to if you accidentally screw something up or an update doesn't go as planned.

author: bd139
author_rank: Super Contributor
timestamp: November 18, 2019, 04:27:05 pm
content: I've done that since about 1999 without the aid of docker.YUM is rather nice. If you deploy it via Yum/RPM/DNF (the OS package manager), just roll back the last transaction in the cluster on all nodes with ansible.

author: dferyance
author_rank: Regular Contributor
timestamp: November 18, 2019, 04:39:07 pm
content: Programming / Coding / Software Engineering has had difficulty knowing where we fit for quite a while. I am very comfortable calling myself a software engineer because:I have a degree in software engineering from an engineering school. In many / most of my courses, my fellow students were mechanical engineers and electrical engineersSeveral companies I've worked for, I've worked on the same projects and doing fundamentally similar things to mechanical engineers and electrical engineers. There has never been any confusion that the software folks were any different. We were all part of the engineering department.What baffled me is when I worked for a company that considered me to be part of IT. How often to do other engineering fields get lumped into IT? I was engineering one of our key products we sold to our customers. This was very different than the staff who configured servers or monitored the network.I think one fundamental problem is programming is done in a ton of different contexts. It is used in engineering, IT, science research and simulation, mathematics, basic computer usage, web pages and marketing. It isn't always engineering in these contexts. Compare it to soldering. Electrical engineers often solder parts together or generate documentation to send them out to be soldered. But plumbers and jewelers solder as well as students and hobbyist. It doesn't mean they are engineers. I think the difference is that programming is far more fundamental to engineering software than soldering is to electrical engineering. But it still doesn't mean that programming = engineering... just that engineering can include programming.The other factor is how new software engineering is. We really have a terrible time with what constitutes a good practices. We are full of factions that have all very strong opinions. Static typing vs dynamic typing, unit test everything, peer reviews, OOP, functional programming, structured programming, concurrency patterns, server-less and whatever fad is popular at the time. Despite massive money in people selling the one-true-way, as a field, we don't really know the best way to design software. However, we've been remarkably successfully anyway; the world runs on software. We have self-driving cars and self-flying airplanes yet we hardly know what we are doing. It really is a remarkable situation.

author: Cerebus
author_rank: Super Contributor
timestamp: November 18, 2019, 05:04:18 pm
content: Quote from: bd139 on November 18, 2019, 04:27:05 pmI'll thank you not to swear in my presence young man! At least you didn't sayAnsible Tower.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: November 18, 2019, 10:51:21 pm
content: My grandfather was an engineer. He drove a train.

author: bd139
author_rank: Super Contributor
timestamp: November 18, 2019, 11:12:41 pm
content: Quote from: Cerebus on November 18, 2019, 05:04:18 pm. Not tower. That costs money! I rather like Ansible until you throw WinRM in there and Kerberos. Actually anything is fine until you throw that in. Oh and wrestling vim's autoindent with YAML which sucks!Annoyingly I actually mostly wrote Ansible 20 years ago in Perl. If I had the marketing brains back then I'd be owned by Redhat now. Unfortunately all interesting problems (for me anyway) are solved now and I can't be bothered to solve the boring ones

author: bsudbrink
author_rank: Frequent Contributor
timestamp: November 18, 2019, 11:28:43 pm
content: Since no one else here has pointed this out...When I was starting my Computer Science degree (lava pools from the meteor impact that killed the dinosaurs were still cooling), there were three jobs:1) Analyst - Interacted with the client (not necessarily the user) to determine the requirements and create a detailed program specification.2) Programmer - Translated the analyst specification into code for a particular platform. Sometimes called a coder. Created code sheets.3) Keyer - Typed the code from the code sheets onto punched cards. Probably also assembled the job deck (added cards that triggered the compiler, directed the output to the printer, requested that the operator mount tapes, etc.).When my degree work started, it was made clear to us that we were being trained to be analysts. Over the course of my studies, the new "Programmer/Analyst" position came into existence and, by the time I graduated, we all had interactive environments and "glass teletypes" and the idea of a keyer was just about dead.Anyway, if you aren't the lead developer (you are not specifying the design), you could legitimately (in historical terms) call yourself a coder or programmer. If you are doing more, then programmer/analyst would be historically correct, but I've known people with that responsibility to call themselves "architect", "designer", "visionary", "director". "developer", "lead developer" (I'm forgetting one or two) and, of course, "engineer".

author: vk6zgo
author_rank: Super Contributor
timestamp: November 19, 2019, 12:04:54 am
content: Quote from: bd139 on November 18, 2019, 12:06:02 amOr Ancient Romans--- everybody knows the difference between VI & IX!

author: CatalinaWOW
author_rank: Super Contributor
timestamp: November 19, 2019, 03:27:17 am
content: Quote from: vk6zgo on November 19, 2019, 12:04:54 amThe Romans had their own. Is it IX or XI? I suppose the ancient Roman engineers would have added a line.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 19, 2019, 04:14:49 am
content: I like to sort my M&M's alphabetically, except that I can't decide whether to put 3&3's before E&E's, or after W&W's.

author: vk6zgo
author_rank: Super Contributor
timestamp: November 19, 2019, 05:24:59 am
content: Quote from: CatalinaWOW on November 19, 2019, 03:27:17 amAn RF EE or Tech would probably say "Who cares, it's within a dB either way"!

author: vk6zgo
author_rank: Super Contributor
timestamp: November 19, 2019, 05:42:32 am
content: Channel Ten TV Network in Oz decided it would be snazzy to change their logo to "X", back in the '90s as part of "refreshing their image", hoping to increase their viewing audience.The audiences didn't increase much -----probably not enough surviving ancient Romans!

author: cliffyk
author_rank: Frequent Contributor
timestamp: November 19, 2019, 05:50:09 am
content: Quote from: vk6zgo on November 19, 2019, 05:42:32 amHere, channel 30 tried that--"XXX'; lost a lot of family viewers....

author: tggzzz
author_rank: Super Contributor
timestamp: November 19, 2019, 01:18:29 pm
content: Quote from: bd139 on November 17, 2019, 03:02:26 pmThis just RSSed itself into my (limited) attention span.

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2019, 01:26:24 pm
content: Hahaha seen that in real life. KPI's and business dashboards are a comedy on their own even if they make sense. All they do is build an organisation tailored to responding to them and not customers.Twitter is one fire with complaints but the dashboard is fine!

author: Cerebus
author_rank: Super Contributor
timestamp: November 19, 2019, 01:37:06 pm
content: Yup, KPIs actively encourage gaming the system.I've seen this in Agiletmwhere management decided to treat 'velocity' as a KPI and everybody apart from my team started gaming it. My team ignored it, my team actually delivered what had been planned for that quarter, which the others didn't, and we still got punished for not having as good a fake metric as the other teams. Management! Can't live with them, can't get away with ruthlessly slaughtering them.

author: bd139
author_rank: Super Contributor
timestamp: November 19, 2019, 01:47:26 pm
content: Oh I hate that one. The measurement of velocity is fraught with problems as well. I use this video to explain why it's a bad approach generally. The mouse knows what he's doing once he's explored and thought about it for a bit rather than reached that sprint's objective which is get to the end. Then he reaches the objective efficiently repeatedly.If you measure his velocity constantly, you're just pushing everyone to mediocrity by solving the problem objectives inefficiently. But you have a KPI (hahaha) that says that it's not a problem because of the discrete measurement intervals.Edit: a footnote on SCRUM, another disfunctional fad. The chickens and pigs thing always gets to me. The product owner, usually a project manager with some turd polish, instead of being functional turns into a mini management cult with KPIs. These are then relayed loosely to the chicken management as packs of lies and that turns into high level management decisions which don't match reality. Management: we need to do more X. Software architecture: you fucking what mate? Project management in disguise: I'm going outside for a cigarette. Ugh.Edit 2: oh before I go and do some work, a great read:https://www.amazon.co.uk/dp/1942788290/When I say great I mean as a last resort when you're having a shit and your phone battery is flat. It's software mein kampf.

author: tggzzz
author_rank: Super Contributor
timestamp: November 19, 2019, 02:19:11 pm
content: Ah yes, "schedule chicken". Not a new phenomenon (note the dates), and it occurs in well-run companies.From winter@hpldola.HP.COM Wed Jan 3 22:09:43 1990Date: Wed, 3 Jan 1990 22:09:43 GMTSubject: Schedule ChickenOrganization: HP Elec. Design Div. -ColoSpgsPath: otter!hplabs!hpfcso!hpldola!winterNewsgroups: hp.forumLines: 124[any resemblance of these characters to any person, either living or deadis pure coincidenceWelcome to the game show where the object is to conceal your true infor-mation and use others to your advantage. The stakes are high as con-testants vie for valuable kudos from management. It's the game showof software development schedules... SCHEDULE CHICKEN!!!And now, here's the host of Schedule Chicken, your favorite and mine,Alex Tredeadline!!!!Thank you Johnny, and let me add my welcome to Schedule Chicken. Today wehave three contestants who have building block projects that they need tocomplete before the end of the game. They each know in rough terms howlong their tasks will really end up taking. What they now need to do isto conceal that actual figure so that they can avoid the dreaded "CriticalPath Box" for the longest amount of time.We'll begin with some introductions, and for those of you at home, you'll getto see how long the tasks these contestants have been given will most likelytake.AT: First, our newest contestant, and least familiar with his task, is RonnieRookie. (Below Ronnie's name "8 rounds" appears.) Hi Ronnie, are youready to play our game?RR: (nervously) I think so. I've played similar games, but this time I'vegot a task I'm really not familiar with at all.AT: Oh well, everybody has to start somewhere, don't they? Ha ha. Now, oursecond contestant, Shirley Sanity. Hi Shirley! Ready to go after thesesharks? (5 rounds shows up under Shirley's name)SS: Gosh Alex, it sure seems to me that the rules of this game are/AT: (cuts her off) Now Shirley, like them or not, this is how we play. Nowon to our third contestant, Freddie Faker. (with 9 rounds under hisname)FF: Hi Alex. I'm focused and ready. It'll be a snap for me to stay out ofthe box.AT: Wow! That's the kind of enthusiasm this show needs. Need we say morebefore beginning? Sure we do. A word from our sponsor...<commercial can be heard playing in the background, something about draincleaner. Shirley gets Alex's attention.>SS: Alex, shouldn't the quality of our projects, or how easy it is to add onto them count for something.AT: Shirley, if you don't know the rules of the game, it's not my fault.That's not the way we play.SS: But/AT: (cuts her off) If you don't like it we can find another contestant.<commercial ends, the lights come back up, Alex's plastic smile does likewise>AT: Welcome back. We're now ready to begin round 1. I'll begin by drawingthe "absolutely needs to be done" time out of our hat. <reaches into ahat carried by a Vanna White type> Your tasks must be completed in...8 rounds, with bonuses for each round before that you can finish! Andnow we'll start the bidding with Ronnie.RR: Well Alek, oops, Alex, I think I can meet that date. Yeah, I accept.AT: Ronnie has accepted the date. So now we move on to Freddie.FF: Aw, heck Alex, I can do it in only 5 rounds easily so I say CUT 3!AT: Wow! I'm impressed Freddie, you must really have a handle on your problem.(three points appear on Alex's score) So, we'll have to go back to Ronnieafter we see what Shirley can do.SS: Well, I'll be tight on 5, but I'll stand on that.AT: Well, not a lot of guts from Shirley, but she can do as she wishes. Nowwe're back to Ronnie.RR: (shifts nervously in his seat) Alex, I don't know if I can meet 5 roundsor not. I'm just/AT: (cuts him off) Come on Ronnie, you don't want to be in the Critical PathBox, do you? (gestures toward the box with the flashing red lights)RR: (squirms again as the audience begins to chant "CUT, CUT, CUT,...")Uh, um, well, uh, (becoming mesmirized by the audience chant) I'll cutone round! (audience roars)AT: Allright Ronnie, you're getting the hang of it now. So, Ronnie is now onthe scoreboard with 1 point. Now it's back to Shirley.SS: Alex, this is ridiculous, I'm going to have to feature cut to get thatround.AT: Shirley, Shirley. That could land you in the Critical Path Box (gesturestoward it again). Now to Freddie.FF: (now looking somewhat nervous) Uh, I'll... stand on 4.AT: Allright, we're now ready for round 1, and since Shirley had to featurecut it means that she mustn't know as much about her problem, so shelands in the Critical Path Box for round 1, as well as adding a point toeveryone else's score. (Ronnie gets 2 now, and Freddie has 4)<A Chippendale's (sp?) type oily man escorts Shirley to the Critical Path Box.As Shirley sits down and her blocks are brought over bright lights shine onher. Recorded voices chant "when'll you be done" over and over through theheadphones placed on her ears.><Throughout the game, Freddie and (later) Ronnie continue to conceal when theyhave overrun their estimates, forcing Shirley to stay in the Critical PathBox.>I think you can imagine the end of the game. Shirley loses big, completingher project in 6 rounds due to the constant harassment in the Critical PathBox, but her block project is neat and well built, and the slack time she hasdoesn't add enough to her score to put her on top. Freddie and Ronnie bothfinish in round 9, Ronnie's stack of blocks is relatively neat and reasonablywell built, but he lost points as his project overrun occurred as Freddieskillfully kept himself out of the Critical Path Box. Freddie wins due to theextra points he gained in the bidding rounds up to completion.

author: tggzzz
author_rank: Super Contributor
timestamp: November 19, 2019, 02:28:44 pm
content: Quote from: bd139 on November 19, 2019, 01:26:24 pmShow me how someone is rewarded, and I'll predict how they behave.The same is true for AI/ML systems, except everything is completely opaque leading to theaccurate, completeexplanation: "because the computer says so".Quote from: bd139 on November 19, 2019, 01:47:26 pmIt can work where you are doing the same thing for the Nth time. But there are problems where people are doing something they haven't done before.QuoteThat's particularly likely to happen with a young PM, on their first PM job, believing the external consultants' cult training, and with insufficient development background/expertise to temper the religion with common sense.

author: james_s
author_rank: Super Contributor
timestamp: November 19, 2019, 06:24:59 pm
content: Quote from: vk6zgo on November 18, 2019, 02:07:57 pmThe ONLY reason I care about my title is because it's tied to payscale in many organizations. As an engineer I get paid substantially more than I would as a technician or some other title and having the lesser title on my resume would be perceived by many as a demotion. It's completely stupid but I didn't create the system, I just have to work within it.

author: VK3DRB
author_rank: Super Contributor
timestamp: November 22, 2019, 07:08:16 am
content: Quote from: tggzzz on November 18, 2019, 10:23:37 amCompletely agree that everyone should learn control theory as part of basic education.An example of not knowing control theory but put in a role that relies on it, is we had this IT manager who had no feedback loop on his team's service quality or the service level they were providing. He created ridiculous "policies" that were poorly thought out and implemented. He had no idea what he was doing. He costed the company a fortune in wasted money and productivity. In fact, employees would go home to download datasheets, because the single 2 Mbps link could not cope with 70 employees most of whom were engineers. There were many, MANY things that went wrong with that IT department.One that sticks out is a colleague ordered a Dell PC with Windows 7 for his wife for Christmas, to be delivered at the workplace instead at home for the obvious reason. The IT people got it without checking the recipient's name or matching it with an order, opened it up, loaded on the old Windows XP along with a whole host of Rational bloatware, and then threw out all the documentation and packaging and even the Windows 7 DVD. My colleague only found out about this after he asked Dell what happened to his order. He was furious.Another example is the IT department's ticketing system. If there was something wrong with a user's PC it could take up to 5 days to get it looked at by a remote third party company. You had to sit by the dead PC waiting for a phone call. Users were were not allowed to call them. One poor colleague had had a gut full after spending a two weeks trying to fix a problem using these clowns. I found the problem (a wrong proxy setting) within 15 minutes, which was against IT policies because I was "not authorised".If this IT manager has used feedback forms, he would have been able to implement intelligent policies and processes. Instead, everything was dictated in an open loop fashion and the paradigm was the users were there to support the IT empire, not the other way around. In the end he lost his job. Control theory by the senior management and the IT manager would have prevented this dog's breakfast. Control theory should be understood by everyone and it should be taught in high school as a mandatory subject. Society as a whole will be better off for it.

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: November 22, 2019, 10:49:19 am
content: I'm a bit late to the game but reading the discussion it appears the most relevant point has been missed:A "programmer" is *not* the same as a *software developer*. A "programmer" is a person or device which loads code into a computer system for execution. Nothing more.This goes back to the very old days of punch cards and paper tape and a single computer filling multiple rooms, and where computers were mostly limited to government agencies and lucky universities. Back then a (human) programmer was usually some guy behind a desk where people (the ones who actually "wrote" the software) dropped their punch cards off and who then would go and put the cards into the card stack on the card reader and start the read-in process. After the program completed the programmer would then also fetch the results (usually some printout on a string of endless paper) and return it together with the punch cards.The programmer was also responsible for making sure the all programs ("the batch") were loaded and run in the right sequence, often decided by department/project priorities and when the card stacks were handed in.In addition, the programmer was often also responsible for keeping the computer running, i.e. to pick-up the phone and call the manufacturer's service department if there was a hardware fault which he couldn't fix himself. He would also help new users with their programs if they needed help."Software developers", back then just called "users", were usually just people from other disciplines, i.e. various fields of science, engineering, math or finance, who just used the computer to help their work or research. Developing a program was more akin to what you'd do on a recent-day programmable calculator than a using a modern high level computer language, and was seen as a task similar to using a mechanical slide or calculator (although more complex), which means it was rarely seen deserving of being a job on its own. Also, back then most (software developing) "users" were not only authors of the program but also it's (sole) user.Edit: I probably mixed things up a bit so ignoreLater, when computers had shrunken to the size of a very large fridge (i.e. to a class of computers called "mini computers" or just "minis"), it was no longer necessary to keep a separate guy just for loading code into the computer as the task of the "programmer" to load the code into the computer was now performed by the "operator" (a combination of "programmer" and "user"). As a fun fact, many (probably the majority) of operators of the "minis" were woman, as the task of an operator was often seen as close to the role of a secretary. However, since operators now also did what the programmer was doing, many operators were still called "programmers".In subsequent years, computers had shrunken even more until they were small enough to be place at the side or even on a normal desks. To reflect the reduction in volume, these computers were called "micro computers" or "micros". Computers also became fast enough that complex high level languages became prevalent, and together with the huge expansion of the market and the demand for ready-to-run programs the task of writing programs became a full-time job. Also, the majority of these new programs were supposed to be used by other people than the person who wrote it. So the "operator" became the "software developer" who writes software for "users"Despite the fact that "programmers" as jobs have long gone, the term ""programmer" is still sometimes used as misnomer for "software developer", and while this is not completely wrong (after all, software developers do load code into a computer for execution), the same is true of system admins, IT service technicians and even users.Now to the question if "software engineering" is a form of engineering. It depends. Again, back in the old days, if you wrote a program you had to have a very good understanding what is going on inside the machine, i.e. you had a good understanding of "informatics" (or "computer science"). Today the deep understanding of the intrinsics of computer science are not required to write even very complex programs, thanks to APIs, frame works, virtualization and other abstraction layers which deal with the low level stuff. And a lot of software developers, even good ones, don't know a lot about what's going on deep inside the hardware, and often they can't because they don't know on what hardware their program might run in the future. Still, they have work with physical and logical rules and constraints in a science-based environment, and while things predominantly happen at an immaterial level, it most certainly is a form of engineering.Tl;dr: there are no "programmers" any more, and yes, "software development" is engineering.Why do I feel old now?

author: Cerebus
author_rank: Super Contributor
timestamp: November 22, 2019, 12:28:27 pm
content: No. The guy with the job of feeding the card reader, tape reader, line printer, mounting mag tapes and disk packs, starting and stopping jobs on the system console and generally taking care of operational issues was called a "computer operator". The guys (and occasion girl) who wrote the code (aka programs) were called "computer programmers", the guys who wrote the code that managed the computer itself were called "systems programmers", the guys who figured out what the users wanted and translated that into some semblance of sanity for the programmers were called "systems analysts" and the girls (and occasional guy) who operated the card punches were called "punch operators". And the users are called all sorts of names, but not to their faces. Nobody, and I mean nobody, called the people in charge of the care and feeding of the machines "programmers".Authority for this: I was there. I started out as a "junior programmer" writing code to the specifications that analysts gave me.Quote from: Wuerstchenhund on November 22, 2019, 10:49:19 amThis paragraph is just plain wrong in every respect. Of course programs were developed in high level languages, some of which are still going. FORTRAN and COBOL were the commonest in science and commerce respectively, along with ALGOL in academe. Many minority languages in less common use then have mostly fallen by the wayside e.g. SIMULA, SNOBOL, BCPL. ALGOL died, but gave birth to Pascal, Modula and C and many other 'ALGOL like' languages. FORTRAN and COBOL are still with us, though god knows why. Programming was most definitely NOT the remit of users, who for the most part regarded it as a black art akin to nuclear physics or rocket science. The only place you'd see software being developed by end users was in academe and even then, a lot of them used the services of the local professional programmers to help them figure out how to do what they wanted.Quote from: Wuerstchenhund on November 22, 2019, 10:49:19 amYes, it makes me feel old too, but at least my memory's still working accurately.

author: GeorgeOfTheJungle
author_rank: Super Contributor
timestamp: November 22, 2019, 12:44:13 pm
content: Uh ohhhh...

author: Wuerstchenhund
author_rank: Super Contributor
timestamp: November 22, 2019, 02:15:03 pm
content: Quote from: Cerebus on November 22, 2019, 12:28:27 pmI’m notthatold but that’s what I remember being told by a friend who back in the old days lead one of the very few computer departments in Germany. He died long ago so my recollection of things is not the best, though, (and my own contact with computers began at the end of the mini era) so I bow to your first-hand knowledge and stand corrected

author: FreezeSSC
author_rank: Contributor
timestamp: November 22, 2019, 03:48:17 pm
content: This is a hilarious attempt at gate-keeping the word engineer when the majority of EE's out there are nothing more then technicians.

author: andy3055
author_rank: Super Contributor
timestamp: November 22, 2019, 05:37:18 pm
content: Well, the reason is not that they call themselves engineers but the industry has depicted them as engineers. See the last entry "Software engineering" of the chart here:https://en.wikipedia.org/wiki/Engineer

author: tggzzz
author_rank: Super Contributor
timestamp: November 22, 2019, 05:46:08 pm
content: Quote from: Cerebus on November 22, 2019, 12:28:27 pmActually many of the early programmers were women, because computers were neither science nor engineering and so RealMen avoided them.I was acquainted with one, Mary Berners-Lee, who started programming on the Ferranti Mark 1.https://en.wikipedia.org/wiki/Mary_Lee_WoodsLovely person.QuoteAnd later the AnalProgs emerged as a sub-discipline. Think of that as DevOps without any steroids.QuoteThat began to changeafterthe introduction of PCs, with spreadsheets being a catalyst.

author: Brumby
author_rank: Unknown
timestamp: November 22, 2019, 11:19:51 pm
content: Quote from: Cerebus on November 22, 2019, 12:28:27 pmThis ^ ^ ^. Very much this.My authority is similar. I was there also. I started out as a data control clerk who quickly became a computer operator in 1976 due to an opportunity that presented itself much earlier than expected. Programming followed - application software written in IBM assembler (I still have my yellow card) - then progressing along the Application Development path for multiple decades.The definitions expressed byWuerstchenhundare archaic at best.

author: SL4P
author_rank: Super Contributor
timestamp: November 23, 2019, 03:35:40 am
content: Software Engineer is a big HR bucket for anyone with ‘technical’ software on their desktop.The HR muppets lost track of engineers, analysts, programmers testers and coders a long time ago.HR - the job you give your imbecile nephew.

author: CatalinaWOW
author_rank: Super Contributor
timestamp: November 23, 2019, 04:35:24 am
content: As to who did "programming" back in the early days, I suspect that it varied from place to place. Because I was there too (in the late early days of the 1960s), and my recollection is somewhat at variance with the others here.I agree that those who tended the big machines by feeding in the punched cards and returning the punched outputs or printed outputs were called computer operators. Where I was most were also programmers since loading decks and pulling output was not something that kept you busy 100% of the time, and for whatever reason people didn't want to trust operation of these big, expensive machines to really low educated people. The job also did require some expertise to recover from abnormal halts, do startups after power failures and often to do such things as loading tapes and disks. So the people that got the jobs learned or knew assembly language and coded stuff in their odd off moments.Users in that era did a lot of their own programming. At least in the engineering field. I doubt if there were many bankers or accountants programming. While some commercial programs for things like structural analysis and circuit analysis were available they weren't widely known or used. Probably something to do with licensing fees and the like. So knowledge of FORTRAN was something expected of all engineers and included in the engineering curriculum. That carried on into the mini computer era and finally into micro computing. And is one of the reasons that so many of the early programs for micros were engineering. Filter design. Load calculations, surveying calculators and the like. It wasn't until some bright guys wrote and marketed spreadsheet software that user "programming" moved out of the sciences.As to the original topic, it is hard to get worked up about this subject. I voted yes, but recognize that at least here in the US the term engineer is so widely applied that it means little.Sanitation engineer = JanitorDomestic engineer = HousewifeBuilding engineer = Building HVAC operatorand so on.The real question is "What title does it take to get the salary and ego boost that keeps you on the job." The answer to that question is important to both the employer and the employee.

author: Cerebus
author_rank: Super Contributor
timestamp: November 23, 2019, 01:34:37 pm
content: I think Brumby and I were describing the 'iron age' when computing had become 'professionalised' (i.e. there were distinct sub-professions with job titles), you're describing the 'bronze age' and Turing et al were working in the 'stone age'. We're now probably in the 'plastic age' where the users of the product have no idea, or interest, in where it came from, how it was made or how to fix it (apart possibly from using that tube of general purpose glue that lives in the kitchen drawer to try and stick it together, which it won't, as it is the wrong kind of glue) but because it's everywhere they nevertheless think they know something about it.My only connection with the stone age is that I've talked to a few people who were loosely working in it and once went to a party at NPL held in the 'ACE hall' which housedACEin its day. I've rubbed shoulders with a few people from the 'bronze age' - now mostly dead - like Maurice Wilkes and Prof Roger Needham; in the middle ages the world was a lot smaller and it was probable, even likely, that you'd get to meet some of luminaries of the field.

author: bd139
author_rank: Super Contributor
timestamp: November 23, 2019, 01:59:55 pm
content: I think we're actually in the dung age still based on the number of people rolling around turds I see...

author: Mr. Scram
author_rank: Super Contributor
timestamp: November 23, 2019, 07:06:01 pm
content: Quote from: SL4P on November 23, 2019, 03:35:40 amIt's remarkable how bad the reputation of HR tends to be.

author: james_s
author_rank: Super Contributor
timestamp: November 23, 2019, 07:11:11 pm
content: Quote from: Mr. Scram on November 23, 2019, 07:06:01 pmThe remarkable thing is how frequently HR tends to live up to that reputation, in virtually any organization.

author: bd139
author_rank: Super Contributor
timestamp: November 23, 2019, 08:57:50 pm
content: HR exists because HR exists. Get rid of the role and keep it departmental very day admin function.

author: SL4P
author_rank: Super Contributor
timestamp: November 23, 2019, 09:16:51 pm
content: Quote from: Cerebus on November 23, 2019, 01:34:37 pmI love this perspective, because I often refer to modern ‘specialists’, or even the man in the street as having a 2D view of the world.Everything they see and touch, simply exists in that moment... they have no idea where it came from, nor where or what it could be used for 2 minutes in the future.This leads to poor education, low understanding and little imagination.The world exists ’just because’, and is completely disposable if it doesn’t affect ‘me’ in the current moment.Cynic mode end.

author: BFX
author_rank: Frequent Contributor
timestamp: November 23, 2019, 09:28:06 pm
content: Today SW engineering is little bit bigger as some of you can imagine.Something like programmer no more exist (other than that on washing machine). Today's name for such guy is coder. This is some junior or student which only writes some code based on strict specification.Real senior SW engineer is guy which is not only coder but who have also big domain and technology knowledge and experience.Even some of SW engineer don't need to write line of code like SW architect or system integrator.There are also guys who need only really narrow knowledge of programming because they are focused for example on imaging algorithm and they are more physicist like SW developers.Or specialists for parallel programming like CUDA and so on and so on...SW engineering today is really huge area.

author: jadew
author_rank: Frequent Contributor
timestamp: November 23, 2019, 10:07:30 pm
content: Personally, I find coder to be a bit demeaning, so I never used it to refer to anyone.Generally, when you're in a leadership position, you don't want to put your colleagues down, instead you want to them to at least feel equal to you or encourage them to aspire to be like you. If you call someone a coder, you're painting him in a very tiny box, and you inhibit his desire to prove himself on this very project he's working on.This might actually explain why so many people are called engineers (and I'm including EEs here too) - to encourage them to aspire to act like one, even if they're not, and many never will.

author: SL4P
author_rank: Super Contributor
timestamp: November 23, 2019, 10:22:21 pm
content: This will sound harsh, but a few years ago, we were looking to possibly outsource some code work.The end result was that many so called ‘programmers’ are exactly that. Functional programmers without any concept of system function or integrity.To use one of these ‘task programmers’ you have to break your code into very small tightly specified simple functions, or the minutiae is completely lost, and the ‘coder’ will simply deliver what you asked for.No imagination or common sense included!Your in house ‘system engineers’ have to writeextremelyprecise API and functional specs for EVERY element of an outsourced project.Otherwise, You’ll probably get what you asked for, but that old nugget...“be careful what you ask for “ will come back to bite you !

author: jadew
author_rank: Frequent Contributor
timestamp: November 23, 2019, 10:40:59 pm
content: Well, when a company is outsourcing, what they actually want to do is pay someone as little as possible to make something that works well enough to get things done.Once you go to that place, the world is full of wanna be programmers and copy-pasters, and you have less interest in seeing that person grow, because he's probably going to be out of your life at the end of the project. In that case, you'll probably be more inclined to call them coders, especially if what they're doing is menial jobs.Edit: I still wouldn't call them that, for the reasons I mentioned in my previous post.Edit 2: And like I said in that post, a lot of full time programmers fall in the same category, but you still call them programmers in the hope they'll act up to the title.

author: Cerebus
author_rank: Super Contributor
timestamp: November 23, 2019, 10:45:30 pm
content: Quote from: BFX on November 23, 2019, 09:28:06 pmI don't really recognise your descriptions, and I actively work in the industry. Certainly not the bit where you claim there are no "programmers" any more. "Coder" is a very informal term, and certainly isn't a formal term of art for a particular job. If you ever find somewhere where there is someone whose job title is "Software Architect" and they don't actively write code, run away, very fast, that place will be very, very broken. Nowhere I have been anywhere near for 30 years has had a system where there are lowly programmers working from detailed program specifications - that way of working is long dead. These days things are much more team oriented and I would expect to see design input from the most junior team members.The team I was on for most of the last year, a whole bunch of people collaboratively architecting, designing and coding a network orchestration system all called themselves "programmers" because at the end of the day that was what they did, wrote code. Most of the job titles flying around might have had "consultantthis" or "thatconsultant" to justify our salaries/fees to senior management, but as far as we were concerned we were programmers and other people in the organization would refer to us as the same too. This is in the context of a bunch of contractors (who tend to get around a bit and so see a lot of varied organizations and organizational styles) working as a team within a very big, very multinational, very multicultural company.

author: Cerebus
author_rank: Super Contributor
timestamp: November 23, 2019, 10:55:34 pm
content: Quote from: SL4P on November 23, 2019, 10:22:21 pmDepending on the level you are contracting something out at (i.e. there's a difference between "design and build" and "here are the architects plans, build it") you should be very wary of any external contractors whodon'tinsist you provide a clear, well documented interface and functional specification for the work you want done.

author: CatalinaWOW
author_rank: Super Contributor
timestamp: November 23, 2019, 11:20:14 pm
content: This is starting to sound like the systems engineers arguing over who deserves the title of system engineer.Is the guy (or gal) who defines function, lays out interfaces and test definitions for a GPS system on a chip a system engineer?Or is that reserved for the guy who defines function, lays out interfaces and test definitions for a navigation system?Or is that guy just another pretender, while the one who defines function, lays out interfaces and test definitions for an aircraft the real system engineer?Or is that one just starting to get the picture while the one who puts the airports, fuel logistics, booking systems and aircraft together is the real system engineer?Or ....Jonathan Swift had a ditty which is very applicable. From memory:Fleas have smaller fleas and those have smaller fleas to bite them and so on ad infinitum.

author: james_s
author_rank: Super Contributor
timestamp: November 23, 2019, 11:21:53 pm
content: Quote from: jadew on November 23, 2019, 10:07:30 pmI've been a bit surprised at the number of degreed EE's I've encountered working as software engineers, even in strictly software companies like the job I have now. My lead has an EE degree but he has spent his entire career doing software development.

author: SL4P
author_rank: Super Contributor
timestamp: November 23, 2019, 11:34:23 pm
content: I’m glad that @CatalinaWOW raised the term ARCHITECTIn my opinion, you can only claim to be an engineer in *any* field if you have those design/architect skills to scope the problem and to define possible solutions - for yourself or others to deliver.

author: jadew
author_rank: Frequent Contributor
timestamp: November 23, 2019, 11:51:56 pm
content: Quote from: james_s on November 23, 2019, 11:21:53 pmThey are both highly technical fields that require the same type of thinking. I also experienced this.Quote from: SL4P on November 23, 2019, 11:34:23 pmAll programmers have to have those skills to some degree. An architect is just supposed to be better at it than everyone else and have a much better understanding of everything, but that level of knowledge and skill doesn't just happen, it starts small and gets developed over time.Programming is not soldering, because programming IS software engineering, no matter the level you're doing it at.

author: BFX
author_rank: Frequent Contributor
timestamp: November 24, 2019, 08:51:07 am
content: Quote from: Cerebus on November 23, 2019, 10:45:30 pmQuoteYes because as I wrote they are for example students. They don't have official position and name. Here "programmers" are nowadays no more used.QuoteI'm working in SW industry also for around 30 years and there are few cases and in this order is also success of the project:- Architect is only one very good experienced professional and in that case he is designing architecture to certain level. This is the best case I ever working with.- There are more skilled architects and at the same time developers (that's the name here for "programmers"). Usually they spending lot of time to negotiate the "best solution".- There are more poor architects and at the same time developers. They are spending much more time to negotiation but solution is poor and they need so often throw away bunch of code because it is useless.- Architect is only one very poor experienced guy. That's may be case you mentioned. No success at all.And I did't say that architect can not write the code. But I worked in company where he didn't and we successfully finished every project.For success in SW project two roles are most important analyst/requirement manager and architect if those two guys are professional's there is 95% chance that project will end up on time and in expected quality. In no other case I ever seen big project successfully finished at time.Our company is "small". Only around 50 000 peoples around the world

author: bd139
author_rank: Super Contributor
timestamp: November 24, 2019, 09:52:46 am
content: Architect is technically what I should call myself but there’s a bit of a distinction between those of us who can punch our weight and the Ivory tower architects who spew UML and idiocy. Thus the title is rather important to convey what you are not what you think you are or have been escalated to because you suck. Thus I’m not an architect. Unless I’m needing to get paid. To be fair if the money is right I’ll be “chief gimp lord”

author: tggzzz
author_rank: Super Contributor
timestamp: November 24, 2019, 10:15:30 am
content: Quote from: bd139 on November 24, 2019, 09:52:46 amI always rather fancied the title "applied philospher".That wasn't inappropriate since I was always asking questions like "what do you mean by 'completed' or 'a person' or 'a bill' or 'reliable' or "surface texture" or "date/time" etc?"

author: james_s
author_rank: Super Contributor
timestamp: November 24, 2019, 06:09:34 pm
content: Quote from: SL4P on November 23, 2019, 10:22:21 pmEarly in my career at a very large software company we tried to outsource some of the testing and it was a disaster. Nearly every bug they found was something we already knew about and the amount of overhead involved in sending them work to do and parsing the results they sent back to us was more work than if I just ran the test passes myself.

author: Brumby
author_rank: Unknown
timestamp: November 24, 2019, 10:12:36 pm
content: Quote from: bd139 on November 24, 2019, 09:52:46 amYou touched a nerve there... I absolutely hate, detest and despise those types!!!!!!I'll stop there.

author: jadew
author_rank: Frequent Contributor
timestamp: November 25, 2019, 02:12:43 am
content: Quote from: Brumby on November 24, 2019, 10:12:36 pmNo reason to hate them, they're not at fault. It is a good indicator however that management in that company is garbage on multiple levels:1) They were unable to hire competent talent, which would have objected to this.2) They were stupid enough to put someone dumber, on a technical position, on top of their lead developers.

author: tggzzz
author_rank: Super Contributor
timestamp: November 25, 2019, 09:32:58 am
content: Quote from: jadew on November 25, 2019, 02:12:43 amThat does rather presume the lead developers are competent. I've seen lead developers creating an event/state based product that didn't realise they were creating an FSM. After all, aren't FSMs only used for parsing by compiler writers?! Their code was an unmaintainable mess of 10-level deep if-then-else statements.A Harel StateChart was a marked improvement.

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 09:42:08 am
content: The lazy person favours the functional bits of c# for such mattershttps://github.com/dotnet-state-machine/stateless...

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 25, 2019, 03:41:57 pm
content: Quote from: bd139 on November 25, 2019, 09:42:08 amNo, a typical programmer just cobbles together something that passes the immediate checks, and adds a// TODO: Fixme latercomment.A truly lazy person does it right from the get go, so they don't ever need to worry about it afterwards.You people just don't understand the necessity of long-term vision when avoiding work is involved! Me, I'm proud of my habit of overengineering for laziness.

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 04:08:43 pm
content: Hahaha that's fair actuallyTBH there's one big ass switch / if based state machine I wrote over 10 years ago that's still going strong. It makes me sick thinking of it and the large responsibility it has but it had to be done like that and hand optimised for latency. I worry every day that there's a bug in it. Several hundred unit tests don't make me comfortable. What does make me feel comfortable is it's the least shit bit of what it's plugged into

author: MapleLeaf
author_rank: Contributor
timestamp: November 25, 2019, 05:15:23 pm
content: I live in the US, Seattle. Lots of big software companies here. I have worked in airspace (Boeing) to many software companies.In 40 years as a "software" person, i have never worked at a company the gave a title of "Programmer" or "Coder".I love this old definition of what an engineer does:An engineer is a person who uses scientific knowledge to design, construct, and maintain engines and machines or structures such as roads, railroads, and bridges.Yep, that is what a real engineer does. Use Scientific knowledge to build stuff. I like to use a broad view of what scientific knowledge means to include the computer sciences, which is one of my degrees.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 25, 2019, 06:34:27 pm
content: Quote from: bd139 on November 25, 2019, 04:08:43 pmI know exactly what you mean. I'm a worry wart myself, and use the unit test approach, with a copy of the crucial knot stashed somewhere for testing whenever my subconscious digs up a new attack/problem vector on a sleepless night.When I used to do web stuff, I was utterly paranoid about sanitizing inputs. How many people do you think have tested how their code deals with URL-encoded nul bytes (%00)? I preferred a two-pass method there: first pass to filter/detect nefarious mis-encodings, and the second pass to adjust to a common character set (mapping accents used in local language to non-accented ASCII versions for maximum compatibility/portability, and removing whitespace and special characters that might have an issue with filesystem paths).The hardest part was still dealing with people who said I worried too much, that any such issues could be dealt with later, after delivery...I definitely prefer being truly lazy, and doing stuff just once, if possible.Quote from: bd139 on November 25, 2019, 04:08:43 pmThe same for me. I'm too lazy to be stuck in one detail, when I know the whole isn't up to the same standard; it is wasted effort. I don't really care if it ismycode or not: I just want my tools and products towork.Quote from: MapleLeaf on November 25, 2019, 05:15:23 pmYup. Earlier in this thread Iwrotethat engineers and scientists are/should be those whose work is fundamentally dependent on applying engineering or scientific principles, respectively.Quote from: MapleLeaf on November 25, 2019, 05:15:23 pmShow-off.Kidding aside, it is interesting to contrast "science" and "engineering", too. I find "science" to be about the search for discoveries and methods and algorithms, and "engineering" to be about applying them, as much as there needs to be a distinction between the two. Two sides of the same coin, essentially, especially if you consider their differences to other types of work. That applies particularly well to software engineering and computer science, in my opinion -- even though most programmers apply neither in their work.

author: Cerebus
author_rank: Super Contributor
timestamp: November 25, 2019, 06:41:32 pm
content: Quote from: Nominal Animal on November 25, 2019, 06:34:27 pmYeah, but he omits to say that the other degree is a joint honours in Basket-weaving and Sociology.

author: tggzzz
author_rank: Super Contributor
timestamp: November 25, 2019, 06:47:15 pm
content: Quote from: Nominal Animal on November 25, 2019, 06:34:27 pmOn no, I've never heard that. Never. Never ever.Ever heard of YAGNI, you ain't going to need it?That's used to allow all sorts of crap to land in customer's lap, especially when combined with "the unit test light is green,thereforeit works".When asked about how their unit tests prove/disprove livelock/deadlock or ACID properties, such cretins normally go on the offensive - and are often believed by management because it enables them to ship the turd sooner. That the turd returns later is irrelevant and/or somebody else's problem.QuoteI summarise science as discovering what is out there and how it works, whereas engineering is creating things that didn't previously exist.

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 07:21:52 pm
content: I love unit tests. I write unit tests than only work if I get paid.As for what you can test, deadlocks are pretty difficult to test for. That’s a whole separate stage of validation.The fun places I occasionally set foot are the C lot. No tests and none of them even know what valgrind is

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 25, 2019, 07:40:58 pm
content: Quote from: tggzzz on November 25, 2019, 06:47:15 pmAh,Somebody else's problem.Almost everybody I've worked with has at some point told me "it does not need to be that good".It seems to me that while I don't like the existence of turd sandwiches, others are satisfied when it's not themselves currently eating one.Quote from: Cerebus on November 25, 2019, 06:41:32 pmHey, there is nothing wrong in basket-weaving; Ilikethose. Heck, we Finns used to make ourshoes from birch barkin ages past.If it was something like Computer science, Psychological Warfare, Communications, and Fourth-wave Feminist Theory, I'd be scared.(Let's not even think about Electrical engineering, Cognitive sciences, and Neural interfaces.)Basket-weaving sounds like a perfect hobby for someone working in science or engineering; getting to do low-tech stuff with your hands is actually a good way to relax, I've found.Quote from: bd139 on November 25, 2019, 07:21:52 pmWhat do you need valgrind for, when you use code generators likelex, and copy-paste code together from sources even they themselves have forgotten in a day or two.(I get to say this, because C is my favourite programming language.)To be honest, I don't often use valgrind myself. I would if I used data structures where memory allocation tracking was nontrivial during the lifetime of a process, but I tend to be paranoid, and use initial NULL assignments (knowing thatfree(NULL)is always safe) and structures (like memory pooling) instead. I want it to be easy/trivial to verify there are no memory leaks. I only reach for valgrind if I get suspicious or unsure.As to unit tests... Most of the code in various forums where I've showed an example solution to a problem, or helped a friend with a programming problem, are essentially written to be unit-tested, and not as "drop-in solutions" to that particular problem. It just works more/better in practice. And I'm too lazy to overlook such efficiency!

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 08:00:01 pm
content: I mostly use valgrind for debugging other peoples pieces of shit full of use after frees and leaks.I’ve learned always to check the crontab of the machine whatever the turd is deployed on. At least 75% of places I’ve worked over the years have a cron job that restarts some POS just so they don’t have to fix it.The last bit of C I built from scratch was a message aggregator (zeromq, custom ring buffer, epoll). That managed 3 years at 1000 messages a second 24/7 before the hardware was replaced. Tribute to centos there too.

author: tggzzz
author_rank: Super Contributor
timestamp: November 25, 2019, 08:04:07 pm
content: A key point that I've seen overlooked too often is that unit tests have to actually, you know,testsomething.I've seen tests whose sole objective was to inflate the (arbitrary) code coverage metric, and bugger what happened during execution!. In the fintech industry, unsurprisingly.I've seen tests that test all sorts of trivia, but miss important misbehaviour. But everything was working (by definition) because the lights were green. Telecom industry in that case.I've seen tests that provoke a NullPointerException. It must have been a good solution because it was used many times: simply catch and ignore the exception. Fintech, again. There's a lot of attraction in having gold coins under the bed.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 25, 2019, 08:09:17 pm
content: Quote from: tggzzz on November 25, 2019, 08:04:07 pmAhah, exactly.And again, same approach: just to shove more "method" into the process; not to serve any direct and provable purpose. And again in that case, this is clearly not engineering. It's just amanagement.Is management in general, and even engineering management, engineering? You have two hours (but it'll take you just a couple seconds to answer.)

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 25, 2019, 08:16:11 pm
content: Quote from: bd139 on November 25, 2019, 08:00:01 pmStory time: Around the turn of the century, I was in a meeting just outside a server closet at a business incubator, trying to convince some people how important software/tool selection is, as you really want to avoid downtime and regular reboots of your servers. I was laughed at, and while they were saying how unlikely and rare such problems in real life are (they werent; at that time Windows machines had to be rebooted once a day), a person interrupted us and asked for access to the closet because their server had just crashed.Quote from: tggzzz on November 25, 2019, 08:04:07 pmAbsolutely true. Bad unit tests are worse than comments that tell what the code does (as in "incrementkby 673") instead of what the developers intent for the code was, because you usually need a read-through and time to think to realize an unit test is bull, whereas bad comments stand out like a nail in ones eye.Quote from: SiliconWizard on November 25, 2019, 08:09:17 pmDon't get me started on poor management; I can rant for hours on that. I wish I knew at least one organization that consistently graduated people with actual management skills.I'd love to work in a company where the CEO was a greedy skillful bastard whose personal gains were strictly tied to the long-term viability and profitability of that company. You know, harnessed, instead of enabled. Shit would get DONE.

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 08:29:22 pm
content: Hahaha. I’m capable of breaking those sorts of deployments just through proximity. Everything I touch turns to butter. I’m the guy visual studio crashes in ten times a day or trips over every obscure driver bug in the paravirtualisation drivers.Quote from: tggzzz on November 25, 2019, 08:04:07 pmLMAO yes. I’ve seen that regularly, in fintech. I occasionally wander in and delete all the useless tests. Test coverage metrics go down to under the quality bar and then I get accused of breaking the build and reducing quality. What quality?Also the other one when I write a decent test suite, which is not always I admit, someone else comes along and writes an extension to the code. This goes into the build pipeline and then explodes with test failures. Solution? You know what it is. Yes the numpty deletes the failing tests or puts Assert.Pass(); in because they’re know no one every does a proper core review and just green flags it to oblivion.Humans are stupid, lazy (in the wrong way) and dishonest.Can’t wait until I retire

author: Cerebus
author_rank: Super Contributor
timestamp: November 25, 2019, 08:32:38 pm
content: Quote from: SiliconWizard on November 25, 2019, 08:09:17 pmNo it won't! I'd use most of those two hours on sweary variants on "Sucking fupid, ignorant pig-headed, ...!".

author: Cerebus
author_rank: Super Contributor
timestamp: November 25, 2019, 08:40:20 pm
content: In the arena of unit tests one of my pet hates is unit tests that explicitly test the code as written, rather than test theoutcomeof running the code.You know the sort, it'll check that some internal routine (that is not a direct part of the intended outcome) is called a given number of times. Dead giveaway that the tests were written by the guy who wrote the code being tested, after he'd written the code being tested (usually in an supposedly 'test driven development' environment where local coding rules say you should write the unit tests first).

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 08:42:01 pm
content: You mean the ones where they wrote the tests afterwards and have coconuts for headphones and a bamboo aeroplane in the car park

author: Cerebus
author_rank: Super Contributor
timestamp: November 25, 2019, 08:48:38 pm
content: That's the one, the fella with a picture of Phil the Greek on his desk.

author: tggzzz
author_rank: Super Contributor
timestamp: November 25, 2019, 09:17:26 pm
content: Quote from: Nominal Animal on November 25, 2019, 08:16:11 pmEvenworse... I've had religious acolytes strip out source code comments because the week before their highly paid gurus told them" comments became outdated and were useless and that it was better to just read the code".Doinggoodcode coverage tests is extraordinarily difficult when you take into account the "emergent behaviour" that occurs when many tiny code fragments are interconnected into something useful.(And it seems bd139 and cerebus are mind readers. Ilikeit when people are ahead of me; it is a refreshing change)

author: bd139
author_rank: Super Contributor
timestamp: November 25, 2019, 09:28:35 pm
content: I suspect that we’re just equally battle damaged

author: MapleLeaf
author_rank: Contributor
timestamp: November 25, 2019, 10:15:08 pm
content: Quote from: Cerebus on November 25, 2019, 06:41:32 pmNope, it was chemistry. Not a clue why I got a chemistry degree. Basket-weaving would have been better. I could weave them for my wife

author: Cerebus
author_rank: Super Contributor
timestamp: November 25, 2019, 10:24:27 pm
content: Quote from: MapleLeaf on November 25, 2019, 10:15:08 pmFor the same reason every little boy wants to get into chemistry - so that you can blow things up!

author: eti
author_rank: Super Contributor
timestamp: November 26, 2019, 02:59:54 am
content: Quote from: bd139 on November 25, 2019, 08:00:01 pmCron itself doesn't even work reliably (or ever), I abandoned it years ago, having tried it multiple times on various machines, and it NEVER WORKS, so I made /etc/init.d scripts instead.

author: Brumby
author_rank: Unknown
timestamp: November 26, 2019, 04:15:22 am
content: Quote from: Nominal Animal on November 25, 2019, 03:41:57 pmI knew there was something about you that I liked.

author: james_s
author_rank: Super Contributor
timestamp: November 26, 2019, 04:19:49 am
content: Quote from: eti on November 26, 2019, 02:59:54 amI've been using cron for years, never had any trouble with it at all on anything. It's not the most user friendly thing ever but if you set it up right it works perfectly.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2019, 07:56:30 am
content: Quote from: eti on November 26, 2019, 02:59:54 amDepends which cron. Anacron is very reliable. As for init.d it’s systemd now and that is not reliable at all

author: Cerebus
author_rank: Super Contributor
timestamp: November 26, 2019, 11:00:39 am
content: Quote from: james_s on November 26, 2019, 04:19:49 amSame here. I can't offhand think of a single time it's failed me. When I hear something like this my immediate suspicion is a PEBKAC.

author: bd139
author_rank: Super Contributor
timestamp: November 26, 2019, 11:04:45 am
content: Various implementations do tend to shit a brick if you get an OOM condition or the node is down but that's usually a PEBKAC as well. Things like anacron understand downtime and recovery.

author: Cerebus
author_rank: Super Contributor
timestamp: November 26, 2019, 11:21:32 am
content: To be fair, after many years experience, when I getanyproblem reported to me my first suspicion is a PEBKAC. "So, your computer is on fire? (1) Why are you calling me instead of the fire brigade, (2) What did you do?"

author: 0culus
author_rank: Super Contributor
timestamp: November 27, 2019, 11:17:28 pm
content: Quote from: Cerebus on November 26, 2019, 11:21:32 am

author: bd139
author_rank: Super Contributor
timestamp: November 27, 2019, 11:37:55 pm
content: That's not far from the truth some places I've worked

author: nigelwright7557
author_rank: Frequent Contributor
timestamp: November 28, 2019, 06:47:33 am
content: From this definition it definitely covers software.engineerNOUNa person who designs, builds, or maintains engines, machines, or structures.synonyms:designer · planner · builder · architect · producer · fabricator · developer · a person who controls an engine, especially on an aircraft or ship.synonyms:engineering officer · controller · handler · driver · operator · mechanic · a skilful contriver or originator of something."the prime engineer of the approach"VERBdesign and build (a machine or structure)."the men who engineered the tunnel"synonyms:formulate · form · put together · create · devise · design · invent · compose · skilfully arrange for (something) to occur."she engineered another meeting with him"synonyms:bring about · cause · arrange · pull off · bring off · fix · set up · plot · scheme ·