I am the CTO at Money Forward, currently living in India to establish a development base in India. I want to write about how I keep up with new technologies in this article. I sometimes hold Ask Me Anything sessions in the company to answer questions from young engineers, and this question is popular, along with "How can I become a CTO?"
Not much time to keep up with
I am always busy working for Money Forward, a fast-growing business and engineering organization. Like many CTOs working in startups, I have a lot of things to do and want to do, and I cannot change this situation tomorrow. It is tough to find time to keep up with new technologies, so it is very important to consider what to spend time on.
What technology should I keep up with
New technologies emerge every day, and it is impossible to keep up with all of them. If I try to keep up with too many technologies, I will probably end up only understanding the surface of the technology and not understanding each one in depth. That is meaningless and a waste of time. What technologies we keep up with as engineers are extremely important to our careers. What kind of technology I keep up with will also affect what kind of technology Money Forward will adopt, so I need to make the right decisions. Therefore, deciding what to keep up with before considering how to keep up with new technology is essential. Here are some of the considerations I take into account when deciding what technologies to keep up with.
Why was the technology created, and what is it trying to solve?
Before looking at new technology in detail, I think about why it was created and what it is trying to solve. What services and organizations will benefit from the new technology? Are there positive impacts on Money Forward? If not now, how about in the future? For example, I try to discern whether the technology will be effective in a zero-to-one phase or whether it will have an impact on a larger-scale service or development organization. The status of Money Forward's services/organization will determine what new technologies should be prioritized.
How long is the new technology likely to survive?
Technology has trends, and one day one technology may replace another. On the other hand, the time it takes for one widespread technology to be replaced by another depends on the layer of technology. Low-layer technologies have longer survival times, while libraries and frameworks tend to have shorter ones. Specifically, CPU architecture, operating systems, and network protocols are not easily replaced once they are widely used. They have a lifetime of several decades. On the other hand, libraries and frameworks are likely to be replaced in a few years. Middleware is somewhere in between. Programming languages also have a long lifetime, but even so, their lifetime is getting shorter these days. I keep up with technologies that have a long lifetime, and I don't touch technologies that have a short lifetime until I need them. Sometimes it happens that while I am waiting, it becomes obsolete, and another technology replaces it.
Not necessarily on the cutting edge
Even outstanding technology will not always be widely used, and technology is meaningless unless many people use it. I rarely jump on the latest technology as soon as it comes out, and if I were a specialist in a particular field, that might be a good strategy. But, I want to understand a wide range of technologies, so I am not focused on following the cutting edge. It is too late to catch up after the technology becomes dominant, but from a time-saving perspective, it is ideal to start when it becomes widely spread.
How to keep up with new technologies
Finally, I will write about the main topic, "How to keep up with new technologies." I don't like to spend time just keeping up with something, so I try to use new technology to create something or see if it can solve a problem I am currently facing. I have several microservices in my company to which I am the main contributor, so those are the easiest places to try. It is important always to have ideas and potential areas to try out. I sometimes try out new technologies on my own, but I involve someone else and work together with them. This way, the learning is more effective, we can save time by teaching each other, and we can motivate each other and not be halfway done. In this way, I am trying to keep up with new technologies as efficiently and realistically as possible
I hope this article on how to keep up with new technologies will be helpful to someone.
This article was published as a part of Money Forward Tech Blogathon 2022. I hope you check out all of the past posts and enjoy the next posts.
マネーフォワードでは、エンジニアを募集しています。 ご応募お待ちしています。
【会社情報】 ■Wantedly ■株式会社マネーフォワード ■福岡開発拠点 ■関西開発拠点(大阪/京都)
【SNS】 ■マネーフォワード公式note ■Twitter - 【公式】マネーフォワード ■Twitter - Money Forward Developers ■connpass - マネーフォワード ■YouTube - Money Forward Developers