Over the past few years, I've been exposed to various ideas and processes that have affected my way of working in software development teams. From my experiences, here's what has helped me work as efficiently as possible as a software developer.
How Do I Work?
Written by
Code consistency
Whenever I join an already established software development team, I ask for which conventions that are in place regarding code style or quality. I'll follow the conventions if they are there and if not, I'll make sure that something gets established. Code conventions such as code style is a subjective matter but isn't something to be religious about. Have a discussion about which conventions to follow and stick to them. That will bring consistency to the code base which will benefit all developers.
Caring like it's your own project
Whenever working on a project, I like to put myself in the shoes of the business or clients. Consider the business goals, not just the technical requirements. I find that if you think about the project like it's your own, you'll start taking more ownership and responsibility. You'll see that you start delivering work of higher quality. You'll avoid any shortcuts in your work. Overall, by delivering more than what's expected of you, the project will more likely succeed which you get to see the fruits of.
Code reviews
Doing code reviews is non-negotiable in my book. No developer is able to write flawless code every time. No matter how many years of experiences you have, everybody makes mistakes and no code should go in the codebase without going through an extra pair of eyes. Here's a few points about code reviews:
- Code reviews are great for sharing knowledge in the team about what's being added to the code base. No single individual will be familiar with some piece of code and it will help team members find their way around a constantly changing code base.
- Learn from the feedback you're receiving. Be open-minded to suggestions and don't take critique of the code personally. I always appreciate getting feedback from reviews - I get to learn from experiences of others and improve my code.
- You should keep the code changes to review to an absolute minimum. I much rather split up a huge PR in multiple, smaller PR's that are easier to digest for the reviewer. We all have only limited memory capacity and focus, so bugs will easily be overlooked if we overwhelm the reviewer.
Learning as part of your daily routine
Wanting to learn should be rooted in all developers. Don't get stuck in the things you already know, or else you'll not advance. What I do is that I incorporate learning in my daily routing. I set aside time every day to touch upon new technologies that I'm interested in. I get to work around 6:30 AM, and I spend the first 30-60 minutes of the day either reading blog posts or watching videos on stuff that I'd like to learn more about. For a couple of weeks, I went through the best WWDC sessions, one session a day. If it's relevant for the tasks on your daily to-do list, that's even better! You'll be surprised to see how much you'll advance if you do this for a few months or even a few weeks.
Conclusion
These are some of the things that have improved my efficiency as a developer the most. I strongly recommend that you take these points into consideration, if they are new to you. Also, I'd love you hear what makes you efficient as a developer (especially if you have some different points than mine).
Share this post
Facebook
Twitter
LinkedIn
Reddit
You may also like
Automation
iOS Continuous Deployment Using Travis CI and Fastlane
Continuous Deployment (CD) is a practice of using automation to release your code in a quick and sustainable way. Here’s how you set up CD for iOS apps to perform automated building, code signing and deployment to the App Store.
Automation
The Ten Commandments of iOS Development
Here’s a set of key principles to guide you to do iOS development according to best practices. They are all about the bigger picture of iOS development, including processes and architecture decisions – not simply language specific challenges.
Swift
7 Useful Filtering Operators in RxSwift
After using RxSwift for several months now, I can safely say that filtering is a key feature that has saved me plenty of lines of code. To know which filtering operators to use when, requires a basic overview, so let’s look at 7 of my favorite filtering operators this library has to offer.