Being a Software Engineer is always a bumpy ride. Why? Because in addition to our daily work we also have to deal with the technical stuff and how we interact with the people involved in projects. There are a lot of books, lectures, and videos about how to be a good Software Engineer. I recently read "The good software development manifesto" by Andrew C. Oliver, and let me tell you that it is a very good summary of how to do so. If you want to become better, you should read it. Meanwhile, keep reading the following list of basic tips for being both a better developer —and person.
1. Believe in data
We could think we are the best because of our deployments and code, however: How do we know if we are really the best?
Easy: using data (the one collected in our daily routine). With the daily data I mean eve-ry-thing we do every day: how many things are completed, failed, tested, etc.
To know if we are really getting better (or not) we just need to trust in our data. We need to keep track of our statistics about failures and success. By doing so, we work our way to be the best. As the saying goes: To move forward we have to look back at our mistakes.
2. Software development is more than coding
Code is communication with people.
Part of the road to being a better Software Engineer is knowing how to be empathic and how to interact and perform with people (especially with our teammates). Code is communicating with people. Programs are meant to be read by humans, computers are there only to execute them.
We write code not only for the computer; but for communicating with fellows and ourselves in the future. For example, to get more experience and feedback you can always reach any member of the company, it does not matter which role they play.
You should also consider that communication, design, analysis, and dev process are all equally important. Think outside of the box, and do more research about the entire software process.
3. Good processes are important
We are a team, so we always have to see our team like a ship where everyone is important: each one has different roles and every one of those roles will allow us to sail away.
To be successful, all the team needs to focus on processes, be professionals at any time, and find a way to get all the team to a common goal. You will see how all these efforts will eventually make us a super pro team.
4. You prove yourself with results, not “status”
<spaTo reach success, we always need to recognize the personal effort of each member of the team. It doesn't matter the job position, everyone is important, needs to do their best, and are part of the same team. So, learn to celebrate others´ success and you will be successful at the same time. Tip: remember to always give some Kudos!
5. Everyone can learn from everyone
Speaking from a personal point of view, I have always thought that if we learn from others and spread that knowledge, we will receive even more. It is like a snowball effect: if the people around us grow, we grow too.
6. Test all your assumptions
We always need to question ourselves, so we never think that we are absolutely right without asking for someone else's point of view. They sure are a more critical vision of what you are doing. This will also help us to be more analytic, objective, and humble about our work. And, if at the end of the day we were right, we have to feel free to be proud of the results.
Everyone can be a better Software Developer, but it will always depend on our attitude and how we face difficulties. Think outside of the box, be more social and empathic, and finally share the best of yourself with others.
Always work as a team, learn from everybody, and look for a way to grow together. All these changes in our life will make us eventually a better worker. This is the way!