6 ms·
From inside FAANG, I have seen many projects over engineered to death. I think the problem is lack of experience combined with the selfish need to make the job
by zyang 6y ago
From inside FAANG, I have seen many projects over engineered to death. I think the problem is lack of experience combined with the selfish need to make the job more interesting.
- dward 6y agoSpanner and Dremel/BigQuery are both SQL database in that you interact with them by sending them SQL. Maybe I don't understand the terminology.
- xyzzyz 6y agoDremel is not a database.
- alisonkisk 6y agoFor non-analytics use cases, only in the loosest sense. Much of the "schema" is key-value is binary blobs.
- 14u2c 6y ago> selfish need to make the job more interesting. I'll admit I have been tempted to stray down this path in the past. I think for me it was the fact that the company refused to provide any time for training or improvement, leading to the desire to chose tech in projects that would build skills rather than being the most expedient.
- ikiris 6y agoIts usually less about more interesting, and more about "show meaningful contributions for performance reviews"
- yibg 6y agoResume based development.
- bergie 6y agoRDD - Resume-Driven Development You can find this in lots of places not just FAANGs
- zaltekk 6y agoOtherwise known as Promotion Based Architecture. You’ve got to make the problem difficult enough and the solution complex enough to demonstrate you can “operate at the next level.”
- egeozcan 6y agoThe common pattern one sees in such over-engineered mortgage projects is that they usually have a cool-name, even though they are internal use only. I guess this is because of the hope for it getting open sourced and the dev becoming famous. Also, the less experienced people are, the more they are thinking that they are breaking new grounds.
- ramchip 6y agoYeah... sometimes you get a junior engineer who's drunk the koolaid a bit too much and think they need a bunch of fancy tech for their web dashboarding dealing with 5 req/s. But I think it's pessimistic to reduce it to people trying to make the job more interesting, and at least with more senior people it's often about reusing technologies internally. For instance, an application may have a use case that requires very high messaging rates, so they build up a team to operate Kafka clusters. Then later you end up with a bunch of teams using Kafka when far simpler things would do the trick, because it's already available and there's a whole team supporting it, with expertise to debug it if things go wrong. It doesn't look good if you take the system on its own, but in context it's a pretty reasonable decision. IMHO sometimes this reasoning goes too far (I've seen people suggest we rewrite super relational apps to NoSQL to avoid operating SQL DBs!), but it usually comes from good intentions.