1. We don't test. 2. We don't code review (or rather if we do, we do it so poorly swallowed exceptions don't raise red flags.)
That's an outrageously unprofessional software process.
1. We don't test. 2. We don't code review (or rather if we do, we do it so poorly swallowed exceptions don't raise red flags.)
That's an outrageously unprofessional software process.
After reading this, I can't help but feel like I dodged a bullet there.
https://techcrunch.com/2011/02/02/match-com-acquires-online-...
In the article, the combination of some "you're-supposed-to-just-not-do-that" with:
>If (the database throws an error) { do nothing }
resulted in a major mishap.
It depends what you think software engineering is - a means to an end, e.g. to grow a company, or as a craft you want to perfect and do for your whole career.
I think there are more craft coders, because most jobs are at companies that have survived and there is more to lose from errors than gain from moving fast. The craft attitude may not be ideal when you want to go from zero to something, and avoid going back to zero very quickly. Or, perhaps more importantly, if you want to go from zero -> something wrong -> something wrong again -> something almost correct -> Product Market fit.
It's possible to build sandboxes where security or privacy bugs are contained, but the shops that don't care much about software quality are probably not doing that.
It seems a little too easy for people building a social app to tell themselves they're just building a toy that doesn't matter. Their users might disagree after they get hacked.
1) founded by mathematicians and an academic, and 2) written in C++, with a custom templating language
Even giving them the benefit of the doubt that the core matching algorithm warranted C++, the whole site really shouldn't have been built that way.
I'm really not surprised there's poor technical decision-making there.
People who call me unprofessional forget that being a professional just means I'm paid to do it, it's not a pass time.