Live data from Hacker News

Do companies exist where software isn't done with chewing gum and duct tape?

news.ycombinator.com

21–30 of 34 posts

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#21

Honest advice... the real engineering world is never about perfection. Most of the time you have a lack of business information, requirements missing, no test cases, etc. The bigger the company, the larger chances to see code that is far from perfection are. Business process and large amount of teams make it harder to acquire all information needed to engineer things. Also, most of the time it is about satisfying a c…

This is the best response.

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#22
post #5

google, banking, surgical robots, etc. look at companies that kill if they fuck up. dont count on random crup web app shop to give a crap about clean code.

> crud web app shop CRUD != crud I don't know if you are making this error, but I it all the time on /r/cscareersquestions and it is a foolish conflation. crud: crappily-built product CRUD: a set of UI operations on records in your data model. You can totally have a well-built CRUD app maintained by a team that cares about code quality.

Yes, but CRUD applications are typically done for small applications on uninteresting problems where people don't really care about code quality. So they have a bad reputation.

The worst CRUD applications, is where they've been extended where they are no longer CRUD but the architecture still assumes CRUD.

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#23
post #5

google, banking, surgical robots, etc. look at companies that kill if they fuck up. dont count on random crup web app shop to give a crap about clean code.

> crud web app shop CRUD != crud I don't know if you are making this error, but I it all the time on /r/cscareersquestions and it is a foolish conflation. crud: crappily-built product CRUD: a set of UI operations on records in your data model. You can totally have a well-built CRUD app maintained by a team that cares about code quality.

maybe i just dont care

maybe it was intentionally conflated to call CRUD usually crappily-built

maybe i dont subscribe to your nomenclature

maybe you can have well-built crud apps (omg I did it again and this time its an oxymoron), but if you pick out a crud app at random, I'll give you 10:1 odds that its code quality is absolute garbage

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#24
Thinking in terms of companies means that the business interest has to align with the particular measures of software quality that interest you. Reframing the employment search from companies to organizations may open up a different set of options ranging from government to departments within institutions to teams within an enterprise. But even in terms of companies, looking at those where software quality is critical to the business (e.g. high frequency trading or google) might focus the search.

Good luck.

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#25
post #19
post #4

Earlier quoted context omitted.

That's also exactly what I don't want. It's more paperwork than code in such places all full of rigorous validation.

How do you expect a company to keep to their code to the highest standard without continuously and rigorously validating that the code is actually up to standard?

mlindner didn't ask for "the highest standards", though - just for "not trash".

You do have to ask whether the code does what it's supposed to do. What is your objective evidence that it does so? You need that.

But you don't need aerospace standards unless you're critical infrastructure. If you're writing a web app? Not so much. You'd still like to be able to not throw up when you look at the code, though.

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#27
post #5

google, banking, surgical robots, etc. look at companies that kill if they fuck up. dont count on random crup web app shop to give a crap about clean code.

> crud web app shop CRUD != crud I don't know if you are making this error, but I it all the time on /r/cscareersquestions and it is a foolish conflation. crud: crappily-built product CRUD: a set of UI operations on records in your data model. You can totally have a well-built CRUD app maintained by a team that cares about code quality.

Alternatively,if we're being pedantic, we can go to the original definition, Chalk River Unidentified Deposit (later determined to be activated corrosion products.)

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#28
Speed to market and quality control intersect at different points for different products.

Killing someone by blasting them with Xrays is a very costly error, better to spend more (time is money) on quality. An html form failing in some obscure way for 1 out of every 1000 people resulting in a small $ loss isn't too vital out of the gate and acceptable if it can easily be fixed after product launch without a bunch of hassle. An app crashing in an enterprise that's locked in to some lame contract is even less vital. Like they paid some contract firm to one off some software with no real discussion of support.

Re: Do companies exist where software isn't done with chewing gum and duct tape?

#30
Recovering perfectionist here. Refocus your perfectionism on doing the most valuable job for the business, from a business sense. For me, that means doing half a dozen different job roles (Project management of multiple projects, SW architecture across multiple projects, Development, Test, Quality control, Process improvement, Team training) - none of them are done as well as I'd like if I focused completely on them, but what the business needs is someone who does them all to a decent standard. It's the perfect balance that's required, not one area perfect.

I also focus as an architect on splitting up the projects into small modules that can be developed, unit tested, statically analysed and integration tested. Those who work on these are being trained up in each stage of the process and are getting better and better at it - they can't move onto the next module if the existing one isn't complete, so it spreads out the work they don't like (or have never devoted the time to learn the skills for) so it's not left to the end (and then not done). We're building lots of software components to a very high standard with very little technical debt being stored or rework being required. My employer's been realising the amount that quality issues are causing a lot of trouble (delays, costs, etc), so they're highly supportive of this kind of work and my high standards are appreciated. I work in embedded software, so software updates in the field are painful, sometimes embarrassing, and potentially expensive.

Post reply on HN