Interesting Facts about the Kyoto branch office of Money Forward, Inc
Hello, I am Murakami of the Kyoto branch office of Money Forward, Inc.
It has been a little over a year since we opened our Kyoto office. And we have finally opened our Website of the Kyoto branch office!
We have received many applications and had casual interviews with many people over a year. Through these experiences, I found there are common questions that the applicants are interested in, so I am going to write about it today.
Sharing common information before the interview can save time and make the interview more meaningful for both of us.
Is that the right environment for yourself? Please take a look!
This time, I will mainly write about the web development team. The situation of the Machine Learning Team is different, so I will write about them when I get a lot of applications.
(Information as of May 1, 2020.)
Kyoto branch office
Why we started it, where we are heading
First of all, take a look here!
I have also answered this question in an interview.
Product in development
We are developing a cloud-based accounting system with control management functions, and we would like to increase the number of products according to the number of members.
Products are divided into microservices and sub-systems are also being developed.
We have an Accounting Plus development team and a Machine Learning & Data Infrastructure team. The Accounting Plus development team is large, so we have divided it into a 2~3 virtual team.
|Employment Type||number of people|
Accounting Plus Team
|type of occupation||number of people|
|Product Owner and Domain Expert||1|
|Engineer (Infrastructure & Architect)||1|
Since we are a multi-skilled team, It is slightly not easy to sort by a role like above.
No one makes a specialty of specific roles. For example, a front-end engineer commits to a server-side or commits to as a product owner.Please refer to it as information to get an idea.
I will write the development language later.
The right half of the office is already filling up as more and more people joined. I do not know how long we can keep the refreshment area…haha. The office is designed to allow you to hold meetups, chat, and have lunch in the refreshment area, or focus on your work in the office area.
When you come to our office, we are welcome to show you inside.
Adjustable standing desks and an Okamura Sylphy (chair) are available so that everyone can work comfortably.
Although mentioned on the Money Forward Engineers’ Blog, we usually provide the latest models & maximum memory computers. Some people buy monitors, mechanical keyboards, and laptops stand to subsidize the development environment. For engineers, these are the tools of their profession, so we try to keep them as comfortable as possible.
”If you want an engineer to commit to a job, Why do not the company prepare an environment for them? ” What a cool thing said Shibuya PoE. He is also the manager of a product developed at the Kyoto branch office.
Now, Some people say that the latest development environment is a human right. But this system was established in 2015, and it was in our third or fourth year of business. I remember how happy I was that it seemed like an engineering company.
We often tell that ”We use most of the cloud services used in general web development, but We will write specifically too. I cannot cover everything here, so if you are interested, please ask me.
|purpose||Services available at the Kyoto Branch office||Remarks|
|Code repository||Github/Gitlab||Almost all of it is on Github, and only some of the account aggregation team code is in Gitlab. (Usually, you will not touch it.)|
|Communication||Slack/Chatwork/Discord||We also use Chatwork to communicate with customers and for historical reasons. We also started using discord to lower the barriers to voice communication when working remotely.|
|Task Management||JIRA||Depending on the team, our Kyoto development team uses JIRA. Our company, uses JIRA/Backlog/Asana/Trello/GitHub project.|
|CI||CircleCI||In our company, we use CircleCI for most of the integration tests. For mobile devices, we use services appropriate for the OS. Github Actions are available, but they are still not widely used internally.|
|CD||CircleCI + Slack Chat Bot||Our Kyoto team uses CircleCI and ChatBot for deployment. Some of them use Jenkins.|
|Infrastructure||AWS/ECS/Docker/Heroku||Our Kyoto team uses AWS for the most part. We are running it with ECS. We also use Heroku as a shared development environment and review environment.|
|Job Scheduler||–||We have not used the scheduler yet, but candidates are circleci and sidekiq cron. Our company mainly uses Jenkins.|
|Alert Management||Rollbar||We use Rollbar to track errors from the application.|
|Monitoring||Datadog||We use Datadog for the purpose of infrastructure monitoring and Application Performance Monitoring (APM).|
Project management may be a misnomer, but our Kyoto branch office uses Scrum development as its product management method.
Our team requires to reduce dependency on individual skills, expand our skill map, and become more multi-skilled. You will be involved in the process of conducting user reviews and determining the design process and business specifications. The standard of value is “Create something of value for the user.”Sometimes engineers and personal egos are kept in check to maximize the team’s ability to work.
It is a very cultural thing and may not be a good fit for some people at all. Please ask questions in a casual interview.
We are developing with GitHub flow, GitHub Guides, and we create a feature branch without forking the repository. It is an optimized result rather than a strong commitment to us. It has been adjusted in the process of using Scrum x JIRA x Github. If there is something wrong, we improve it through review meetings, etc..
Development team roles are generally only scrum roles and designers. The exception is the branch office manager and the supervisor on the organization chart, who is in Tokyo.
I think it mostly follows The Scrum Guide faithfully.
(I did not aim to be faithful, but just did not go off track as a result.)
I add some additional information about the product roadmap and design process that is not covered Scrum Guide.
- Product owners have ｍajor milestones that are 1~3 months away. These are determined comprehensively by engineers, sales, customer support, and after interviewing users. Those decisions are not final. The volume of specifications can change, and priorities can be rearrange until the sprint started.
- Depend on the scale of the story that we developed, it starts considering about 1-2 months before for functions that require a development period of about one month. We clarify information design, usability and business process while user hearings and creating rough designs.
- About a month in advance, we start to consider the system design and identify concerns. At this time, the designer will change the rough design into highly accurate design data. In the process, we work with the front-end engineer to determine the feasibility.
- Once we get into the sprint, it is just like the scrum guide.
We sometimes get questions like these,
“What does the first few days after you join the company start like?”
“Is there anything I need to learn beforehand?”
After joining the company, throughout the onboarding process,
- Deepen the understanding of the Kyoto branch office.
- Deepen the business side’s understanding of the development products.
- Deepen the understanding of the code and design guidelines of the development Products.
In order to do that, through onboarding MTGs, instructional videos, and mob programming. We will proceed to help you become more familiar with the team.
- Read recommended books
- Watch user story mapping videos that have been conducted in the past to understand the background
- Participate in service study sessions conducted by customer supports
Other than onboarding, there are not much specific in-house training or workshops that we have in place on a regular basis. For example, there is not the case too that You get an allowance when you get a qualification.
There is also the excuse that we are a start-up company…, but self-learning is the basics. We are building our own community and learning from each other. Depending on the suggestion we invite or participate in outside training.
As for job rotation, there is nothing compulsory about it. We have an internal job opening system called the “Challenge System.” So you can apply for it. If you are approved for your desired position, you can transfer to it. The Kyoto branch office conducts short-term internal transfer programs to teams with different technology stacks.
|The direction we’re aiming for|
|We are at a tipping point for the next phase of development, and we are working on selecting and implementing the right technology to make it happen.|
|back-end||Ruby on Rails,Golang||RoR is the mainstream for the web, but we’re using Golang for microservices if there is a better match for Golang. I do not think we will be able to fully replace Golang yet, but we will be using both Golang and RoR for a while in parallel.|
|database||AWS Aurora||Aurora is good!|
|infrastructure||The various AWS,ECS,Docker,
|Eventually, we may go to k8s. Right now we are working on future large scale data support and asynchronous processing, distributed processing, and microservices.|
We have some articles talking about our culture on the following blogs, recruiting websites, and so on. We hope you could take a look at them. If you need further information, we would be happy to provide you with it on interviews.
Although we mentioned earlier on the MoneyForward’s ROOM, we are trying to do something different that only we can do, as we did not want to make our branch the degraded version of the Tokyo headquarters. That was the reason why we upheld the slogan, “Give it a try!”.
We reckoned that as the small branch, we would be an advantage to try to do something new and help us succeed. We would be able to be the vanguard in our company that could show a big successful experience with small fail. We are excited to have such a role.
One year later since we launched our branch, we have gotten some positive feedback from the other offices of our company. They were like,
“Your Kyoto branch office members are always trying to do something new!”
“Seems like things are working fine!”
Even though we are trying to hire more people to expand our business, we are going to keep this beneficial environment where we can do something worth trying.
We are going to post other blogs regarding our future. You could wait and see.
OSS / Community Management
As you are free to do anything you want aside from some rules based on common sense, we hope you could try to do it with great passion.
The following posts are a little outdated, but almost the same as now in terms of the guiding principle.
マネーフォワードとオープンソース・ソフトウェア | Money Forward Engineers’ Blog
初めてOSS貢献体験と、それにより変化した考え方について | Money Forward Engineers’ Blog
You could also refer to the following post regarding community activities.
マネーフォワード京都開発拠点はコミュニティ活動も応援しています | MoneyForward’s ROOM
Since we would like to let you know about our company and help you imagine the scene you work in, we can offer you to have a casual interview.
Visiting us could help you confirm whether your career background and vision match our company, and during the interview, we hope you could decide if you wish to have a job interview with us afterward.
Steps in the Job Interview Process
- Casual interview
- Screening resume
- A couple of interviews (depends on the position you apply)
The step for the internship will be more simplified.
As we will arrange the interviewer who will work together if you join our company as possible, you could ask anything about not only Money Forward but also their working style.
We might ask you for a technical assignment such as programming if you apply for an engineer position. We will tell you the detailed theme at that time.
If you need to know the evaluation system, we will tell you the details during the job interview. The interviewer will be the branch member who works with you, and they will submit an evaluation report of you to the supervisor who makes the final decision.
In this article, we wrote some fundamental information regarding our company. It might be not enough, and you feel a bit skeptical or think it is quite biased. Since we have no desire to hide something inconvenient for us, during the interview, we would be happy to answer your questions about this article as well and it is even better to dig deeper into the topic. We hope we could make the time a good opportunity to get to know each other.
Kyoto branch office is still developing. We are going full steam ahead to take the lead of our company. We hope you could join us and “Give it a try!”
We are now looking for engineers to join us and our growth.
We are looking forward to your application.