The writer sounds like a crippling perfectionist. The world isn't perfect, and neither is any real program. It's an important step in your personal development to recognize and deal with that. Perhaps they would be happier as a designer, where they can make everything fit into perfectly neat boxes.
I don’t belong in tech
11–20 of 205 posts
Re: I don’t belong in tech
#12There are fields (we all know what those are) where, indeed, "if you aren’t embarrassed by the first version of your product, you shipped too late." Those fields are recognized for anything but quality, and this attitude is precisely why LinkedIn is the profitable (for a handful of people) but despised piece of shit that it is. If your aim is to get as rich as Reid Hoffman, by all means make that a credo. Otherwise, ignore them and the people who think there's any value in that sort of thinking.
In the meantime, there are a lot of other fields in "tech" where if you're embarrassed by the first version of a product, that's usually a sign that it's going to be scrapped because getting it on the market RIGHT NOW is going to get someone killed, literally, and it's in such a bad shape that by the time you patched it up into a state where it doesn't kill people, no one is going to need it anymore.
Not that blunders don't happen (eh, Toyota?), not that this always results in beautiful code that would make Knuth himself weep tears of joy. Like with everything man-made, there's a lot of room for imperfection, but perpetually shipping beta-quality software (oh, sorry, I meant continuously deploying and improving software delivered as a service) is not cultivated.
There's a lot of "ugly code" in these things as well, but for different reasons. "Beautiful code" isn't pursued for its intrinsic aesthetic qualities, it's a result of the pursuit of quality design, of "proper" engineering. It doesn't happen because programmers have a thorough understanding of beauty, it happens because they're encouraged to understand the problems they're solving from many angles, to come up with solid solutions that are going to work two years from now, too (upper management not having selling the company for a decent price within the next 18 months as their main objective helps a lot here) and so on. Certainly, having time to properly implement code helps as well, but most of the super Agile shops I've seen couldn't produce ten lines of good code even if they had an ice age and a half for it. Not because their programmers wouldn't have time, but because they're constantly battered to ship code whose only virtue is that it can be quickly patched up to The Founders' latest whim. Unsurprisingly, when you optimize for things without technical value, you end up with code that's technically crap.
There is a place in tech for people who think that products that sell for their intrinsic quality, not just their smart timing, are both possible and a goal worth pursuing, or for people who want to work on things where quality is a prime concern. There are companies that try to pursue that as well, even though, like everywhere in the Western world, their main objective is to make money. The idea that the two are somehow mutually-exclusive is popular, but not universally revered, and companies that don't adhere to the "move fast and break things" mantra need programmers, too.
Re: I don’t belong in tech
#13The writer sounds like a crippling perfectionist. The world isn't perfect, and neither is any real program. It's an important step in your personal development to recognize and deal with that. Perhaps they would be happier as a designer, where they can make everything fit into perfectly neat boxes.
Belongs in an enterprise environment IMO. That mentality works really well with unlimited budget where projects can live forever.
Re: I don’t belong in tech
#14Maybe the solution would be to switch to working on a different kind of software, where everyone agrees that getting it right really is critical?
Re: I don’t belong in tech
#15I used to try to fix everything and stay up at night thinking about a strategy to turn the spaghetti code into a well structured framework. What you don't realize before you start is that it takes an awful amount of time and the end user doesn't even notice it. You make it harder on yourself thinking about the ideal code rather then fixing the problem.
It's all about making it work. And trust me, that in it self can be exciting.
Think about maintaining an old php project where the original developer is all gone and you have to figure it out. You can complain all you want, try to convert it to rails, or you can fix the bugs. That feeling of figuring out and fixing it is where i get my thrill.
Re: I don’t belong in tech
#16I think I've begun to figure out how to use that to my advantage though. Ultimately any product is driven by business concerns, and you have to use that same skill of understanding of how code pieces fit together with how business pieces fit together. "If I improve this interface then the code will be more modularized" isn't going to make much waves with a product manager but "If I invest five man-days now, we'll save ten man-days per year and here's why" absolutely will. It's very tough as business and human concerns are much less structured and easy to understand than algorithms, but it is an important step in being an engineer and not a computer scientist.
Re: I don’t belong in tech
#17Agile and Lean both contained good ideas, but they've been misinterpreted. "Flexible processes" became "no processes", "rigorously test your assumptions" became "try things at random".
Web and mobile are becoming mature platforms. There's now a long history of web and mobile products to study - the design, engineering and business principles for success in these products should be well-known. They're not because of the rampant ADHD and short-termism in the industry.
Re: I don’t belong in tech
#18It sounds like the author is less disenchanted with tech and coding than she is with product development, because there are many ciders and engineers who care as much about the truth but conflict with CEOs and managers. This is no different in journalism, where the saying goes: an editor's job is to sort through the wheat and the chaff and keep the chaff.
To me, the truth that can be found in code is a refuge from the inherent unknowability of the real world that journalism attempts to describe. I tell journalists who aspire to code that as hard as programming may seem to be at first, it's by far less complex and confusing than the real world.
Re: I don’t belong in tech
#19from what i got she wants everthing to be perfectly done with unlimited time. I would imagine one of the core qualities of software dev is figuring out what level of perfection is acceptable. Not everything in the world need to be 100% perfect, Walmart exists for a reason. That said its a welcome attitude in world full of crappy software.
Re: I don’t belong in tech
#20People who cannot process their emotions should not try to build a startup.