7 ms·
I believe that the engineers are competent at developing software, and think that a lot of the quality issues are due to engineers abdicating authority over the
by ISO-morphism 3y ago
I believe that the engineers are competent at developing software, and think that a lot of the quality issues are due to engineers abdicating authority over the software to managers and never saying "No, adding in that feature at this point in the timeline is going to make this a steaming pile of shit and I refuse to do it and still call myself a software engineer."
I get that we have families to feed, but I've seen far too much of a mindset shift in fellow engineers into thinking that we're warcraft peons rather than professionals. "The business" has engineering feedback as a necessary input, and speaking individually with steakholders they expect this - they'll push until we push back.
- Transfinity 3y agoThere's no incentive for an engineer to do that. Saying yes and delivering crap gets you a bonus, hard truths get you shuffled around or made redundant. There's no real consequence for delivering crap, so that's what happens. Contrast this with other engineering fields, where the engineer is truly responsible for the decisions they make. My civil engineer friends face losing their licenses, fines or jail time if they are found professionally negligent. The same is true of other high stakes professions - think doctors, lawyers, even accountants. It's probably not appropriate for most software engineering roles, but for safety critical systems it doesn't seem far-fetched to me.
- alkonaut 3y agoThe incentive is having a rewarding job where you develop products you are proud of. Once I have food to eat, this is by far the most important incentive for me and it greatly outweighs e.g my desire for promotions, raises and bonuses. If I can have both, great. If I need to choose one, it’s the fulfilling job and product pride every day.
- cto_of_antifa 3y ago[dead]
- geraldwhen 3y agoNo thanks. I’ve got a family to support for at least 18 more years, and I could be laid off at any second. I need to make as much money as possible in the little time as possible, and the best way to do this is to stop worrying and learn to love the bomb.
- listenallyall 3y agokinda weird that expressing pride in one's job and prioritizing excellence over financial remuneration would be downvoted so vigorously
- hilbert42 3y ago"My civil engineer friends face losing their licenses, fines or jail time if they are found professionally negligent." These standards ought to be applied more widely and done in conjunction with tightened consumer law. In many cases the quality of electronics equipment has gone to the dogs. I could give instances of appliances I use that can only be used in a hobbled mode—numbers of published functions simply don't work—because their firmware bugs are so bad. These devices are so bad they wouldn't pass as early developmental mockups let alone early prototypes in a professional engineering establishment. I'm damned if I know why the hell consumers put up with the situation and haven't revolted, it remains a mystery. Things won't improve until they do.
- emodendroket 3y agoI don't think jail time for making software too bloated and slow for your liking is a serious proposal.
- hilbert42 3y ago"too bloated and slow for your liking" I neither said nor implied this. To be clear, the products in question were sold under false presences, as they were sold with features that—as far as the lay consumer is concerned—don't exist (just because I'm a technical person and I know they are almost certainly software bugs and or are not designed as per specifications is immaterial). In essence, by deliberately selling a substandard product they've committed fraud. Here's one of the many examples I could list but it's a clearcut easy one to understand. I have three identical PVRs/STBs (Personal Video Recorders/Set Top Boxes) of one brand and type—so the problem is not just a single faulty unit. These are the type that you add external storage via USB, 2.5" or thumb drives. Advertised on the outside of their boxes is the statement that they will take external storage to 2TB in size, the scanty manual—if you can call it that—that's sealed in the box which you can't read until one unboxes the device makes a very clearcut statement that the maximum limit of external storage is ONLY 700MB drive (a rather strange limit methinks), and 1/3rd that published on the box. In practice, these units simply wiil not work with ANY external USB drive 2.5" rotary or SSD drives—even the lowest current SSDs of 120GB or smaller—which is in direct contradiction to what's stated on the box and in the so-called manual. They will however work with thumb drives up to 128GB (I haven't tried bigger). Incidentally, have you ever seen a 2TB thumb drive? Right, I haven't either. Thats not all, there are software bugs and an UNSTATED limitation that only six programs can be programmed at one time (this is an unheard of restrictive limit, I've never reached the limit on my other units although one type, which has other bugs and problems, says its limit is 32). I also have three other PVRs but of a different brand (a well-known international mob). All three have the SAME identical model number but two have completely different electronics and their firmware operates in a totally different fashion to the first (clearly built by a different subcontractor), Even the boxes they came in are all identical. I discovered this when the first unit failed and I bought two more of the same. Moreover, the first unit wasn't even out of warranty so the second purchase was only about six months on from the first. To make matters worse, before the first unit failed and after getting nowhere with the local distributer I'd hunted around the internet for a firmware upgrade to fix the annoying bugs but couldn't find an ungrade (little wonder if different hardware exists for a given model). The so-called identical replacements are not only operationally very different but they have so many bugs that they are actually unusable. I'm still working on exchange/warranties and such. Those two brands are not alone in having masses of bugs, I've three other brands—five all up with even more model numbers (yes, I've boxes of these damned things). The bugs in a third band are so bad that it allows one to program the same timeslot on different channels simultaneously—which channel takes precedent and is recorded is pot luck, at other times, about one in three, it fails to record the scheduled program, only a black screen (it switches to blank instead of a channel—but give credit where credit's due, it does switch to blank at the correct time)! And believe it or not that brand/model has been on the market for several years and it still is without any firmware upgrages being available. Here, I've presented only the tip of the iceberg—and that's only the PVR/STB story. Where else would you like me to start? People should not have to put up with this shit, it wastes time and human effort not to mention wastes resources and the environment is clogged up with dead and discarded e-waste and other junk. A simple way around the problem would be to license both companies and their design engineers and threaten them with loss of license for producing junk. With importers, bring in junk and they'd lose their import license. Implement these rules and most of the problems would soon disappear. In extreme cases where irresponsible designs threaten safety and life then loss of license and jail time would be a just measure.
- pjmlp 3y agoIt should be, at least on countries where Software Engineering actually means something, and not a title that one can easy peasy call themselves after a six weeks bootcamp.
- emodendroket 3y agoOh this again. Yeah a certification is going to solve all the problems.
- pjmlp 3y agoIt will, when it comes with a liability just like any other Engineering position.
- peterfirefly 3y agoI think it's the liability that matters, not the certification -- which usually translates to "X years in a government facility, pretending to learn something which may or may not be misguided and out of date."
- john_the_writer 3y agoYep agreed. If you raise a flag, you'll be looking for work. Head down and build crap, and you have a job for life. I see it all the time. I've lived it. Sometimes you have to decide, do I build a better system, or do I feed my family. The craft and world suffer, but...
- spacemadness 3y agoThe product team for the touchscreen control system scoffs at the engineering team’s concerns because “customers don’t care, they’re wowed by the touchscreen at the dealer lot.” It’s only after purchase that the regret sets in. Product teams know this and exploit it. The business side knows they’re selling a steaming pile to customers and don’t really care for engineering’s concerns. In most situations they’ll override these concerns forcefully. It’s a hard pill to swallow as an engineer in these companies.
- the_overseer 3y agoThe industry works as follows: the OEM (Daimler, Toyota etc.) says they want a software spec implemented. Other companies (Tier 1 suppliers) bid to win the contract. The cheapest usually wins. If you have a company and refuse to take the crazy deadlines and low quality and low pay then don't worry, there is another Tier 1 supplier across the street who will do it for you. OEMs know that you need them more than they need you.
- pySSK 3y agoAnd on top off that, some product manager at Mercedes might say they absolutely need let's say Atmos in the next release and ask the Tier 1 to implement it. The Tier 1 usually uses multiple Tier 2s. The Tier 2s say they need more memory, but that's not practical at all because that hardware was fully validated years ago and you just don't make incremental changes to automotive hardware, and there won't be a hardware refresh for another 4 years. It is in none of the tiers' interests to say they can't do it and lose out on a multi-year contract so they do the best possible job within the constraints.
- mbork_pl 3y ago> Atmos Well, that is evil by design irrespective of the particular implementation, no? ;-)
- alkonaut 3y agoThat’s fine. But the worst case response time across the entire UI must be the first item on that spec! That spec is of course the responsibility of the OEM to create. Where this goes wrong I don’t know but competition, price sensitivity etc doesn’t explain it. Having soft and hard limits for response time seems obvious and someone either forgot, or they had a meeting where they (the OEM, after deciding on a solution and having it implemented) said “ok we can save $20 on the BOM by going for a cheaper SoC if we accept 200ms response times instead of 50ms” and that should basically be criminal due to the safety aspect.
- the_overseer 3y ago
- kaetemi 3y agoYep. It's part of your job to tell managers "yes, it's possible, but it'll negatively affect performance in a significant way because of such and such hardware limitations, so it's not the most valuable feature to implement at this time".
- thomasz 3y agoIt’s your job to tell them if the requirements cannot be met and that something’s gotta give. It’s his job to decide what, and it looks like he’s choosing latency When push comes to shove.
- the_overseer 3y agoAnd it's part of the manager's job to tell you "I agree but don't care. Do it anyway or I will find somebody else to do it. For cheaper." Always remember that you are replaceable. When the newborn is crying and wants food you do what you've got to do. And there are many people like that.
- kaetemi 3y agoNah, that sounds like bad management. They should be relaying the requirements to the hardware team.
- the_overseer 3y agoMost of the time the hardware team doesn't get to choose their hardware. There is usually a budget and in automotive you can select only hardware that has some specific certifications for use in a car so that narrows the list even further.
- blarghyblarg 3y agoAnd once that hardware is selected for a given range of vehicles, it's literally impossible to change. Updates to some parts of the software stack are also basically impossible at a certain point.
- speeder 3y agoI have a 2 month old baby, and got fired from my last job after 6 months of unpaid overtime... I am currently trying (again) to get into embedded development. I would gladly take the job of the guy that refused to make shitty software, if that means I can keep feeding my baby. Unless it would be too unethical. (I refuse to do work that will kill people, for example I won't work for Palantir, companies that make sketchy software related to flight controls or medicine or other critical applications and so on... but the car media player? yeah, I am willing to make a crappy one if I get the job, I prefer to make a good one, but if my boss want a crappy one... then what I can do? overtime to get a promotion, clearly doesn't work ;) )
- vocram 3y ago> I refuse to do work that will kill people Isn’t a crappy UI on a car something that could kill people?
- emodendroket 3y agoIn some abstract sense, like how you could say that you should absolutely not drive a car as you could accidentally kill a pedestrian.
- Lio 3y agoI don't think it's all that abstract. We know that phone using drivers perform worse than drink drivers. They regularly kill people because they're not concentrating on what's in front of them. If you change the car's UI from something with low latency[1] to something with much greater latency[2] then you are definitely putting others at higher risk because drivers spend longer not concentrating on driving. -- 1. See button, move hand, feel large physical button, look back at road, press button, feel feedback click. 2. See screen, move hand, see screen pops up menu on hand proximity, see menu item, click menu item, miss-press try again, wait for animation, attempt to select feature but hand moves due to bump in the road, move hand again, try to select feature again, miss-press try again, wait for feedback animation, look back at road.
- szundi 3y agoThose managers might be right from a sales point of view. Until we buy all this, they are right. Let’s see that Tesla can change this or not.
- eviks 3y agoNope, it's too crude a metric for such features
- JenrHywy 3y agoIt's very rarely a developer's role to say outright "no". It's our role to make trade-offs understandable by decision-makers, and to clearly articulate why we think something is a bad idea. Sometimes (usually...) the broader business has different goals that just delivering quality software, and I think part of being a professional is understanding that. There is, of course, a time and a place for a hard "no". I've genuinely threatened to quit rather than implement a particularly user-hostile feature in the past.
- ISO-morphism 3y agoI completely agree with you, and I think you've worded this better than I have. I was trying to advocate for the middle path, where there's healthy communication from both sides, to the point that developers trust when "the business" makes a decision - not to the point of engineering completely blocking the, unquoted, business.
- emodendroket 3y agoI often see sentiment like this here but I think there's a disconnect between the sacrifice you're expecting people to make and harm caused by the work. It's admirable for someone to put their own job security second to obeying really harmful directives, but something that's going to make the music system laggier?
- Cyphase 3y agoWork work.
- iSnow 3y agoI don't own the company. I will push back a bit, but if management insists on using the foot-gun, why would I get on their bad side? They are adults as well and if they don't agree with me, I do as they tell me.