Do you want to remove the excuses for not being a professional software developer?
- Release as frequently as possible, it will give you tons of feedback about the product, the design, the code, the architecture and so on... And at the same time, it forces you to have confidence in the code, automatic testing, automatic deployment, good tooling and infrastructure and learn one of the most difficult but useful skills for a developer... the skill of making large changes in small chunks (parallel changes, dark releases, refactoring (code and data), etc...)
- Use TDD to put pressure on the design and force you to think about it and decouple from infrastructure.
- Pair as much as possible to be forced to have focus, understand other developers, think as hard as possible in the problem at hand. Or mob programming as an alternative. No twitter, no Facebook, no notifications... only respect and hard work. Professionalism :)
- Be a whole team for the product, including of course the customer, business, and so on... Learn about the problem to solve, the business language, propose new features and experiments, find alternative solutions, even find better problems... Be part of the business and the product.
Learn about business, learn your craft, be part of a team with a purpose...
And remember: nothings add value, until it helps real customers to make something...
Be a professional software developer
References and related posts:
- Agile is not a recipe for success...
- The two pillars of agile software development