Hacker News new | ask | show | jobs
by greenyoda 3809 days ago
You might be able to write excellent code, but experience brings many other skills:

- How to design code that's easy to use, test, understand, and maintain over the long term.

- How to effectively debug the hardest problems: bugs that occur intermittently, concurrency issues, performance issues, hardware issues, etc.

- How to wade into a huge code base and understand what it's doing, especially when the people who wrote it are no longer around to answer questions.

- How to decide which third-party software is likely to be well-supported a couple of years from now, or whether it's more cost-effective to write certain functionality yourself or use an existing solution.

- How to work effectively with others: difficult co-workers, customer support, product management, your manager, upper management.

A lot of this stuff is learned by making lots of mistakes over time. If you're just starting out, you haven't made enough mistakes yet to have learned the hard lessons.