Ruud Klaver is our Native iOS Developer who joined Talk360 in 2021. Ruud has a lot of experience in his field of expertise, so we asked him some burning questions. Why is being a developer such a great job, what does he think the future challenges of developers will be, and can he share a great tip for future developers? Ruud has all the answers, and you can read them below.
What is your day-to-day like?
In the morning, I attend a stand-up with the other Talk360 mobile developers, where we discuss what we are working on. Some of our developers are in different countries, so this meeting is always via Slack. Although the Android and iOS code bases are separate, the functionality of the apps is the same, so we often face similar issues, and this is a good time to coordinate efforts. Often this will be the only meeting in a day, so the rest of my day is dedicated to development. We are in a major push right now to refactor the code base of the apps and bring them up to modern standards, making improvements along the way. This means identifying a component that can be rewritten, doing an assessment on that functionality that it currently provides, coming up with potential improvements to this functionality, designing an improved architecture for the component, actually performing the re-implementation, and finally testing this thoroughly.
What is your favourite thing about working at Talk360?
The first thing I really enjoy at Talk360 is the international team, as it is really interesting and fun to work with people from all over the world. The second thing is that I am working on something that is used by thousands of people every day. It really makes it more satisfying to spend time and effort on a product that is relied upon by people all over the world to stay in touch with their family and friends. It also raises the stakes, which adds to the challenge of making sure that every release of the Talk360 app functions as it should. The other thing I like is that we take software development seriously at Talk360. We are currently investing in improving the current code base, which is often necessary for projects with a years-long development history. This investment should pay off as we are soon adding new features. Not all companies are prepared to make such an investment and focus only on new features instead.
What are the future challenges of mobile developers?
The challenge of any software developer and mobile developer in particular, is to keep learning, which is one of the things I like about the profession. With each iteration of iOS, Apple releases new frameworks and new SDKs, which you have to keep up with overtime. The same is true for Google on the Android side of things. This means you cannot be complacent, and for every new project you take on, you will have to expand your knowledge to include things that you did not use before. This is especially true for native mobile development since the Apple or Google APIs are not abstracted away for you by some intermediate layer.
What is the best way to keep up with the latest technologies and trends in Tech?
I use a mix of different sources at Talk360. Colleagues are always a good source since they can tell you about something they actually worked with themselves. As new trends and technologies pop up all the time, one of the challenges is figuring out which of these are just fads that nobody will speak of in a number of years and which technologies are mature enough to use in a production system. You do not want to build something that is unmaintainable in the long run or simply does not deliver what it promises. A bit old-fashioned, but I find that it works best for me to learn new technologies by finding the best book on that particular subject, buying a physical copy of it, and reading that pretty much from cover to cover. Not all the information is retained, but usually enough to be able to look it up when I actually need to use it.
What did you learn the hard way when you just started your career?
Software development is a job that comes with many challenges. Some of them have clear solutions, while others require more patience. The most important thing is to be able to reflect and learn from your experience. In my career, I have learned that reflection is a great thing. If you are too deep into issues in your code, it is good to take time out to explain what these issues are to someone else, even if you are just rubber ducking. This is where you explain the problem to an actual rubber duck. Oddly enough, this usually helps since verbalising it makes you see the problem from a new angle.
I have also learned that if a piece of software (such as a library to be used in an application) makes certain promises on paper, this does not mean that it can deliver. When using something new, it is usually a good idea to make a proof of concept first to make sure the software is applicable to your use case.
Do you have any tips for future developers?
Keep learning your whole career, and when faced with a seemingly insurmountable problem, just take a break and come back to it later with a fresh mind.
Do you want to join our global Talk360 team on our journey to connect Africa to the world? Check out our Career page and get in touch. We would love to hear from you!