7 ms·
We're bad for several reasons: -- Outside FAANG type companies, most businesses are not willing to actually put in the investment it takes to do engineer softw
by poulsbohemian 7y ago
We're bad for several reasons:
-- Outside FAANG type companies, most businesses are not willing to actually put in the investment it takes to do engineer software. They want a "solution" as cheap and fast as they can get it. I'm not even passing judgment here, as in some cases that approach is entirely justified.
-- Software is a world of eternal September, where the industry memory is only about five years long. Lots of us move on to other fields or roles and the memory is forgotten, and here comes another generation to reinvent the wheel all over again.
-- Education: Computer science is not software engineering. Code schools are teaching programming more than software engineering. Thus, software engineering is something learned through doing rather than something studied as a discipline.
- taylodl 7y agoI'm curious, what evidence do we have that the FAANG type companies are significantly better at software engineering than anyone else?
- poulsbohemian 7y agoWhen we look at the entirety of companies around the world, it's reasonable to think that there are non-FAANG companies that could be just as skilled. That stated, my own casual observations: 1) The FAANGs that I've seen have significantly more robust practices than the non-FAANGs. Everything from office conditions to build / test / release systems. The reason for this is: 2) Incentives. When your business is completely focused around software technology, you are incentivized to build out systems and processes that other places would not, because it is core to your business. Anecdata from many years in and out of various kinds of companies, as both an employee and/or road-warrior consultant.
- Supermancho 7y agoI still see bugs and rollbacks in FAANG releases. I conclude that the incentive isnt enough. The practices are inadequate.
- zxcmx 7y agoA process with occasional bugs and rollbacks is rational if it produces more net utility than a process which only ships "perfection". What's your error budget? Not spending your error budget is velocity left on the table.
- eximius 7y agoThat's... like the whole point of the article. That mentality causes less reliable software.
- codingslave 7y agoThis is my point exactly, they arent. They just have monopolies.
- auggierose 7y agoWell at least they are trying to be. Some of them employ PhD's in theorem proving to apply computer assisted proof to improve their software (and hardware).
- zozbot234 7y agoWho's doing this? Amazon is using model checking on simplified models of real-world software systems, that's not "theorem proving". Microsoft is doing some related stuff in low-level code (Sing#, etc.) but they're not in FAANG. Galois is not even close, they're a relatively small shop.
- auggierose 7y agoThe other A is doing it.
- lidHanteyk 7y agoTo accompany the neighboring reply from the grandparent poster, the practice of site/service reliability as an engineering discipline is not just popular amongst the FAANGs, all of whom have SREs, but embedded into the company culture and structure. Google, for example, has a head honcho of SRE (a VP of SRE?) who gives all SREs extra authority to act somewhat independently. A large part of the perceived competency of the FAANGs is their ability to casually and repeatedly achieve 5+ nines of availability. When HN is unavailable, that's no big deal; when google.com is unavailable, users act as if an apocalypse has begun. That difference in reliability changes a service from something that people consider as an option into something that people rely upon.
- codingslave 7y agoThe competency of FAANG is completely overblown. Mostly they enjoy massive profits by being monopolies. Because they're monopolies, they can afford to waste a ton of money on software. Facebook is not even known for high software quality, theyre actually known for speed and getting the work done as fast as possible. Same for Amazon.
- skybrian 7y agoSure, they don't have to be efficient so they can afford to spend more on tool development. Not everything works but the better approaches get more adoption. Also, I think you're underestimating the effects of having a lot of code. This pushes limits that smaller companies don't have to worry about.
- codingslave 7y agoElite startups and hedge funds have the best software quality. There are funds in NYC where every programmer makes more than 500k a year, some in the millions. They have people on those teams who have been programming since they were in middle school. FAANG just hire in bulk, they just want you to memorize solutions to algorithms problems, and if you can do that youre in. Some huge percentage of programmers at Google have less than three years experience. They can absorb all the bad engineers they hire, a few end up being good, who they promote to the teams actually writing the software critical to the business. The rest just write CRUD Apis and shuffle data around, using some framework written by the top 1% in the company.
- Apocryphon 7y agoSurely there are some teams in the heavily-regulated aerospace and medical technology spaces as well. NASA would apply.
- low_common 7y agoIf you haven't been writing code since middle school, how would you recommend getting into those funds?
- wink 7y agoTo your first point, not even that alone. People aren't paying (only) for stable and correct software. They actively seek out fancy UIs for example. I noticed that in a former company. We had the best algorithm and the most correct numbers (for what we were selling) but the customers didn't like them because they were lower (and more realistic) than some competitors' numbers. Also they had better and shinier UI, they won the market.
- buboard 7y agoare you suggesting that facebook or google's or MS products are the best engineered? I was just using skype ...
- rednerrus 7y agoSkype is a bad example because it was something that Microsoft took over.
- karatestomp 7y agoWe're gonna have to exclude some huge percentage of Google's product portfolio if that's the standard, then. Though much of that is pretty bad so maybe you're on to something.
- buboard 7y agoit was good when microsoft took it. they made it worse https://www.howtogeek.com/369631/microsoft-is-killing-skype-classic-on-november-1-and-heres-why-people-are-upset/ https://www.howtogeek.com/369631/microsoft-is-killing-skype-... btw the list is much longer: twitter, facebook, adsense ... visible bugs in all
- city41 7y agoThere is plenty of very buggy and very bad software from FAANG companies. I'm not sure that first point holds too well.