Hacker News new | ask | show | jobs
by jondubois 3797 days ago
This sounds similar to what I've experienced at various startups. The problem is that the people who have been around the longest tend to have more knowledge of the tools and techniques which relate to a specific project - Sometimes it even seems like their overall understanding of technology is superior too - But that is an illusion.

I've changed companies a lot as a software engineer and I noticed that whenever I join a new company, I usually feel like the dumbest person in the company at the beginning - For example, other developers might mention specific features of Linux which I had never come across before or they might make references to certain technical concepts which I didn't know about. But a couple of months in, I usually feel smart again and then I get bored... (This cycle happens every time when I change company).

What I realized is that knowledge doesn't flow very well between companies - Each one tends to get specialized in very specific ways but they don't realize it. The developer who has been around the longest is the most knowledgeable when it comes to the technology surrounding the project in its current state - So it's very difficult for another regular developer to 'win' an argument against them - This is bad because the most senior developer is often too deeply set in his ways (it works best for him) but in reality, you need the whole team to take a few steps back to find something which works best for everyone.

1 comments

Yes, I've seen this too. I think I've even been that person. (But that's a different story.)

The first company I worked for claimed that most new employees took 6 months to ramp up to the internal tools & processes, which sounded absurd to me until I actually started ramping up myself. Holy cow. And the people who were entrenched in this company's particular way of doing things seemed like absolute geniuses until I realized how much of their knowledge came from years and years of doing the same things over and over.

I think the best way to combat this is to recognize that tools, techniques, processes, and technologies are all an inherent part of your product and your business. Much like you take the time to refactor code and combat technical debt, I think it's pretty crucial to also devote time to combating "process-debt" and/or "tooling-debt" -- all of that extra cruft that piles up and starts becoming "the way" to do things at your company. Because, just like with code, there is usually a simpler, more practical and/or elegant solution just waiting to be discovered.

I've noticed this, but usually consider it a feature, not a bug. The better companies are at least aware that this is going on, and can use it to their advantage when it suits them or counteract it when it doesn't.

The thing is - if you zoom out, "experience" is nothing more than overspecialization in the particular environment you found yourself. That applies at the industry, society, evolutionary, and planetary levels as well. Organisms adapt to the particular circumstances that they live in. Usually these adaptations are beneficial, because otherwise they get pruned out and people adopt different ways of doing things. But sometimes the environment changes in a way that makes all that accumulated knowledge irrelevant, and you end up like the dinosaurs. Extinct.

I've found that most of the time, people's knowledge is the product of hard-won experience, and if you tear it down, you will encounter the same problems that led to them coming to those conclusions in the first place. But occasionally, something changes in the environment, and you need to tear things down to adapt. If you want to build off existing knowledge, become an employee, and join a company that's busy figuring out all the corollaries of the premise that founded it. If you want to challenge existing premises, become a founder, and look for areas where the environment has changed in a way that invalidates existing knowledge.

If you try to build something totally new and different by learning all the existing ways people have built stuff, you will probably fail (believe me, I've tried several times). Similarly, if you join an organization hoping to tear down all the wisdom they've accumulated and replace it with an outsider's perspective, you will probably meet significant resistance. Sometimes organisms have to die to learn.