We all know the acronym ABC…
“Always be coding”
…the idea that the more you code, the better you get. The idea that deliberate practice makes you better. The experience of many more problems makes you better. You grow that gut feel, for when code smells bad, for a problem that you’ve solved before. It’s a natural assumption. But “Always be coding” isn’t enough, there are other C’s that you need to consider. “Consider” being one of them!
Always be considerate of your team. Considering your colleagues’ working styles, their personality traits, their goals and aspirations. Ensuring that the feedback you write in your code review process is constructive. Not shutting down your team’s ideas, however stupid they appear on the surface and however bad the delivery may be, consider the idea before rejecting it. You are your team, build them up.
Always be curious of the technologies that you use and want to use. Why the language / framework / library designers chose one implementation over another? Why is the standard a tab character or 4 spaces or 2 spaces? Explore and investigate what is good and bad about these decisions. From intricate code patterns to higher level system design, there will be something that you can learn from other people’s code (even it that’s how not to do it!)
Always be communicating with your team and other teams. Don’t send 93209294 emails a day, instead work out effective lines of communication and keep the communication overhead low. For some people a daily stand-up works, for some people it’s slack channels, find what works for you. Ultimately communicating is a knowledge sharing exercise and will help you and your team learn.
Always be clear in the code you write and the things that you say. Much more time is spent reading and maintaining code than writing it. Take a little extra time to write clear and concise code and it will pay off when you really need it. Be clear in your communication so that everyone understands and is working towards the same goal.
Always be creating value. This isn’t a “more code is better” situation. Be creating clean, clear and concise code. Code is not the only value that you can create, you can create value within your team; mentoring, having a mentor. Empowering and elevating your team adds value. Picking a single part of your business and really driving it forward, powered by pure enthusiasm.
Always be committed to your work. Be all in, all or nothing. Live and love your work. Be committed to producing only the best and it will show in what you achieve. Commit to learning and improving. Commit to pushing great code and giving that extra 10% when you could get away with acceptable and mediocre. Commit to raising standards in your team and building a better product.
Always be championing your projects, your team, your company. Be the cheerleader, be the enthusiast, be the one who raising the team up. Give praise when it’s due. Champion your colleagues achievements. Champion your companies achievements. Champion your work! Your enthusiasm is contagious!
Always be contributing to projects. Pick something open source and get to know it. Your first PR will probably be murdered, but it will be an invaluable learning experience. Contribute to your environment, your company, your work. Imagine that your life was an open source project, don’t just be a user, be a core contributor.