Someone much more experienced than I am once said to me that experience doesn't teach you more answers, it teaches you more questions.
The answers change as the landscape evolves, but know which questions to ask...
The answers change as the landscape evolves, but know which questions to ask...
- Writing reliable, maintainable and testable code
- Strategies for solving problems that are very large or very difficult
- The ability to interact well with developers, product managers, executives, customers, etc.
- Knowledge of algorithms and other fundamental things in computer science
Being a good software developer is about a lot more than just dealing with the mechanics of the particular software environment you happen to be using today.