4 ms·
The thing about tech projects is that you can always hire more engineers. There is no limit as to how many engineers a company can employ for any given project.
by jondubois 8y ago
The thing about tech projects is that you can always hire more engineers. There is no limit as to how many engineers a company can employ for any given project.
As soon as the CTO loses touch with some part of the code base, that's when the middle managers start introducing unnecessary complexity into projects. Technical middle managers will always create more complexity to give themselves more work and more responsibilities. They will do it subconsciously and compulsively.
There aren't many engineers today who care about code quality or even know what that means. I'm disappointed by what this industry is turning into. There is no pride in efficiency anymore.
Most managers within tech companies today don't have a clue what good software development looks like; they think that if they use TypeScript as a programming language, Agile as a methodology and Jira as a project management tool, that the product will turn out great for sure; but it's not the case.
Tech monopolies can allow even the worst tech managers and engineers to thrive professionally. No one ever gets reprimanded for unnecessarily increasing the project complexity even though it will cost the company millions a few years from now (in a large part due to the need to hire more engineers to manage the complexity).
WhatsApp could handle 200 million users with only 50 employees; it's proof that you don't need many employees to deliver quality. Keeping complexity under control is a better strategy than just hiring more people.
- blacksmith_tb 8y agoInteresting you should say that, as it runs against the accepted wisdom[1]... 1: https://en.wikipedia.org/wiki/The_Mythical_Man-Month https://en.wikipedia.org/wiki/The_Mythical_Man-Month
- jondubois 8y agoI think that my point is exactly in line. This line from Wikipedia: >> "The Bible of Software Engineering", because "everybody quotes it, some people read it, and a few people go by it" Exactly my point; everyone will complain about complexity being the biggest problem in software development (everyone agrees about this); and yet these same people will keep making decisions that will increase complexity within their own projects (for example): - To use Jira instead of Trello. - TypeScript instead of JavaScript. - 100% code coverage in tests instead of well targeted integration/functional tests. - Hire more people instead of focusing on improving internal practices and coding style.
- watwut 8y agoI what world is making medium large project in Jacasript less complex then in typescript? Where are the companies with 100% test coverage?
- jondubois 8y agoI have years of commercial experience in both JavaScript and TypeScript as a developers and yes TypeScript adds a lot of complexity over JavaScript. I've worked for at least one company that had 100% unit AND integration test coverage of every line of code across all projects. It took about 3 days for an engineer to rename a single property in one of the API endpoints because of the time it took to get all the tests passing again. Most of them were useless and added no value to the project.
- skookumchuck 8y ago> Most managers within tech companies today don't have a clue In my role as tech manager, I've been called incompetent, stupid, short-sighted, biased, insane, greedy, vindictive, just about every epithet in the book. This is normal. If you're ever promoted into management, you'll be, too.
- pnw_hazor 8y agoHah. I forgot about that. You magically change from being a cool 10x programmer into a moron or worse.
- tonyedgecombe 8y agoIf you think that's bad you should try going into politics :)