| ▲ | mattlondon 15 hours ago | |
I have experienced that quite a few people who are otherwise decent (if not amazing) engineers just have huge blindspots in their knowledge sometimes. I am sure I am one of them. Known unknowns, and unknown unknowns etc. You might be shit hot at low-level kernel programming but know nothing about networking for example. Or amazing distributed system design and architecture but missing fundamentals about POSIX process handling etc. And so on and so on. I've seen this even in BigCos where hiring bar is high and they try to recruit "generalists". Not everyone can know everything. | ||
| ▲ | godelski 4 hours ago | parent [-] | |
I think that's a different problem. Nobody is perfect. No code will ever be perfect (even if formalized). But I'm talking about the category of foreseeable issues. Known knowns. Not even known unknowns. This is a problem not even unique to software. There's many things we do that we know will create problems, or are very likely to, but are in the future so we put them off. Yes, there are trade-offs but that's never how we have those conversations. It's never about weighing the options. We generally have these conversations by dismissing each other's concerns (arguably not a conversation). There's a strong pattern that we dismiss future costs (or future rewards). Why pay $5 now when I could pay $1 is what people hear even if it's "in 10 years you'll make 1000x what you put in" or "in 10 years it'll cost you 1/(10^x) of your net worth". Now matters but we have to remember that so does the future. You can't be penny wise and pound foolish, unless you're a monopoly or extravagantly rich. | ||