Author: tech-pr

  • Data synchronization between services

    Unlock the power of seamless data synchronization between microservices with this guide on leveraging AWS DMS. Dive into practical tips and step-by-step instructions to ensure your microservices communicate flawlessly. This is the way we use for Data migration in real micro-services in projects at MFV. Table of contents Requirement/ Problem Solution (We will choose Solution…

  • How to create your own gem in Ruby

    How to create your own gem in Ruby

    A step-by-step guide to packaging, distributing, and sharing your Ruby code with the world. 📚 Table of Contents Why create your own gem? Creating your own gem not only helps you reuse code across multiple projects but also allows you to contribute to the Ruby community. By packaging your code as a gem, you make…

  • FastAPI `async`: A Small Keyword with Huge Impact

    FastAPI `async`: A Small Keyword with Huge Impact

    Introduction Modern web applications are often I/O-bound—waiting on databases, APIs, or file systems. Python’s async/await syntax allows us to handle these operations concurrently without blocking, which can lead to major performance gains. But in FastAPI, using async carelessly can have the opposite effect. Let’s explore how a single keyword—async—can either unlock FastAPI’s full performance potential or become a surprising…

  • The database problem we solved with replica technique

    The database problem we solved with replica technique

    As the database is growing bigger, there is a higher chance of latency and lower efficiency to come into consideration. The heavy workload should not be handled by one main database anymore. Instead, a database replica is designed to cover and divide the workload into small pieces. In this article, we will have a brief…

  • How to Approach new_framework_defaults in Rails

    How to Approach new_framework_defaults in Rails

    This article is a translated version of a Japanese blog post originally written by the author. Hello, I’m pocke, an engineer working on Money Forward Cloud Accounting Plus. In this post, I’ll explain how to deal with new_framework_defaults in Rails. I’ve recently been working on upgrading Rails, and through that process, I had the opportunity to think about how to…

  • Diverging types in Kotlin

    Diverging types in Kotlin

    Introduction This is Jeremy, a backend engineer on the Cloud Consolidated Accounting team. We work on an accounting platform written in Kotlin. This article will introduce something we did with the Kotlin type system in order to improve the type hierarchy without compromising the safety advantages of strict typing. We’re using Kotlin 2.1; in later…

  • Life cycle of a Scrum team and lessons learned

    Life cycle of a Scrum team and lessons learned

    Psychology plays a crucial role in software development by influencing team dynamics, communication, and productivity. Understanding psychological principles helps in fostering a collaborative and supportive environment, which can enhance motivation and reduce stress among team members. Effective leadership and empathy contribute to better conflict resolution and decision making. Additionally, recognizing individual strengths and promoting a…

  • I Tried Problem Setting in Programming Competitions

    I Tried Problem Setting in Programming Competitions

    Introduction Background Hello! I am Kinon, an Indonesian Software Engineer at ID Platform of Money Forward’s Business Platform Development. I worked fullstack in this team for about 6 months. I would like to share one branch of one of my hobbies that I actually started during my university, which is Problem Setting in Competitive Programming.…

  • Creating Efficient Docker Images: How I Reduced Image Size by Over 96%

    Creating Efficient Docker Images: How I Reduced Image Size by Over 96%

    Introduction Hi! My name is Fajar Muhammad Hamka, and I am an AI Engineer at Money Forward in the AI Development Division. I began coding five years ago when I started college, with my experience primarily in backend development. Since joining this team, I have had the opportunity to expand my skills into MLOps, infrastructure,…

  • Hacking and Learning – What I Gained from Kansai CTF 2025

    Hacking and Learning – What I Gained from Kansai CTF 2025

    Introduction Hi everyone, I’m Dylan from Money Forward ERP’s Kansai Development Department. Last month, I had the opportunity to participate in my first Capture The Flag (CTF) event at our Kansai Branch Office. In this article, I’d like to share my experience and the excitement I felt during this innovative development camp. Why Kansai CTF…

  • Utilizing Neovim API in Cursor

    Utilizing Neovim API in Cursor

    Introduction Hello! My name is Muhammad Garebaldhie ER Rahman (Call me Gare), a full-stack Software Engineer at Money Forward Cloud Human Resources Management Group, HR Solutions Department. I began coding 4 years ago during college, primarily using VSCode or JetBrains IDEs for daily development. About a year ago, I fell down the Vim rabbit hole…

  • RubyKaigi 2025: Fun

    RubyKaigi 2025: Fun

    Hi everyone, I’m Lewis from Money Forward, currently working as a Backend Engineer, focusing on reducing tech debt in our codebases. This year I got to attend RubyKaigi 2025 in Matsuyama along with other members from the Money Forward team. I’d like to share the highlights of my trip, including my favorite talks and experiences…