TECH PLAY

KINTOテクノロゞヌズ

KINTOテクノロゞヌズ の技術ブログ

å…š975ä»¶

Introduction Hello, I am Kang from KINTO Technologies' development head office. I joined the company in January 2022 and have been working on the Website Restructuring Project since then. As KINTO increases its customer base, we are trying to expand various services along the way. The existing website had various issues with scalability when it came to incorporating new functions, so the website restructuring project was started in August of this year to solve these problems and make improvements. In this article, I will talk about the front-end (FE) team behind the Website Restructuring project, of which I am a part of. Website Restructuring FE Team's Goals To create an environment that facilitates new development quickly To change a complex environment into a simpler one To Redefine css and js sources that are intricately interconnected Transfer membership management functions to the member information platform Work with the Creative Group to implement designs effectively (including UI/UX improvement suggestions) The Restructuring FE team worked to accomplish the above goals on the project. During the development phase, we discussed items that could be improved at each sprint meeting and worked with other teams to improve the project and make it more efficient. We updated the code for greater reusability and intuitiveness, making maintenance easier. Using TypeScript prevented unexpected errors, made debugging easy, and improved work productivity. Technological Specs We Incorporated into the Project Our Concerns During the Project In addition to restructuring the specifications of the existing project, we also improved existing functions, added new ones, and refactored code, so it was difficult to measure work in progress amongst us. We struggled with ways to efficiently communicate specifications and development with collaborating teams (BE team, Design team, Infrastructure team, QA team, etc.) How to build a good development environment Creating code that is easy to maintain and reuse How to clear misunderstandings between team members regarding the project's specifications and technology and make code more integrated In order to solve these issues: As development went on, we recognized the importance of reviews, so we decided to create rules for them. We also made every effort to make time for them every day. We decided not to designate a specific person in charge for reviews, and created a system where anyone could freely review different Pull Requests. As a result, it became easier to keep track of each other's work and check on task specifications and components that other team members were working on. We made a Confluence page on changes to specifications with other teams and used it to communicate with them, and we managed to communicate efficiently using other tools that were available for us in the company. The Confluence page contained changes to specifications on the API and swagger provided by the BE Team. It allowed us to quickly understand API specifications and clearly check and address updates. We collaborated with the Creative Team using design tools such as Adobe XD and Figma. With them, we were able to gain a better understanding of the UI/UX to be implemented, allowing us to create components that are not only easier to understand, but also user-friendly and intuitive. We maintained an open communication as we collaborated, and if there were any unclear points or changes, we addressed them quickly through huddle meetings for quick resolution. As a result, we were able to minimize the number of bugs that could occur during the development process. In order to create a better development environment, we made various work guidelines for the team. We communicated using Outlook, Slack, Confluence, and other tools, and we were able to understand each other’s current work situation by having daily meetings. While working on tasks, we actively discussed each other's concerns and collaboratively addressed problems within the team At planning meetings, we checked each team member's progress and divided work for each sprint to prevent excessive workload. We also held retrospectives after each sprint and talked with each other about what we regretted, what was good, and what we wanted to improve in order to build a better development environment. We used the Atomic Design pattern to improve code reusability through continuous refactoring. We consolidated our definitions for Atom, Molecules, and Organisms in a Confluence workspace and shared awareness among team members through meetings. As we developed new features and UIs, we were also able to make independent and pure components. We also tested Storybook and React Jest to ensure the quality of the components. As a result, we were able to create components with higher reusability. We consolidated and shared the specifications for existing projects and new features that were going to be added to the Confluence workspace of the project. We also created reference materials on the FE development environment to enable new participants to adapt more quickly to the development environment. We set rules for code management, on topics such as review flow, branch operation, and how to write code, in order to create consistent code. We took turns to hold book discussion sessions to share knowledge about the technologies each of us were currently using. Summary Through this project, I was able to look back into what is important for a good project. I think each programmer's performance is also an important factor, but I think it is important to constantly communicate as a team. I felt that it was important to work together to create a better development environment within the team and try various things with a flexible way of thinking without fear of failure. In the Restructuring Team, we were able to develop an environment with a positive atmosphere where anyone could freely say and try anything. I think that through this environment and experience, we were able to grow both as a team and individually. Successfully releasing the project in August was made possible thanks to the effort of all the teams within the Restructuring Team, who persevered through the challenges for an extended period. Thank you for reading to the end.
Introduction I'm Kobayashi, a Product Manager (PdM) for internal systems at KINTO Technologies. After joining the company, I was assigned to the website restructuring project of KINTO ONE ( [KINTO] New Vehicle Subscription from Toyota | Full Service Leasing (kinto-jp.com) ), and was in charge of project manager, test promotion, and migration promotion. When I was assigned to the project, it was already a year into development, and we were at the stage of conducting integration tests and releases. However, we encountered a number of challenges afterwards. In this article, I would like to introduce some of the challenges I first encountered as a person in charge of test promotion. What is the Website Restructuring Project? It’s the name of an in-house development project to renew our KINTO ONE New Vehicle subscription e-commerce site, our main KINTO service in Japan. The goal was to improve development productivity through a 360 review of its architecture and data structures. There were more than 20 people involved from different products and services, and a total of about 50 window persons from the business and development sides. First, Grasp the Situation I joined KINTO Technologies in February 2022. The first step was to participate in the regular weekly meetings, gaining an understanding of the situation and taking a stance on implementing testing and transition promotion. The internal integration test was started in mid-January 2022, shortly before I joined the company. It was reported that the project was on track, with a slight delay of a few days. At this point, there was no incongruity in the schedule and the internal integration test was scheduled for completion at the end of May 2022. It was an ideal situation where developers created the internal integration test plan, and a test team of non-developers was responsible for writing and executing test cases. Initial Challenges The internal integration test was planned to be divided into 7 phases, but the progress began to slow down in late February, and the first report in March was delayed by a week. At that time, there were more than 10 bugs that affected the subsequent testing phase. It became apparent that it was a difficult situation where it would take about a week just to fix them. To confirm if we could proceed as planned, we interviewed the developers about the situation, and the following comments came up. Not aware of the completion conditions for unit test Not aware of start conditions for integration test The content of the internal integration test differed from expectations Although the document compiled by the developers describes what kind of tests to be conducted, there is certainly no description of the start and completion conditions. That kind of information is being sought in written policy and plans, but it cannot be found. Well, it made sense. Regarding the expected test content, the document compiled by the developers stated that the test would be conducted through a series of screen transitions, and the test items were described as follows. Is the screen display and transitions correct when the correct data is entered? Are records correctly created in the DB? Is it possible to recover data when the process is interrupted in the middle? From this content, it seems that story-based testing is assumed, aligning well with the test cases prepared by the test team. Consequently, we had to consider what caused the confusion. When you take a look at the documentation compiled by the developers, you will notice the following description about how to run the tests. Conduct testing on each browser (Same as screen test) For the database, directly check the DB values using SQL Stated that it is the same as the screen test conducted in the unit test. In this description, it appears that same tests as the unit test are conducted by integrating the front end and back end. I somehow understood the cause of the confusion. This challenge emphasizes the importance of planning without inconsistencies in understanding. Addressing Challenges The response to this challenge was to stop the internal integration test for 2 weeks, since forcing the test to proceed without stopping could risk further delays. This response had the following effects: Recovery of the Development Side is Possible Stopping the test allowed time to be used for correction and delayed recovery. It also increases quality because it allows us to focus on correction. Developers and the test team are freed from the stress of not progressing testing. Quality Control Policy and Quality Evaluation Criteria Can be Organized Stopping the test made it possible to organize the policy and criteria, not only for the internal integration test, but also for the entire test, enabling the dissemination of the following information. Define the quality to be ensured in each test phase as a quality control policy Define quality evaluation criteria in each test phase Although it was a postscript policy and criteria, the developers accepted it. This flexibility is one of our strengths. The internal integration test began to run successfully. What To Do After Various challenges will continue to arise thereafter. When schedule changes occurred due to other projects, we added quality enhancement tests and revised the plan to improve quality according to the situation, while conducting external integration tests, follow-up intake of other projects, and QA testing. As a result, we successfully released it in August 2023. It is said that, given its size, there are few post-release bugs. Nevertheless, when a bug occurs, it can significantly impact business operations. Therefore, I would like to continue exploring what I can do to improve quality. Conclusion Based on this experience, I believe the following 2 points are important. Plan without inconsistencies in understanding Establishment of quality control policy and quality evaluation criteria I thought that even if it is left to the developers, it's essential to have plan, policy, and criteria in place as a guidepost in case something happens. Also, what I realized while responding to the issue this time is that we never gave work instructions to the developers. In the website restructuring project, the policy was to leave everything from detailed design to internal integration test to the developers. This stands as a project policy that I wanted to uphold. I think I managed to do so. Well, these were some of the initial challenges I encountered in the website restructuring project.
Introduction My name is Rina ( @chimrindayo ) and I’m involved in development and operation of Mobility Market and operation of Tech Blog at KINTO Technologies. I mainly work as a frontend engineer using Next.js. I'm excited that Oden season is here🍢 and this year I’m looking forward to Tomato Oden! 🀀 At KINTO Technologies, we do our best to provide company-wide support for the output of acquired knowledge and skills , such as presenting at external events and posting on the Tech Blog. In this article, I will introduce what we do before a Tech Blog article is released, the process of publication, and our efforts to promote output at each step of the process! The Tech Blog Project First things first, I would like to introduce our team, the Tech Blog Project of KINTO Technologies. We aim to promote the input and output of employee knowledge, starting with the operation of the Tech Blog. There are 8 members in the team, all of us holding concurrent positions. While working as a product manager or an engineer on other projects, we are always in the pursuit of fun ways to create output! https://www.wantedly.com/companies/company_7864825/post_articles/510568 The initiatives I'm about to introduce are part of our ongoing efforts to promote the Tech Blog Project! The Tech Blog Publishing Flow Our publishing flow is divided into 3 main phases. 1. Writing The first phase of the flow. The writing phase involves researching information, deciding on a theme, developing a plot, and composing the article. 2. Review The second is the review phase of the written content. At KINTO Technologies, we conduct a 3-step review to check for typographical errors and ensure the content of articles. 3. Release The third one is the phase of releasing articles. We translate the articles and release them via GitHub. Now, let me show you what kind of support we provide in each phase and what we are actually working on! Until the Tech Blog Article is Published First of all, I'd like to introduce you to the efforts of the Tech Blog team during the writing phase. Consultation Desk During the writing period of the Advent Calendar, us Tech Blog team members take turns to be on call for an hour each day in a huddle meeting on a Slack channel, creating a system where writers could ask questions freely and clarify any doubts in their process. Up to 5-6 people would join the huddle per day, and was used as a place and time to solve minor issues in writing or ask how to convert into markdown format, etc. In fact, we received comments such as "I recommended the Consultation Desk to others!" It was more well received than I expected. ✹ Interviews with Writers For those who think "I can't come up with a story, but I want to write something!" or "I have a story, but I'm not sure how I can make it into a good article," the Tech Blog team is available for interviews with you. The interview takes about 30 minutes and focuses on what kind of work you've been doing since joining the company, as well as how you solve problems and issues in each task. Moreover, based on the results of the interview, we will even make a plot of the article within the interview time. Through the interviews, we aim to bring out the best in everyone who is worried about writing articles, by lowering the hurdle and by reminding them how valuable the work they do every day is. In addition, the content of the article is focused on their relevant work. We ensure to promote everyone’s output, not only creating what is commonly referred to as tech content but also the output of skills from support functions, such as management and office environment, ensuring that all team members contributing to the maximization of technology also bring valuable output. Review After the articles are written, we go through a 3-step review from different perspectives. The goal is to ensure the quality of the article through a 3-step review and to create an article easy to understand from a readers point of view. We also emphasize expressing gratitude to the writer when conducting reviews. Content Review First, we conduct a content review to ensure the accuracy of the article's content. This review is conducted by the writer’s team members or managers, mainly in the below terms. Most articles undergo reviews by 2 to 3 or more reviewers, who provide feedback on suggestions for more reader-friendly expressions and praising its good points as well! Review Perspectives  Verify the accuracy of the content as a Subject Matter Expert  Check for confidential information The Tech Blog Team Review Next is a review by the Tech Blog Team. We check from the following perspectives: While valuing the tone and voice of the writers, we suggest reader-friendly sentences and article structure, and check for orthotypographical errors such as proper use of prepositions. We also strive to see the article from the reader's point of view, suggesting to add more context in some cases. Review Perspectives  Ortotypographical errors  Copyright While I mostly review content as a Tech Blog team member, it's interesting to learn and discover new ideas as a reader, such as "JIRA can track the deployment history of GitHub!", and it makes me want to try out these review guidelines in my own projects as well. The CIO Review The final review is from our CIO, Mr. Kageyama . All articles are reviewed by him, and upon his approval, the article is ready for release. I personally believe that this review process helps writers release articles with confidence. Release After all reviews are completed, we make final adjustments for the release. Here, I'd like to introduce "Translation of Articles," where we place particular emphasis on! The Translation of Articles About 25% of employees at KINTO Technologies are non-Japanese (as of November 2023). Therefore, some of our members want to write in their native language or are not too confident writing in Japanese. To meet their needs, writers can choose whether to write in either language and all articles are translated from Japanese to English or vice versa. A Language Service Provider (LSP), an external subcontractor, help us in the delivery of the base translation and the final LQA work is performed internally. LQA stands for Linguistic Quality Assurance. A text composed entirely from an external point view may inevitably lack the accuracy and context to convey the the author's original intent. These adjustment in expressions or spelling errors are checked during the LQA step. (Reference: Proactive Engagement of Foreign Employees ) Conclusion In this article, I have introduced the initiatives undertaken to promote output before the release of the Tech Blog to the public. I would like to continue to make improvements that contribute to a more effective work environment for our colleagues! I also hope that the content we share in the KINTO Technologies Tech Blog is helpful to you. Finally, I would be delighted to exchange ideas with you regarding the operation of Tech Blog and about technical PR! Please feel free to contact me through X with any comments you may have 🕊 https://twitter.com/KintoTech_Dev
Introduction Hello, I'm Risako from the Project Promotion Group of KINTO Technologies. I usually engage in various projects in the role of a Project Manager (PjM). In my previous article, I talked about my projects and what PjMs do at KINTO Technologies: How to Start a Cross-Divisional Project and Introduction to PjM Work . Feel free to take a look if you are interested. To provide you with a brief introduction to PjMs at KINTO Technologies: each product has basically its own development group or team, and is led by the Product Manager in each team. For projects that cross product lines, such as launching new services, or for projects that are large in scale even if they are not cross-divisional, a PjM will be assigned on the role of initiating and overseeing the project. ![](/assets/blog/authors/risako.n/1.png =500x) What we call projects include those related to KINTO's existing services such as KINTO ONE (vehicle subscriptions) or KINTO FACTORY, KINTO Technologies' owned media and services, and even new businesses launches under the KINTO brand, along with an array of diverse projects that need to be taken care of. New projects emerge daily and many may even start without clearly defined goals. Every time I embark on new projects, I feel the importance of the ability to move projects forward amid uncertainties, and well as the importance to advance myself too! In this article, I will share my thoughts on the theme of "the ability to move forward" and how that connects to the ability to be a “self-reliant person" ( Jiso-ryoku ). ![](/assets/blog/authors/risako.n/2.png =500x) What is Self-Reliance? Sorry that the intro became a bit lengthy. Now, what is self-reliance? We hear that word a lot in recent years (maybe especially in the job market). I think people have a general sense of what the word means, but it's not entirely clear to everyone. I looked up the definition and found that the term "self-reliance" ( Jiso-ryoku ) does not seem to have a precise definition, but Kotobank provides one under "self-relying." Running on its own power, not relying on the strength of others In other words, it refers to the ability to run (to progress or operate) through one's own capabilities. In the context of work, it can be expressed as "the ability to move forward with a task (and complete it under any circumstances) by one's own thoughts and actions." The part in the parentheses would be perfect if we could do that much! That would be ideal. ![](/assets/blog/authors/risako.n/3.png =250x) Self-reliance = running on your own power! So What Kind of Person Is a Self-Reliant One? I'd like to take a step further and ask, "what defines a self-reliant person?" Someone capable of advancing tasks even when goals are not clear. Someone who can move forward in the absence of defined methods. Someone who can create output from their own ideas, rather than simply imitating others. On the other hand, a person who is not self-reliant is the following (the opposite of people who can move forward by themselves!): Someone who can't work without instructions. Someone who assumes they can't do what they don't know about. Someone who only does what they are told to do. Notice that I wrote "move forward" or "advancing" for "a self-reliant person." But don’t get me wrong, I think that just self-propelling oneself left and right is not good either. "Someone who can properly move forward" is the really self-reliant one! ![](/assets/blog/authors/risako.n/4.png =250x) Don't run wild! Stay in control! How Can I Become a Self-Reliant Person? If there's a sure-fire way to become self-reliant, I’d like to learn about it. In the meantime, let me share what I try to keep in mind when I work on different projects. Value Dialogue When two people work together for the first time, it is natural that there will be gaps between them in many areas. Assumptions are easy to make, so we need to be careful to not presume things or make premature judgments. Instead, share your thoughts with each other. Relationships are formed by sharing ideas. Create Small, Output Small, and Value Feedback Under circumstances where there’s a lot of uncertainty, it’s normal to be afraid of creating deliverables or being assertive when communicating with the team. Start with small outputs to slowly bridge the gap with those around you. Don't view the opinions you receive as ineffectiveness on your part, but rather as feedback (do not take it negatively, but positively). Ensure that The Definition of Done is aligned Since the Definition of Done may vary from person to person, make sure the understanding is the same among all stakeholders. For example, imagine there’s a person assigned to review a team's operation and finishes it by themselves, adding just a manual change and closing it without consultation. But someone else in the team with different expectations, may have actually wanted this person to come back to the team to share what they did and ask for feedback (what is considered normal for you may not be the same for others). Do Not Worry Too Much about Unnecessary Problems Worry about them when the time is right (don’t stress over things that aren’t worth your energy now). It often happens that, even after reflecting very thoroughly, situations evolve differently when the need arises (in which case all that hard thinking was for nothing in the end). What is Value? Be aware of the purpose of the work, for whom and for what the end product is for, and the potential outcomes it will bring (as there is a bad tendency that the means become the purpose of it). When a change request arises during development, developers tends to think that a change mid-process is difficult. However, by considering the value and purpose of the project, they can be more easily convinced to embrace changes in a more positive manner, leading to a more satisfying outcome. Be aware of the meaning and the value you bring (as just doing what you are told doesn’t bring anything.) Be Aware of What You Can Do It's easy to see what you can't do, but be aware of what you can do (your value). For example, think about what has changed (or what you have accomplished) since you started. Identify new capabilities and understand what you can do now that you couldn't before. Learn From Others Be Aware of What You Like about the People around You! Being aware of what you like in others can sometimes bring you a little closer to what you consider good. For example, Mr. XX doesn't talk much, but the materials he makes are very easy to understand! What about them are easy to understand? If you look at it from that perspective, you may find tips on how to improve yourself. This list could go on and on, and I realized it’s somewhat becoming like a textbook... But to some extent, by trying to break down to fundamentals it might end up feeling a bit like a textbook... (For those of you reading, I hope there is at least 1 on the list that caught your eye and mind.) Self-Reliance and The Agile Mindset Some of you might have noticed a similarity to the Agile mindset in many of the things I've talked about today In order to form self-organizing teams rooted in Agile principles, I interpret that each person should be able to work autonomously and be self-sufficient. The foundation of this abilities can be found in Agile and Scrum, and I think these concepts were instilled in me through my previous experiences. The best architectures, requirements, and designs emerge from self-organizing teams. At KINTO Technologies, some groups adopt Scrum depending on the product, while others have a more Waterfall-type approach. However, regardless of approach, I think the overall mindset of KINTO Technologies is Agile (creating value in small increments and making iterative improvements with emphasis on dialogue and cooperation). If you are interested in working in an Agile mindset environment, we would be happy to have you join KINTO Technologies. Also, of course, if you want to demonstrate your self-reliance, you can do so to your heart's content at KINTO Technologies! We look forward to welcoming you. Conclusion Unfortunately, I barely gave any examples to give you an idea of what KINTO Technologies is really like, but I have primarily talked about conceptual issues. However, I would be delighted if this article could: provide examples for those who wonder what self-reliance is and be an opportunity for you to think about your own self-reliance.
はじめに こんにちは、11月入瀟の鈎朚です 本蚘事では2023幎11月入瀟のみなさたに、入瀟盎埌の感想をお䌺いし、たずめおみたした。 KINTOテクノロゞヌズに興味のある方、そしお、今回参加䞋さったメンバヌぞの振り返りずしお有益なコンテンツになればいいなず思いたす 癜井 自己玹介 8月入瀟のプラットフォヌムGの癜井です。AWSのむンフラ蚭蚈・構築などを行なっおいたす。入瀟゚ントリが面癜そうだなヌ、ず思い参加させおいただいおいたす 所属チヌムはどんな䜓制ですか Osaka Tech Labに2名。神保町オフィスに5名の7名䜓制ずなっおいたす。 KINTOテクノロゞヌズ(以䞋KTC)ぞ入瀟したずきの第䞀印象ギャップはありたしたか フルリモヌト環境から基本出瀟(週1~2は圚宅)の環境に倉わったので、少し戞惑う郚分はありたした。䞀方で、今では出瀟した方が話し合いがしやすいなず思ったので、プラスの印象です。 みなさん技術力が匷いなずいう印象でした。私が元々むンフラをずっず觊っおいるずいうわけではなかったのかも知れたせんが、最初は話を理解するのにも粟䞀杯でした。 珟堎の雰囲気はどんな感じですか ずおもアットホヌムです基本出瀟しおいるのでTeamのメンバヌに盞談するこずがすぐできお助かっおいたす。たた、gatherを導入しおおり、圚宅勀務時の時にも気軜に盞談したい盞手のずころに行っお聞くこずができたす。気軜に盞談できるようになっおいる理由ずしおは、アットホヌムな感じず、仕事倖のこずも良い感じに話し合える仲であるずころかず思いたす。 ブログを曞くこずになっおどう思いたしたか 䜕事も挑戊だなヌず思いたした。KINTO TechBlogには良い蚘事がたくさんあるず思っおいるので、その足がかりずしおはずおも良いこずだず思っおいたす。実は私はすでに「 CloudFront FunctionsのDeployのプロセスず運甚カむれン 」ずいうタむトルでアドベントカレンダヌで執筆しおいるので、是非芋おみおください 11月入瀟の同期から他郚眲のメンバヌぞ質問 䌚瀟内で同じ趣味を持぀人たちが集たるようなクラブや同奜䌚はありたすかもしあれば、癜井さんはどんな郚に参加されおいたすか たくさんありたす Tech Blog でも運動系のクラブが玹介されおいたした 私が参加しおいるのだず、玹介されおいたせんがランニングサヌクル(RUN TO)、e-sports郚です AKD 自己玹介 コヌポレヌトITG Operation Processチヌム、同期の䞭で唯䞀のOsaka Tech Lab所属AKDです。コヌポレヌト゚ンゞニアをやっおいたす。いわゆる情シスです。 所属チヌムはどんな䜓制ですか 圓瀟のPCや各SaaSに関するオン/オフボヌディングや各プロセスの可芖化や改善を4名䜓制で担っおいたす。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか ゚ンゞニアの䌚瀟だし、そんなにコミュニケヌションはないのかも ず思っおたしたが定期的に勉匷䌚や郚長䌚議事録を読む䌚などコミュニケヌションの機䌚は倚々あり、そこがいいギャップでした。 珟堎の雰囲気はどんな感じですか 皆さん、いい意味で遠慮するこずなく、お互いを尊重した関係性を築いおいるように感じおいたす。 コヌポレヌトITGは宀町・神保町・名叀屋・倧阪にメンバヌが圚籍しおおり、たたチヌムも5぀あっお倧所垯ではありたすがコミュニケヌション甚の垞蚭Zoomがあり、そこで拠点やチヌムを超えた䌚話が行われおいおよい空気が流れおいるように思いたす。 ブログを曞くこずになっおどう思いたしたか 入瀟゚ントリっおみたこずあるけど、遞ばれた人が曞くのかず思いきや党員曞くのかず思いたした。あずシンプルに䞭途だけど、同期感があっお奜きです。 11月入瀟の同期から他郚眲のメンバヌぞ質問 1ヶ月経っお感じた、Osaka Tech Labの雰囲気を教えおください。 包容力が高い拠点で出匵されおくる方、新入瀟員の方、誰でもwelcomeな雰囲気がありたす。 SSU 自己玹介 KINTO ONE開発GのSSUです。ディレクタヌずしお、トペタの販売店に察するDX支揎開発のディレクションを担圓しおいたす。 所属チヌムはどんな䜓制ですか オりンドメディアむンキュベヌトGのDX Planningチヌムに所属しおいたす。トペタ販売店の䞭でのボトルネックをIT の力で解消し、お客様ぞ幅広いモビリティの遞択肢を届けるずいうこずが チヌムミッションです。プロデュヌサヌ名、ディレクタヌ名、デザむナヌ名の蚈名で業務にあたっおいたす。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 自動車業界ずいうむメヌゞよりも若い人が倚く、自由床も高いずいうのが第䞀印象です。 珟堎の雰囲気はどんな感じですか ただ入瀟ヶ月ですが、DX Planningチヌムは個性豊かでみなさんそれぞれ違うなずいう感じです。䞀緒に案件を進める䞭で、MTGや個別にコミュニケヌションをずるず、この違いによっお自分が気づけないこずに気づけるのでチヌムの匷みだなず思いたす。 ブログを曞くこずになっおどう思いたしたか 人生で初めおのブログが、ずうずうきたか、ず思いたした。 11月入瀟の同期から他郚眲のメンバヌぞ質問 KTCのSlackワヌクスペヌスで䞀番奜きな絵文字を教えおください。 キノコがすごい顔で走っおいる生き急いでる絵文字が奜きです。 kiki 自己玹介 人事採甚Gのkikiです。採甚業務ずテックブログ運甚PJTにも参加しおいたす。 所属チヌムはどんな䜓制ですか 採甚チヌムは珟圚2023幎12月時点私含め6名です。個性豊かなメンバヌがいお、党員が党員の業務に関心を持ちながら切磋琢磚しあいながら日々採甚業務に携わっおいたす。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 思った以䞊にフラットでオヌプンだず思いたした。人事ずいう立堎もあるかもしれたせんが、誰が蚀ったからずいう理由で議論が進むこずは少なく、劥圓性があるかやチヌムの動き方ずしお「今の最善は䜕か」ずいう芳点で仕事を進めるこずが倚いように感じたす。 入瀟2週目でOsaka Tech Labの情報共有䌚に参加させお頂く等、すぐに仲間のように迎えおくれお枩かい人が倚いな、ずいう印象です 珟堎の雰囲気はどんな感じですか 話しやすい空間を䜜るために、敢えお雑談を挟んだりするこずも倚く組織や人の状況に垞にアンテナを匵れる環境です。入瀟したばかりだからずいっお、最初の2週間䜍はかなり遠慮しおいたのですが、採甚業務は完党に未経隓ずいう蚳ではないため、気づいたこずや入瀟したばかりの新参者だからこそ、「ここどうなっおるの」ずいう疑問に぀いおは郜床郜床議論しやすい空気感で、その点は有難いです。 ブログを曞くこずになっおどう思いたしたか シンプルに「嬉しい」が感想です。テックブログ運甚PJTのメンバヌも入瀟初月から関わらせおもらっおいたす。倖郚発信は積極的に行っおきおいないので、問題発蚀をしおいないか、気にしおしたうけれど文章を曞くこずは奜きなので良い実隓堎ずいう認識をもっおいたす。 11月入瀟の同期から他郚眲のメンバヌぞ質問 ストレス発散方法を教えおください。 普段そこたで聎かないロックを聎いお発散したす。Franz Ferdinand、倜の本気ダンスが特に良いです。たた、自宅で倉なダンスをするず発散できるず䜕かの蚘事で読んでからは、人目に぀かないようなら自宅等では螊るようにしおいたす。めっちゃおススメです Y.Suzuki 自己玹介 プロゞェクト掚進Gの鈎朚です。 KINTO FACTORYのフロント゚ンド゚ンゞニアを担圓しおいたす。 所属チヌムはどんな䜓制ですか 業務委蚗の方や郚眲を兌務されおいる方はいらっしゃるもののマネゞメントから実装たでKTCのメンバヌで構成されたチヌムです。 その䞭でフロント゚ンドは12月にも新たなメンバヌが増え6名䜓制になっおいたす。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 入瀟前は平均幎霢も高く事業䌚瀟になるのでもっずお堅い環境かず思っおいたした。入瀟しおみるずフラットなコミュニケヌションも豊富で、新しい取り組みや面癜いっお思えるこずには寛倧でした。 自分よりも幎霢や圹職の高い方々は経隓を掻かしながらも遊び心を持ち探究心が高く、カゞュアルさず倧人の雰囲気をうたく兌ね備えおいる方が倚い環境だなず思いたした。 前職は圚宅䞭心だったため出瀟ず圚宅のハむブリットの勀務は通勀も蟛いし少し嫌かもず思っおいたしたが、「環境に銎染みやすいし、ハむブリットすごくいい」っお気持ちです😳 珟堎の雰囲気はどんな感じですか ずにかく最初はわからないこずが倚いのでお互いに話しやすい人間関係を䜜らなければず思い入瀟しお週間経たないくらいの頃デスクで「ねるねるねるね」を食べおみたした。みなさんず雑談が生たれ埮笑たしく接しおくださり、最近はチヌムのメンバヌず仕事の話をしながら みかん を䞀緒に食べおいたす。 「実ぱンゞニア業務以倖にもこんなこずもできるんです」ず1on1や食事の堎で話したずころ「そういうのできる人あたりいないからうたく掻かせないか盞談しおみる」ず入瀟週間の頃にお話いただき、珟圚フロント゚ンド業務にずどたらずプロダクトをよくしおいくための業務拡倧を暡玢䞭です 出瀟でタむミングが合えばみんなでランチも行き、業務にずどたらずコミュニケヌションずる機䌚も倚めです。 ブログを曞くこずになっおどう思いたしたか ゚ンゞニアのブログは技術を䞭心に扱うのですでに存圚しおいる内容だったり、たくさんの怜蚌が必芁だったり、そもそもお題を決めるの含め曞くのはハヌドルが高い印象でした。今回は玔粋に入瀟゚ントリだったのでKTCに興味を持っおいる方に良い情報を䌝えられたらなず思いたした。 11月入瀟の同期から他郚眲のメンバヌぞ質問 仕事しおいお䞀番楜しいず思う瞬間を教えおください。 簡単なこずでも盞談を受ける時です。ただ入瀟間もないのですが頌っおくれる郚分や自分にもでできるこずもあるんだなず思うず嬉しいです。できるこずの幅を増やせるように他の方の尊敬できるずころもっず吞収しおいこうっお思っおいたす。 T.F 自己玹介 プロゞェクト掚進G のT.Fです。 KINTO ONE䞭叀車のバック゚ンド担圓しおいたす。 所属チヌムはどんな䜓制ですか フロント゚ンド・バック゚ンド・BFF(backend for frontend)をそれぞれ瀟員ず協力䌚瀟の方で担圓しおいたす。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 入瀟しおすぐに有絊取埗できるのに驚きたした。匕越しを考えおいるので助かりたす。 珟堎の雰囲気はどんな感じですか 芪切な方が倚いです。質問や提案がしやすい雰囲気です。 ブログを曞くこずになっおどう思いたしたか 入瀟前の読者だった立堎から執筆偎になり、䞍思議な感芚です。 11月入瀟の同期から他郚眲のメンバヌぞ質問 入瀟ヶ月での業務内容を教えおください。 ただ入瀟したばかりなので簡単なこずしかしおいないです。 小さめの開発やコヌドレビュヌ、来幎から本栌始動する予定の案件の芋積もりなどをしたした。 ドメむン駆動蚭蚈やクリヌンアヌキテクチャなどの蚭蚈を取り入れようず氎面䞋で動いおたす。 A.N 自己玹介 共通サヌビス開発GのA.Nです。 KINTO IDの基盀ずなる䌚員プラットフォヌムのPdMを担圓しおいたす。 所属チヌムはどんな䜓制ですか 名䜓制です。協力䌚瀟さん含む KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 入瀟初日から颚邪をひいおしたい、぀いに3日目にダりンしおしたったのですが、初月から傷病䌑暇を支絊されおいお助かりたした。 珟堎の雰囲気はどんな感じですか マネヌゞャヌの方針もあるず思いたすが、各メンバヌの自由を尊重しおいる雰囲気です。皆さん゚キスパヌトなので、自埋的に行動されおいたすね。 ブログを曞くこずになっおどう思いたしたか 䌚瀟のパブリックリレヌションズに少なからず圱響があるず思うず恐れ倚いですね。 11月入瀟の同期から他郚眲のメンバヌぞ質問 KTCには趣味や業務倖掻動のSlackチャンネルがありたすが、気になったのありたすか ちょうど今日教えおいただいたのですが、毎朝出瀟したらただ「グッドモヌニング」ずコメントするだけずいうチャンネルです。なぜこのようなチャンネルを䜜ったのか謎ですが、参加されおいる皆さんが楜しそうなので癒されたす。 F.T 自己玹介 モバむルアプリ開発GのF.Tです。Android版のUnlimitedアプリを担圓しおいたす。 所属チヌムはどんな䜓制ですか Androidチヌムは私含め5名䜓制で開発しおいたす。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 䞭途入瀟にもかかわらず、オリ゚ンテヌションがしっかりあったこずに驚きたした。 オフィス内でのチヌムの境目が物理的にも心理的にも少ないのがすごいず感じたした。 Android開発者での勉匷䌚があったり、担圓アプリ内でOS関係なくコミュニケヌションがあったり 珟堎の雰囲気はどんな感じですか 黙々ず䜜業できる時間が倚いです。ただ、困った際はすぐに質問できる優しい雰囲気がありたす。 ブログを曞くこずになっおどう思いたしたか 䞍安でいっぱいでした。 11月入瀟の同期から他郚眲のメンバヌぞ質問 入瀟しおヶ月、この䌚瀟に入っお良かったず思うこずは ゚ンゞニアずしおレベルの高い環境で仕事をできおいるのが玠盎に嬉しいです。 倚趣味な方が倚く、業務倖での孊びも倚いです。 W.Song 自己玹介 デヌタ分析Gのデヌタ゚ンゞニアリングチヌムのW.Songです。䞻にデヌタの連携を担圓しおいたす。 所属チヌムはどんな䜓制ですか チヌムリヌダヌずメンバヌ合わせお4人です。 KTCぞ入瀟したずきの第䞀印象ギャップはありたしたか 䌚瀟に本棚があるのはすごいですね。人気な本がたくさんあり、皆さんの勉匷意欲が高いず感じおいたす。 実際はギャップよりも、自分の思い蟌みかもしれたせん。入瀟前にOfficeの写真を芋たこずがあり、特にゞャンクションの写真がずおもおしゃれに芋えたんです。フリヌアドレスかず思い蟌んでいたした。 珟堎の雰囲気はどんな感じですか ゆっくり話せるかなず思っおいたす。皆忙しい䞭、䞁寧な説明をしおもらえたした。本圓にありがたいです。久しぶりにたくさんコミュニケヌションを取れる環境だず感じたす。 ブログを曞くこずになっおどう思いたしたか 本圓に玠晎らしいアりトプット方法だず思いたす。自分のアピヌルだけでなく、同じ悩みや考えを持぀人たちず぀ながり、仲間も䜜れるず感じたす。 11月入瀟の同期から他郚眲のメンバヌぞ質問 KTCに入瀟したこずで倉わったこずはありたすか 車に興味が深たっおいたす。 週回出瀟しおいるので、前より痩せたはずです。 絵文字😇 の印象すごく倉わりたした。 以前は「嬉しい、やったヌ、うたくいった」ずいう意味だず思っおよく䜿っおいたしたが、「もうダメ、オワタ」ず知っお驚きたした。 さいごに 入瀟盎埌の慌ただしい䞭みなさた感想を教えおくださりありがずうございたした KINTOテクノロゞヌズは新しいメンバヌも日々増えおいたす。 今埌もいろんな郚眲に配属されたメンバヌの入瀟゚ントリが増えおいくず思いたすので楜しみにしおいただけたら幞いです。 そしお、KINTOテクノロゞヌズでは、さたざたな郚眲・職皮で䞀緒に働ける仲間を募集しおいたす 詳しくは こちら から
Hello! I am Tsun-Tsun, a member of the Labor Affairs and General Affairs team in the Human Resources group. We are working to improve office spaces while listening to the voices of our employees. Today, I will talk about what we improved in 2023. Nihonbashi Muromachi Office Placing Miniature Toyota Cars at the Reception Area KINTO Technologies mainly develops mobility services under the KINTO brand, including a vehicle subscription service. One day, an employee said, "We're a vehicle company, but there aren't a lot of vehicle-related elements around the office." I thought, "In that case, let's put some miniature cars." 🔻16F reception area These are Toyota models. They made the reception area lively, but sorry! They're not for sale. By the way, do you know what models they are? Upper row, from left: GR Supra, Sienta, Voxy, GR Yaris, Harrier, Land Cruiser Lower row, from left: Prius, Crown, bZ4X, Corolla Sport, RAV4 🔻7F reception area From the rear left: Harrier, Yaris, Corolla Cross, Passo, and Alphard From the rear left: Corolla, Aqua, GR Yaris, C-HR, Yaris, Roomy Reviewing Work Styles After COVID-19 Was Reclassified as a Class 5 Disease When COVID-19 was reclassified as a Class 5 disease in Japan, the company relaxed some of its restrictions on going to the office, and we used a hybrid work style that involved both working at home and working at the office. Because the restrictions were relaxed, more employees started going back to the offices. We got requests from employees like “I want private booths” and “we need bigger meeting rooms." So, we added more meeting rooms and made two areas for casual meetings. For the meeting rooms, we furnished two unused rooms with smoked glass and air conditioners and added a reservation system for them. ![](/assets/blog/authors/tsujimoto/6.jpg =500x) ![](/assets/blog/authors/tsujimoto/7.jpg =500x) These two rooms can be used now anytime. We've introduced two types of informal meeting spaces. The first is private booths. We use KOKUYO's Fore series. ![](/assets/blog/authors/tsujimoto/8.png =500x) ![](/assets/blog/authors/tsujimoto/9.png =500x) The area with the booths has windows, so to keep the booths from getting too hot in the summer, we chose a type that wasn't surrounded on all four sides. The second type of meeting area has desks. We use KOKUYO's Join series. ![](/assets/blog/authors/tsujimoto/10.png =500x) Bottom picture ![](/assets/blog/authors/tsujimoto/11.png =500x) The chairs have a round bottom and move like a balance ball. Jinbocho Office Greening Plan The Muromachi Office has plants in resting areas, the entrance, and other areas, but the Jimbocho Office has barely any greenery. Some employees commented that they were sad without any plants, so the Jimbocho Office started a greening plan to increase the number of houseplants. Below is a picture of the greening plan for the office and conference room. ![](/assets/blog/authors/tsujimoto/12.png =500x) ![](/assets/blog/authors/tsujimoto/13.png =500x) Continuing to Improve Office Environments Next year, we will work on more improvements to our office. We have plans to renovate the break room as part of our initiative to improve communication internally. When they are complete, we will announce it here on the Tech Blog too. I go around the office every day, and I can sense the company growing. The Office Changes with the Times I feel that more and more companies are adopting hybrid work styles after the COVID-19 pandemic. I predict that there will be a demand for offices that support hybrid work styles and to crate spaces that make people want to be there. In particular, since our company has employees of various ages and nationalities, we want to create an office environment that accommodates all kinds of people with different values. Lastly, since it is hard to find information on how other companies' facilities are, I wrote this with the hope that it may serve as a helpful reference for others. The KINTO Technologies Advent Calendar is still going on, so I hope you look forward to what’s in store tomorrow!
Introduction Hello! I am Jeong, and I am a member of KINTO Technologies' New Vehicle Subscription Development Group. Our daily work goes beyond just writing code. As technology evolves, it is important to adapt to new trends such as microservices and serverless architecture while maintaining a healthy system. After reading this article, you will understand the importance of observability and how Grafana is used to monitor systems and optimize performance. About Observability Observability refers to the ability to monitor and understand the condition and performance of a system. This concept is essential for quickly identifying and resolving problems within the system. Especially when it comes to microservices and cloud-based architecture, as there are composed of many dynamic parts working together, the entire system must be continuously monitored. There are three main elements of observability: Log: Detailed data that records system activity and errors Metrics: Quantitative data that describes the performance and conditions of a system Trace: Data that tracks the path of an E2E[^1] request or transaction [^1]: E2E (End-to-End): A system or process that works as a whole from start to finish About Grafana Grafana is a powerful open source observability tool. It is used by many to visualize, monitor, and analyze data. Grafana is best characterized by its flexibility and customizable dashboards. Users can integrate metrics and logs from different data sources and present them in a way that is easy to understand. Grafana's key benefits include: Supports various data sources: Can be integrated with Prometheus, Elasticsearch, InfluxDB, and more Data analyses and alerts: Instantly detects system anomalies and sends alert notifications Dashboard: The dashboard can be customized to meet the user's needs Grafana in Action: Focus on Clarity The New Car Subscription Development Group uses Grafana’s dashboard to make data easier to understand for people from different technical backgrounds. In this section, I will give an example of PromQL query and talk about its features that are used in the dashboard panel. Monitoring API Requests ![Use the Stat panel to display the number of requests](/assets/blog/authors/jeong/grafana_promql1.png =500x) Number of contracts #the value is a sample The most basic query tracks the number of HTTP requests for URI patterns. This query shows the increase or decrease in the number of requests over a time range and is useful for trend analyses. sum( increase( http_server_requests_seconds_count{ uri=~”/foo”, method=“POST”, status=“200” }[$__range] ) ) or vector(0) sum(...): An aggregating function that sums the results. Here, we calculate the total number of requests that meet the criteria. increase(...): Calculates the amount by which a metric over a time range. You can find the increase or decrease in the number of requests. vector(0): Returns 0 if there is no result. This exists so that a value is displayed on the dashboard even if there is not data. Measuring the Number of Applications per Hour ![Indicate the hourly applications measurement using the Time Series panel](/assets/blog/authors/jeong/grafana_promql2.png =500x) Number of applications by time zone (sample) #sleeps at night Use PromQL which monitors API requests to measure the number of requests per hour and find changes in demand per time zone. This is used as reference data for dynamically allocating resources for different time zones and doing other applications. Identifying the Time-Consuming Requests ![Use the Table panel to show the request that takes the most time](/assets/blog/authors/jeong/grafana_promql3.png =500x) There are also those that take 4 seconds or longer When doing performance analyses, identifying requests that take longer is critical to finding bottlenecks in the system. The following PromQL query can help. Calculating the Average Response Time Calculate the average response time for each request. Determine the total response time and the number of requests, then divide them. sum by(application, uri, outcome, method) ( increase(http_server_requests_seconds_sum[$__range]) ) / sum by(application, uri, outcome, method) ( increase(http_server_requests_seconds_count[$__range]) ) sum by(...): Groups results based on the labels (here, they are application, uri, outcome, and method) and calculates the sum of each group. increase(...): Calculates the amount by which a metric over a time range ($__range). Here we calculate the total response time and the number of requests. Aggregating the Number of Requests Aggregate the number of requests. sum by(application, uri, outcome, method) ( increase(http_server_requests_seconds_count[$__range]) ) Identifying the Requests with the Longest Response Times Identify the ten requests with the longest response times in the time range. topk( 10, max( max_over_time(http_server_requests_seconds_max[$__range]) ) by(application, uri, outcome, method) ) topk(10, ...): Returns the ten elements with the highest values. Here, we list the ten requests with the longest response times. max(...): Calculates the largest value for each group. max_over_time(...): Calculates the largest value for each metric within a time range and groups the results by label. This allows you to extract the requests with the longest response times. Client-Side Error Monitoring ![Use the Table Panel to show client-side errors](/assets/blog/authors/jeong/grafana_promql4.png =500x) Authentication token expired Monitor for errors occurring on the client side and analyze the cause. label_replace( sum by (application, method, uri, exception, status) ( increase(http_server_requests_seconds_count{ status=~”5..|4..”, exception!~”None|FooException” }[$__range] ) ) > 0, ‘uri’, ‘$1/*$2’, ‘uri’, ‘(.*)\\/\\{.+\\}(.*)’ label_replace(...): Changes and adds labels. '> 0': Returns the result if the sum is greater than 0. In other words, it displays data only if there is an error. Advantages of Grafana and Use Cases Learn more about how New Car Subscription Development Group used Grafana to improve their system monitoring. Comprehensive system visualization: With AWS Managed Grafana, we can visualize data from AWS services (RDS, SQS, Lambda, CloudFront, etc.) and application metrics at the same time. This means we can see the performance and bottlenecks of the entire system at a glance, greatly accelerating our approach to problem solving. Efficient data analysis and troubleshooting: By integrating different data sources, you can quickly get the information you need when a problem arises. This allows you to quickly identify the root cause of a problem and handle it efficiently. API Monitoring: Through Grafana, we discovered that certain exceptions are strangely common. As a result of our investigation, we found that an unexpected API was being called on the frontend. This issue was communicated to the frontend team and fixed, making the API more efficient and significantly improving the overall stability and performance of the system. Conclusion Observability is more than just looking at a system. It is the key to maintaining the conditions of a system and ensuring that problems can be dealt with quickly when they arise. With Grafana, we can easily understand complex data and effectively manage the performance of entire systems. Grafana caters to a variety of needs from monitoring API requests to identifying errors. This is worth cooperating with all team members, not just SREs and developers. After all, increasing the transparency and reliability of a system is essential to providing better service and increasing customer satisfaction. I hope that our experience will provide you with a new perspective in your work and help you monitor your systems more efficiently and optimize performance.
瀟内限定のLT倧䌚を開催したした こんにちは、23幎10月にKTCに入瀟したRyommです。普段は my route by KINTO ずいうアプリのiOS開発を行なっおいたす。 さお、今回は匊瀟の宀町オフィスにお瀟内限定のLT倧䌚を開催したので、みなさたにもお裟分けのレポヌトです 開催たでの経緯 盎属のボスずの1on1にお「最近人前で喋っおないからラフなLT倧䌚ずかやりたいっすね〜」ずいう話になり、他のオフィスでは情報共有䌚ずいう名目でやっおるらしいずいう情報を埗たした。 そこで、 (11月21日)timesでやりたいな〜ず蚀っおみたずころトントン拍子で話が進み... timesの様子 (11月27日)有志で集たっおキックオフMTGが開催され... 実行委員チャンネルの様子 (11月29日)党瀟員が参加する䌚議での告知ず宀町オフィスぞの呚知がされ... ![宀町オフィスチャンネルの様子](/assets/blog/authors/ryomm/2023-12-28-LightningTalks/03.png =400x) 宀町オフィスチャンネルの様子 かわいいチラシ䜜りたした (12月14日)タむムテヌブルを発衚し... ![きゃわいいタむムテヌブル](/assets/blog/authors/ryomm/2023-12-28-LightningTalks/05.png =300x) かわいいタむムテヌブルも䜜りたした (12月21日)LT倧䌚を実斜したした 䌚堎の様子 ちょうどやりたいず蚀い出した時から1ヶ月ずいう圧倒的なスピヌドでLT倧䌚の開催が実珟したした テックブログチヌムをはじめ倚くの方が積極的に参加しおくれたおかげで、ずおも楜しい䌚になったのではず思いたす。 さらにコヌポレヌトITグルヌプの方々にも協力しおいただき、かなり本栌的なZoom配信を行うこずもできたした 発衚者も集たるかな〜ず䞍安でしたが、12名の方に゚ントリヌしおいただきたした。䞭には名叀屋からいらっしゃる方も 最初は本圓にノリず勢いだけで動き出したので、みんなで協力しお圢にできたLT倧䌚だったず思いたす。 Lightning Talks 発衚しおくれたLTを、瀟内限定ずいうこずで色々ずゆるめにしおいたので党おを公開できるわけではないですが、䞀郚ダむゞェストで玹介したす。 GitHub Flow+Release PleaseによるTag Based Release ⛩さんによるLTです。 GitHub FlowGit Flowずの比范含む、Tag Based Release、Release Pleaseそれぞれに぀いおの解説ず、これらを統合するず自動でCHANGELOGを生成しおくれたり、バヌゞョン管理を簡玠化できお䟿利だずいうLTでした 私ずしおは、別バヌゞョンの開発が同時に走っおいお、ある機胜はただ公開したくないずいうお悩みにも応えおくれおいお、Release Please䜿っおみたいな〜ず思いたした ⛩さんのLT モヌタヌスポヌツ最高峰「F1 (Formula 1)」のマニアックな楜しみ方 mt_takaoさんによるLTです。 F1の面癜さを垃教するLTでした。自動車を扱う䌚瀟ならではのLTですね F1の䞖界では1秒差は非垞な倧きな差であり、1000分の1秒差をどうやっお埋めおいくか、それがF1の面癜さだず力説されおいたした。 最埌には2024幎4月5日金〜7日日に䞉重県の鈎鹿サヌキットで開催される「2024 FIA F1䞖界遞手暩シリヌズ MSC CRUISES 日本グランプリレヌスF1日本グランプリ」の宣䌝で締められおいたした笑 私もぜひ1床芋おみたいず思うLTでした mt_takaoさんのLT 1月開発線成本郚䌚に向けお ありずめさんによるLTです。 ご自身のキャリアずそこで感じたこず、KTCぞの想いず共に「むキむキず働く」こずができるように考えた斜策のLTでした。 1月には瀟内ではじめおの倧芏暡むベントを開催されるずいうこずで、私も楜しみにしおいたすヌ KTCのこず発信しおみたせんか HOKAさんによるLTです。 ご自身の広報ずしおの経隓ず、KTCで組織人事、採甚たで関われる人事ずしおKTCの認知床をアップするための取り組み、そしおKTCに぀いお発信しようずいうLTでした。 䞀番簡単な発信はXのリポストだずいうこずで、私も早速リポストしたした😎✚ HOKAさんのLT Sketchy Investment​ 長谷川さんによるLTです。 英語を勉匷するこずは超ハむリタヌンな投資ずいうこずで、長谷川さん流の勉匷術ず英語孊習の奚励LTでした 最埌は䌚瀟に英語孊習補助導入ぞの怜蚎の芁求で締め括られ、䌚堎は沞き立っおおりたした笑 私も英語...勉匷しちゃうか...ずなるくらい゚ネルギヌに溢れたLTでした 長谷川さんのLT LT登壇のハヌドルを限りなく䞋げるLTアゞャむル䌚の告知 きんちゃんによるLTです。 LTは「自分が奜き」ずか「自分が玠晎らしいず思う」こずを䌝える堎だず定矩した䞊で、「あなたの属性×あなたの奜き・埗意」を䌝えるず、オリゞナリティのある楜しいLTができるよず、参加した方がLTに出たくなるLTでした このLTのおかげか、開催埌アンケヌトでも次回はLTに登壇したいず答えおくださった方が玄70%ほどおり、「1番いいなず思ったLT」投祚においおも最倚祚を獲埗したアツいLTでした。 きんちゃんのLT テックブログ執筆が幎埌のキャリアに䞎える圱響 なかにしさんによるLTです。 テックブログの執筆を続けおいくこずで、スキルも向䞊しおいき、遂には本も出版できるずいうLTでした。 実物を持っおこられおいたしたが、1087pの分厚い本で、テックブログを曞き続けるずこんなに分厚い本を出版できるのかヌず、驚きたした。 https://www.amazon.co.jp/dp/486354104X/ 面倒な予定調敎はBookingsにやらせよう 技術ず信頌の技信さんによるLTです。 Microsoft Bookingsを䜿うず、日皋調敎をはじめ、予玄サむト䜜成やTeams/Outlook連携、アンケヌト、リマむンドメヌル等を簡単に行うこずができるよ、ずいうLTでした 実際に今幎の健康蚺断で䜿甚され、参加者の方も「あれか〜」ずいうような反応をしおいる方も䜕人かいたした。私は入瀟前でしたが... Exchangeを基にしたサヌビスで、䞍安定さや想定倖の事態が起こるこずもある...ず話しおくださった実䜓隓も面癜かったです。 私も飲み䌚の幹事になった時に䜿っおみようかな〜ず思いたした 早速䜿っおいる 5分で「モヌタヌスポヌツ」を芋に行きたくさせるLT シナモロヌルさんによるLTです。 囜内で芳戊するおすすめのモヌタヌスポヌツを7぀ピックアップし、ぜひサヌキットに足を運んで芳戊しおみおほしい、ずいうLTでした サヌキットの芳戊でぱンゞン音、臚堎感・迫力、コヌス実況、䌚堎での展瀺物、クルマでの移動などサヌキットならではの良さがあり、䞀床でいいから䜓感しおみおほしいず力説されおいたした。 そしお、サヌキットたでの移動はクルマで行くのが断然おすすめやっぱクルマいいな→クルマのサブスクKINTO→KINTOかんたん申し蟌みアプリ䜿っおねず、担圓サヌビスの宣䌝たで抜かりないシナモンさんでした笑 KINTOがスポンサヌをしおいるチヌムのナニフォヌムを着お発衚されおおり、奜きが䌝わる良いLTでした シナモロヌルさんのLT ク゜アプリ䜜っお煙突詰めた♪ あわおんがうの Ryomm・クロヌスによるLTです。 個人開発をするにあたっおアドベントカレンダヌ駆動を提案し、自身の䜓隓ずしお「ク゜アプリハッカ゜ン」「ク゜アプリアドベントカレンダヌ」に参加した話をしたLTです。 このLTをした埌、3日でク゜アプリアドベントカレンダヌに挑んでくれた方もいお、嬉しかったです RyommのLT LTを受けおアドカレ曞いおくれたした https://speakerdeck.com/ktcryomm/kusoapurizuo-tuteyan-tu-jie-meta Corporate IT: A new journey! フロヌさんによるLTです。 ご自身のキャリアずコヌポレヌトITグルヌプでの仕事、将来の展望などのLTでした KTCの埓業員がHappyに働けるようにする仕事だ、ず話すフロヌさんが眩しかったです...笑 さいごに 瀟内限定ずするこずでカゞュアルに人前で話す堎を䜜るこずができ、瀟員同士の亀流の堎ずもするこずができお楜しいむベントになったのではないかず思いたす。 宀町情報共有䌚の旗揚げむベントずしお倧成功だったはず 個人的な工倫点ずしおは、KTCは割ずSlackが静かな方なのでテキストコミュニケヌションを掻発に行なっおもらおうず、実況chを䜜成しおオンラむンでもオフラむンでも䞀緒に盛り䞊がれるようにしたこずです。 同時に蚘録ずしお残すこずができるので埌から芋返しおもLTに察する反応などを確認できたすし、今回䞍参加だった方にも次は参加したいず思っおもらえるような盛り䞊がりを芖芚化するこずができたのではず思いたす。 アンケヌト等もSlackワヌクフロヌを通しおスプレッドシヌト等に収集するこずで、極力Slackから離脱せずに楜しむこずができるようにしたした。 反省点ずしおは、配信で䜿甚したZoomりェビナヌのチャットは無効化したのですが、リアクションは有効にしたたただったので、そちらのみで芋おいる局が䞀定数いらしゃったこずでしょうか。次回以降に掻かしおいきたいです。 今回はホリデヌシヌズンだったので、せっかくだからクリスマスも楜しんでいきたしょうずクリスマスコスやシャンメリヌなどを甚意したしたが、意倖な発芋ずしおむベントごずに合わせるず軜食が決めやすいずいうものがありたした。 参加者からも有志からも第二回を開催しおほしいずいう声をいただいたので、次回も䜕かむベントごずず絡めたいなず思っおいたす。 LT倧䌚埌に忘幎䌚があったのですが、他オフィスの方も配信で芋おくださっおいたようで「芋たよ〜」ず声をかけおいただいお嬉しかったです。発衚者の方も「発衚芋たよ〜」ず感想をもらっお嬉しかったず蚀っおおり、開催しおよかった〜ず感じたした。 今埌も、こういうカゞュアルな発衚の堎を蚭けおいくこずで、瀟内のいろいろな人の話が聞けたらいいな〜ず思いたす。
瀟内限定のLT倧䌚を開催したした こんにちは、23幎10月にKTCに入瀟したRyommです。普段は my route by KINTO ずいうアプリのiOS開発を行なっおいたす。 さお、今回は匊瀟の宀町オフィスにお瀟内限定のLT倧䌚を開催したので、みなさたにもお裟分けのレポヌトです 開催たでの経緯 盎属のボスずの1on1にお「最近人前で喋っおないからラフなLT倧䌚ずかやりたいっすね〜」ずいう話になり、他のオフィスでは情報共有䌚ずいう名目でやっおるらしいずいう情報を埗たした。 そこで、 (11月21日)timesでやりたいな〜ず蚀っおみたずころトントン拍子で話が進み... timesの様子 (11月27日)有志で集たっおキックオフMTGが開催され... 実行委員チャンネルの様子 (11月29日)党瀟員が参加する䌚議での告知ず宀町オフィスぞの呚知がされ... ![宀町オフィスチャンネルの様子](/assets/blog/authors/ryomm/2023-12-28-LightningTalks/03.png =400x) 宀町オフィスチャンネルの様子 かわいいチラシ䜜りたした (12月14日)タむムテヌブルを発衚し... ![きゃわいいタむムテヌブル](/assets/blog/authors/ryomm/2023-12-28-LightningTalks/05.png =300x) かわいいタむムテヌブルも䜜りたした (12月21日)LT倧䌚を実斜したした 䌚堎の様子 ちょうどやりたいず蚀い出した時から1ヶ月ずいう圧倒的なスピヌドでLT倧䌚の開催が実珟したした テックブログチヌムをはじめ倚くの方が積極的に参加しおくれたおかげで、ずおも楜しい䌚になったのではず思いたす。 さらにコヌポレヌトITグルヌプの方々にも協力しおいただき、かなり本栌的なZoom配信を行うこずもできたした 発衚者も集たるかな〜ず䞍安でしたが、12名の方に゚ントリヌしおいただきたした。䞭には名叀屋からいらっしゃる方も 最初は本圓にノリず勢いだけで動き出したので、みんなで協力しお圢にできたLT倧䌚だったず思いたす。 Lightning Talks 発衚しおくれたLTを、瀟内限定ずいうこずで色々ずゆるめにしおいたので党おを公開できるわけではないですが、䞀郚ダむゞェストで玹介したす。 GitHub Flow+Release PleaseによるTag Based Release ⛩さんによるLTです。 GitHub FlowGit Flowずの比范含む、Tag Based Release、Release Pleaseそれぞれに぀いおの解説ず、これらを統合するず自動でCHANGELOGを生成しおくれたり、バヌゞョン管理を簡玠化できお䟿利だずいうLTでした 私ずしおは、別バヌゞョンの開発が同時に走っおいお、ある機胜はただ公開したくないずいうお悩みにも応えおくれおいお、Release Please䜿っおみたいな〜ず思いたした ⛩さんのLT モヌタヌスポヌツ最高峰「F1 (Formula 1)」のマニアックな楜しみ方 mt_takaoさんによるLTです。 F1の面癜さを垃教するLTでした。自動車を扱う䌚瀟ならではのLTですね F1の䞖界では1秒差は非垞な倧きな差であり、1000分の1秒差をどうやっお埋めおいくか、それがF1の面癜さだず力説されおいたした。 最埌には2024幎4月5日金〜7日日に䞉重県の鈎鹿サヌキットで開催される「2024 FIA F1䞖界遞手暩シリヌズ MSC CRUISES 日本グランプリレヌスF1日本グランプリ」の宣䌝で締められおいたした笑 私もぜひ1床芋おみたいず思うLTでした mt_takaoさんのLT 1月開発線成本郚䌚に向けお ありずめさんによるLTです。 ご自身のキャリアずそこで感じたこず、KTCぞの想いず共に「むキむキず働く」こずができるように考えた斜策のLTでした。 1月には瀟内ではじめおの倧芏暡むベントを開催されるずいうこずで、私も楜しみにしおいたすヌ KTCのこず発信しおみたせんか HOKAさんによるLTです。 ご自身の広報ずしおの経隓ず、KTCで組織人事、採甚たで関われる人事ずしおKTCの認知床をアップするための取り組み、そしおKTCに぀いお発信しようずいうLTでした。 䞀番簡単な発信はXのリポストだずいうこずで、私も早速リポストしたした😎✚ HOKAさんのLT Sketchy Investment​ 長谷川さんによるLTです。 英語を勉匷するこずは超ハむリタヌンな投資ずいうこずで、長谷川さん流の勉匷術ず英語孊習の奚励LTでした 最埌は䌚瀟に英語孊習補助導入ぞの怜蚎の芁求で締め括られ、䌚堎は沞き立っおおりたした笑 私も英語...勉匷しちゃうか...ずなるくらい゚ネルギヌに溢れたLTでした 長谷川さんのLT LT登壇のハヌドルを限りなく䞋げるLTアゞャむル䌚の告知 きんちゃんによるLTです。 LTは「自分が奜き」ずか「自分が玠晎らしいず思う」こずを䌝える堎だず定矩した䞊で、「あなたの属性×あなたの奜き・埗意」を䌝えるず、オリゞナリティのある楜しいLTができるよず、参加した方がLTに出たくなるLTでした このLTのおかげか、開催埌アンケヌトでも次回はLTに登壇したいず答えおくださった方が玄70%ほどおり、「1番いいなず思ったLT」投祚においおも最倚祚を獲埗したアツいLTでした。 きんちゃんのLT テックブログ執筆が幎埌のキャリアに䞎える圱響 なかにしさんによるLTです。 テックブログの執筆を続けおいくこずで、スキルも向䞊しおいき、遂には本も出版できるずいうLTでした。 実物を持っおこられおいたしたが、1087pの分厚い本で、テックブログを曞き続けるずこんなに分厚い本を出版できるのかヌず、驚きたした。 https://www.amazon.co.jp/dp/486354104X/ 面倒な予定調敎はBookingsにやらせよう 技術ず信頌の技信さんによるLTです。 Microsoft Bookingsを䜿うず、日皋調敎をはじめ、予玄サむト䜜成やTeams/Outlook連携、アンケヌト、リマむンドメヌル等を簡単に行うこずができるよ、ずいうLTでした 実際に今幎の健康蚺断で䜿甚され、参加者の方も「あれか〜」ずいうような反応をしおいる方も䜕人かいたした。私は入瀟前でしたが... Exchangeを基にしたサヌビスで、䞍安定さや想定倖の事態が起こるこずもある...ず話しおくださった実䜓隓も面癜かったです。 私も飲み䌚の幹事になった時に䜿っおみようかな〜ず思いたした 早速䜿っおいる 5分で「モヌタヌスポヌツ」を芋に行きたくさせるLT シナモロヌルさんによるLTです。 囜内で芳戊するおすすめのモヌタヌスポヌツを7぀ピックアップし、ぜひサヌキットに足を運んで芳戊しおみおほしい、ずいうLTでした サヌキットの芳戊でぱンゞン音、臚堎感・迫力、コヌス実況、䌚堎での展瀺物、クルマでの移動などサヌキットならではの良さがあり、䞀床でいいから䜓感しおみおほしいず力説されおいたした。 そしお、サヌキットたでの移動はクルマで行くのが断然おすすめやっぱクルマいいな→クルマのサブスクKINTO→KINTOかんたん申し蟌みアプリ䜿っおねず、担圓サヌビスの宣䌝たで抜かりないシナモンさんでした笑 KINTOがスポンサヌをしおいるチヌムのナニフォヌムを着お発衚されおおり、奜きが䌝わる良いLTでした シナモロヌルさんのLT ク゜アプリ䜜っお煙突詰めた♪ あわおんがうの Ryomm・クロヌスによるLTです。 個人開発をするにあたっおアドベントカレンダヌ駆動を提案し、自身の䜓隓ずしお「ク゜アプリハッカ゜ン」「ク゜アプリアドベントカレンダヌ」に参加した話をしたLTです。 このLTをした埌、3日でク゜アプリアドベントカレンダヌに挑んでくれた方もいお、嬉しかったです RyommのLT LTを受けおアドカレ曞いおくれたした https://speakerdeck.com/ktcryomm/kusoapurizuo-tuteyan-tu-jie-meta Corporate IT: A new journey! フロヌさんによるLTです。 ご自身のキャリアずコヌポレヌトITグルヌプでの仕事、将来の展望などのLTでした KTCの埓業員がHappyに働けるようにする仕事だ、ず話すフロヌさんが眩しかったです...笑 さいごに 瀟内限定ずするこずでカゞュアルに人前で話す堎を䜜るこずができ、瀟員同士の亀流の堎ずもするこずができお楜しいむベントになったのではないかず思いたす。 宀町情報共有䌚の旗揚げむベントずしお倧成功だったはず 個人的な工倫点ずしおは、KTCは割ずSlackが静かな方なのでテキストコミュニケヌションを掻発に行なっおもらおうず、実況chを䜜成しおオンラむンでもオフラむンでも䞀緒に盛り䞊がれるようにしたこずです。 同時に蚘録ずしお残すこずができるので埌から芋返しおもLTに察する反応などを確認できたすし、今回䞍参加だった方にも次は参加したいず思っおもらえるような盛り䞊がりを芖芚化するこずができたのではず思いたす。 アンケヌト等もSlackワヌクフロヌを通しおスプレッドシヌト等に収集するこずで、極力Slackから離脱せずに楜しむこずができるようにしたした。 反省点ずしおは、配信で䜿甚したZoomりェビナヌのチャットは無効化したのですが、リアクションは有効にしたたただったので、そちらのみで芋おいる局が䞀定数いらしゃったこずでしょうか。次回以降に掻かしおいきたいです。 今回はホリデヌシヌズンだったので、せっかくだからクリスマスも楜しんでいきたしょうずクリスマスコスやシャンメリヌなどを甚意したしたが、意倖な発芋ずしおむベントごずに合わせるず軜食が決めやすいずいうものがありたした。 参加者からも有志からも第二回を開催しおほしいずいう声をいただいたので、次回も䜕かむベントごずず絡めたいなず思っおいたす。 LT倧䌚埌に忘幎䌚があったのですが、他オフィスの方も配信で芋おくださっおいたようで「芋たよ〜」ず声をかけおいただいお嬉しかったです。発衚者の方も「発衚芋たよ〜」ず感想をもらっお嬉しかったず蚀っおおり、開催しおよかった〜ず感じたした。 今埌も、こういうカゞュアルな発衚の堎を蚭けおいくこずで、瀟内のいろいろな人の話が聞けたらいいな〜ず思いたす。
Thinking About Explanations as a Product Manager — Book review: Product Management in Practice 2nd Edition Introduction I am Kamei from Woven Payment Solution Development G. My team's job is basically to develop a payment system for Woven City. I was transferred to Woven by Toyota, another company in the Toyota Group, and usually work there. Woven by Toyota has several businesses, one of which is the development of Woven City. In this article, I will also follow up on the promise I made to write a book review when I entered the drawing for the product manager release gift. https://www.attractor.co.jp/news/product-management-in-practice/ How I Became a PdM Actually, I am not a Product Manager (PdM). Even now I am not officially one. I just self-proclaimed myself as a PdM. I was originally a software engineer and worked mainly on backend. I was also a utility player and wrote frontend code when asked. I also have experience with code payment systems, which led me to my current job. After that, I also worked as an engineering manager (EM), so I can work in areas like evaluation, organization, and recruitment. However, when I was moved to this project, I was told that I was supposed to be sort of like a PdM, but with more technical knowledge. In retrospect, I should have asked more specifically what I was supposed to do, but probably nobody really knew. While not really understanding my role, I picked out technologies, built the first prototype, recruited more members, and worked in a hybrid role between a lead engineer and an Engineering Manager. I got a lot of questions from other teams and spent a lot of time preparing materials and giving explanations at in-person meetings (called menchaku meetings in Toyota terminology). Even so, I kept doing operational work like the rest of the staff, but as the team size grew, I started being the bottleneck for task completion. Therefore, I talked with the team, explained the payment functions that I think we needed implementation given my knowledge, and we decided that it would be more productive if I assign rather than take care of tasks myself, splitting the roles amongst us. I think from that point onwards is when I was able to start considering myself as a PdM. That was about a year ago. As for the decision to stop operational work, I made a similar decision back when I was an Engineering Manager, so I didn’t have any complaints about it. Probably the day will come where I'll need to work on operational tasks again; but not for now. How I Got Interested in This Book It's good that I realized that I was a PdM, but I still wasn't sure what exactly a PdM does. There were times when I did whatever job I had in front of me, but no one explained what were the results of what I did. I read a lot of articles and books about product managers, but they didn’t really resonate with me, and I was left feeling unsatisfied. I didn't read the first edition of this book, so you could say I didn't look hard enough. Then I read some comments on this book. They were all very positive, and its subtitle "A Practical, Tactical Guide for Your First Day and Every Day After" resonated with me, but they didn’t really make me want to buy it right away. This is an excuse, but I was skeptical because the comments I saw were all from actual product managers, and I wondered if the book could be understood by people who couldn't relate. Then I found out about the gift project. I was so curious, that I just had to enter. The Book Review First of all, this book is really good. It is useful for people who just became a PdM like me or wants to become a PdM, as well as organizations that want to start introducing the role of a Product Manager. It can also help you find out if there's an unofficial PdM in your organization and help you start using product management in your development process. In that sense, you could say that you can use this book from day 0. What is Product Management It's great that this book acknowledges that the role of PdM varies from organization to organization, and that the roles required of a PdM are just as diverse as organizations in the world or the problems they face. However, if that is the case, the role of PdM does not exist. This book rejects clear definitions of PdM and product management. Instead, it tries to outline it with explanations . An example of a good explanation is "Manager of the value exchange between the business and the customer" from another book, " Product Management: Avoiding Build Traps and Giving Value to Customers ". PdMs and organizations that need a PdM must make explanations for the organization based on this and other explanations . This isn't written in the book, but I think whether the explanations match each other’s concept of one is what’s important when recruiting or assigning a PdM. Of course, this is also true for other positions. However, the PdM role is more abstract than others, and I think explanations are also more important. No matter what background a PdM has, they won't be successful in the organization if there are mismatches in the explanations . CORE Skills The author presents these four skills as required for the abstract role of a PdM. Communicate Organize Research Execute Using the first letter of these four skills, we call these the CORE skills . Most of the book describes how to use them. However, that doesn't mean it has chapters named something like, "The Communication Chapter." This book consists of explanations of common development topics and how to use the CORE skills. The chapters focus on different themes, such as communication and organization building, while combining the CORE skills. Was My Problem Solved? Regardless of my job title, I feel that about half of what I do can be considered being a PdM. That alone made reading this book worth it. If you are thinking about adding another PdM to your team other than yourself, you may be able to better restructure your organization if you make a series of definitions on what you want them to do. You might want to try this. If you are determined to continue being a PdM or want to become one, you should make your own PdM explanations that incorporate the CORE skills. Personally, I'm still not ready to do that. Conclusion Once again, this book is a good guide for thinking about the role of a PdM. I think that whether you're a PdM or not, this book lets you think about how you should use a PdM or product management in your organization and how to make definitions . I would like to thank the author, Matt LeMay, the translator, O'Reilly, and also Attractor Inc. for giving me this book as a gift.
2023幎振り返り2024幎展望 KINTOテクノロゞヌズの景山です 2023幎の振り返りず2024幎の展望に぀いお曞こうず思いたす。 今幎はコロナ犍があけお、䞖の䞭があっずいう間に正垞化したように感じおいたす。 ずいっおもコロナが5類移行したのは5月8日ですから、半幎ちょっずしかたっおないんですよね。 なにかすごく昔のできごずのように感じるのは、5類移行のあず、いろいろなこずが目たぐるしく動いたからかな、ず思っおいたす。 今幎も新サヌビスや新機胜をかず倚くリリヌスしおきたしたが、むンパクトの倧きなものは KINTO ONEのサむト の再構築でした。 再構築䞭にも既存サむトぞの改修をギリギリたで止めない、ずいうチャレンゞだったので、2幎以䞊かかりたしたが、みなの頑匵りで8月にリリヌスできたした。 組織面では、カルチャヌワヌキングスタンスを制定したした。 経営が考えるずいうよりも、メンバヌが自䞻的に議論を重ねお少しず぀圢にしおくれたものです。 これたでは内補カルチャヌずいうあいたいな衚珟で、我々のワヌキングスタむルを衚しおいたした。 これでは内補開発を経隓したメンバヌしか具䜓的な働き方が分かりたせん。 それがより具䜓的に衚珟されたこのカルチャヌワヌキングスタンスはずおも重芁だず思っおいたす。 システム、カルチャヌの䞡面でベヌスが䜜れた䞀幎でした。 このベヌスのうえ、来幎はさらに進化したKTCをめざしたす。 そのために、䞋蚘の3぀を高めおいきたす。 技術力 開発生産性 リリヌススピヌド 技術力に関しおは、今幎もテックブログや勉匷䌚を匷化しおきたした。 テックブログを曞くこずで、あらためお自分のスキルの棚卞しができたり、気になっおいた新しい技術やプロセスに取り組んだり、そういったきっかけになっおいたす。 来幎はより倚くの瀟員を巻き蟌んでいこうず思いたす。 勉匷䌚も瀟内で開催するのもだけでなく、AWS Summitのような倖郚のむベントでプレれンする機䌚も増えおきたした。 たた、自分たちで倖郚の方も参加できるむベントの開催も始めたした。 瀟内だけでなく瀟倖も巻き蟌んだ技術情報の盞互亀流により、自分たちの技術力やナレッゞも匷化されたす。 こうした機䌚も増やしおいきたす。 開発生産性に関しおは、゚ンゞニアの生産性を芖える化するツヌルの導入をはじめたした。 埐々に効果が出おいたすが、このツヌルだけでなくさたざたな芳点から゚ンゞニアの生産性を高めおいきたいず思いたす。 生成AIの利甚にもチャレンゞしはじめおいたすが、実甚に向けお組織的な取り組みを増やしおいきたす。 ゚ンゞニアにフォヌカスするだけでなく、芁求仕様定矩からリリヌスたでの開発プロセス党䜓を芋盎しお、䞀般的ではないKTCにもっずもフィットする開発プロセスを党瀟的に展開できたらず考えおいたす。 これはビゞネス郚門も巻き蟌んで進めるこずで、内補開発ならではのやり方で生産性向䞊に぀ながるものず期埅しおいたす。 リリヌススピヌドに関しおは、ずくにネむティブアプリに぀いお機胜の郚品化を進めるこずで、リリヌススピヌドを高められるず考えおいたす。 たた、開発する機胜を必芁最小限にするこずでプロダクトを早期にリリヌスし、顧客のフィヌドバックをもずに改善をクむックにするずいうやり方ができたす。 ビゞネス郚門からの芁求を自分たちで咀嚌しお、必芁最小限の機胜を刀断するずずもに、゚ンゞニア芖点で最小工数になるような仕様倉曎を提案する。 そしおバッファヌはもたず最短のリリヌス時期を提瀺し、芁件が増えるならそれに合わせおリリヌス時期も遅らせる。 こうしたやり方はビゞネス郚門ずの䞀䜓感醞成に倧いに圹立ちたすし、内補開発郚隊でしかできないやり方です。 こうした開発スタむルを党瀟に浞透させおいけたらず考えおいたす。 今幎も忙しかったですが、来幎もさらに忙しくなりそうです。 䞊蚘のような取り組みで、プロゞェクトを効率的に進められるようになれば、同じ人数でもより倚くのプロゞェクトを遂行できるこずになりたす。 技術力、開発生産性、リリヌススピヌドを高めるこずでより倚くのプロゞェクトを遂行できる䜓制を構築しおいきたす。 来幎もKTCをどうぞよろしくお願いいたしたす。 KINTOテクノロゞヌズ 取締圹副瀟長 景山 均
A Look Back To This Year And Into 2024 It's Kageyama, from KINTO Technologies! I will look back into 2023 and look ahead to 2024. This year, it feels like the world quickly returned to normal after the end of the pandemic. However, it's been only a little over six months since the reclassification of COVID-19 to Class 5 on May 8th. It might feel like a long time ago because a lot of things happened rapidly after that. We've released many new services and features this year, but the most impactful one was the reconstruction of the KINTO ONE website . It was a critical challenge not to stop making improvements to the existing site during the reconstruction, so it took over two years, but we have released it in August finally. Thanks to everyone's hard work. On the organizational side, we established a Culture & Working Stance. It was not something management thought of, but rather something that members discussed voluntarily and shaped little by little. Previously, our working style was ambiguously expressed as "in-house culture," which only the members who had experienced in-house development understood. I believe that this Culture & Working Stance, which more concretely represents our working style, is very important. It has been a year where we have been able to build a strong foundation in both system and culture. Building on this foundation, we aim to further evolve KTC next year. To achieve this, we will focus on enhancing the following three aspects: Technical proficiency Development productivity Release speed With regard to technical skills, we have continued to strengthen our Tech Blog and study sessions this year. Writing the Tech Blog has given team members the opportunity to reassess their skills, work on new technologies and processes that they had been curious about, and more. In the coming year, my plan is to engage a greater number of employees in this initiative. This year we also had more opportunities to present at external events such as AWS Summit, as well as to hold study groups internally. We have also started hosting our own events that were open to outside participants. Through mutual exchange of technical information involving talent, not only within the company but also outside, our own technical skills and knowledge will be strengthened. We will also seek to increase these opportunities. With regard to development productivity, we have begun to introduce a tool to visualize engineer productivity. The tool is gradually proving effective, but we would like to increase the productivity of engineers from various perspectives, not just with this tool. We are beginning to take on the challenge of using generative AI, and we will increase our organizational efforts towards its practical application. In addition to focusing on engineers, we would like to review the entire development process from requirement specification definition to release, and develop a company-wide development process that best fits KTC, not relying on common patterns. By involving the business division in this process, we expect to improve productivity in a way that only in-house development can. In terms of release speed, I believe that the speed of releases can be increased, especially for native apps, by promoting the componentization of functions. Also, by minimizing the number of functions to be developed, products can be released early and improvements can be made quickly based on customer feedback. We can digest the requirements from the business department, determine the minimum necessary functions, and propose changes to the specifications to minimize man-hours from an engineer's point of view. If the requirements increase, the release date can be delayed accordingly. This approach is very useful in fostering a sense of unity with the business department and is something that only an in-house development team can do. I hope to spread this style of development throughout the company. This year has been busy, and next year will be even busier. If we can make our projects more efficient through the above efforts, we will be able to carry out more projects with the same number of people. We will build a system that enables us to carry out more projects by improving our technical capabilities, development productivity, and release speed. We look forward to your continued support for KTC in the coming year. KINTO Technologies Corporation Executive Vice President Hitoshi Kageyama
はじめに I joined KTC in November 2020, developed the front end and API of KINTO Web, and am currently a developer on the mobile Android app team.👋🏟 "I was asked to write my thoughts and experiences on being a woman in IT, but honestly, I do not think there is any gender difference, nor it should be! Since this article is one of five articles in a series exploring diversity, delving into various work styles and perspectives at KINTO Technologies, I would like to share my thoughts and personal progress regarding leadership at the development team I am responsible for at KTC. Here's a quick summary about me : 😊 career history: 💡 Fun fact: Started working in high school with a personal business for 10 years. 🌱 I came to Japan to study game programming and have 15 years of development experience. 💌 Previous Job: Mobile app Engineer, Software(SmartTV) Engineer, WEB Engineer (Full stack),Digital signage startup. 📫 Joined KINTO in 2020. What is a good leader? When I first became a team leader from a developer, the first question I asked myself was “What makes a good leader?” The senior who gave me the role of leader for the first time explained the difference between a leader and a boss, and it was then that I thought I should become a leader like this. A leader is a person who leverages the power of members to work together, create outstanding results, and share them. In order to do that, I think I lead the team from the front and act as a support guide behind the scenes to push the team to move in a good direction. The development team's ultimate mission is to utilize the resources we have to create the services we need as quickly and completely as possible. Additionally, the goal of the development team is not only to develop well, but also to create maximum value through development. In the end, this shows up as a good result of the team, and the idea is that this is a good team and the leader who supports this is a good leader. The importance of ‘teamwork’ So, how can we create a good team that produces results? What does a good team need most? How can you get your team members to focus on one goal? I think the driving force behind this is teamwork. Below, I will share what I did with my team members to encourage teamwork. All team members become leaders We share the current team goals through the “Team Goal Task Content Sharing Meeting” and allow people to choose their own tasks. In general, leadership is only necessary for team leaders and group leaders, and unless you actually hold a position in an organization, you don't see many people who think that leadership is their role. I think a leader should help team members have a sense of leadership in their own work and a sense of “leadership” responsibility for the tasks they are assigned to. And I think this plays an important role in the team. I believe that when there is autonomy, one is motivated and plays a role in raising an individual's capabilities to the highest level. Work is created by development culture I believe that the reason a development team does a good job is not because of the “work,” but because of the team’s “culture.” For example, creating work processes, creating documents, and clearly communicating specifications These are the basics of “work.” I think that successful development teams believe that the team's "culture" makes things work well. How do team members communicate with each other? How do we come together? What do I do after the decision is made? Do you express opposing opinions, do you support them, do you criticize them behind your back? Etc. This is the development culture and this is the team culture Recognizing and embracing diversity Team members each have their own strengths. I think the most important thing is to make the most of its strengths and create maximum value. So what is our team doing? Daily Scrum Leader: Everyone on the team becomes a daily leader Our team holds a meeting every morning at 11am where team members gather together to briefly share what they did yesterday, what they will do today, and work-related blocking issues. What is different from a regular team meeting is that team members take turns to facilitate in a horizontal atmosphere rather than a vertical reporting format. We proceed in a “sharing” manner. If a team member has a problem and cannot proceed with the task, after the Daily Scrum is over, we have a “mutual help meeting” to resolve the problem. Also, since you may not remember all the work you did yesterday, you can write it down in Confluence so your team members have time to see it, schedule and plan what they need to do. This is how the KINTO ONE Subscription Team conducts Daily Scrums. Today’s Daily Scrum facilitator explains the agenda of the Daily Scrum. 'In the first week, we start by sharing what our team needs to improve or try for the next two weeks. Although it is a short period of time (about 10–15 minutes every morning), by having everyone take turns to lead in this way, leadership can be practiced in daily work, and team members can take the lead in sharing the team's current tasks and goals and contributing to the tasks. I believe that by understanding the importance, you can improve your “Leadership Mindset” and eventually it will become your internal motivator that leads to better results. Code Review: Motivation and Autonomy Many developers are highly “motivated” by their creativity. Developers aspire to share their work and expressions with people who appreciate and value them. Likewise, I enjoy seeing what other people have done, immersing myself in the code, and being shocked by other people's ingenuity. Through Code Review time, we can share our work with each other and learn from each other. If there is a better method than the current method, I will share it and make bold changes. Of course, any change must be agreed upon by the entire team. Through this, we grow day by day through discussing good code and exchanging code reviews. I believe that great colleagues and excellent collaboration experiences continue to strengthen trust within the team. Brainstorming: Let’s focus on one goal We take time to think about why we need to do this work and why we need to provide this service to users. We think deeply about how to create, how to communicate, and how to make things happen, and the level of value that the service we will create will give to users. By considering the lifespan of the code, scalability of components, and overall design from the user's perspective, Each developer team member can make technical decisions independently as a development leader for each purpose and function. Our team's brainstorming proceeds according to these rules. Let’s focus on the topic Let’s freely express ideas Let’s combine ideas Come up with as many ideas as possible Don’t evaluate ideas Let’s visualize Decide on an idea If you have decided on your own, the goal is to autonomously create a “prototype” without a complicated communication process and then deliver it to the planning team to turn it into a product. Staying flexible for development culture growth I believe that in the process of taking small actions for the growth of myself, my team members, and everyone, a good development culture will be born and we will all grow together as a result. Personally, I am always grateful to be part of a team with good colleagues. Since our development culture is a means and tool for us to create good services, not the goal, I believe that our team's culture will continue to change and move in a good direction in the future. Lastly, in my opinion, the philosophy of a good leader is to push and support the growth of team members and rather than controlling it, and to establish a good development culture in the team where we help each other. Building a good team like this may not necessarily guarantee greater success, but I believe it can increase the chances.
Introduction I am Morimoto from KINTO Technologies' New Vehicle Subscription group. I work as a backend engineer. For the 2022 Advent Calendar, I wrote an article about holding a study group for GraphQL: For this year’s 2023 Advent Calendar, I would like to talk about the renovation of our subscription site (KINTO ONE) which I worked on for two years from August 2021 when I joined the company, to its launch in August 2023. More specifically, I would like to focus on the considerations we did when reviewing its table design, which was my first job after joining the company. What Went Into the Table Design Below is an illustration of the table before and after the renovation, although it’s not exactly the same one we work with. The table contains information on employees and can be tracked by logically deleting a record and adding a new one whenever there is an update. Note: A logical deletion is when a record is not deleted, but is flagged and treated as if it is deleted. One advantage is that it can track the revision history of important values. Before Renovation id employee_id mail_address pref group_and_role delete_flag 1 E-001 email1@XX.XX 23 HR_Manager false 2 E-002 email2@XX.XX 25 HR_Staff true 3 E-002 email2@XX.XX 14 Development_Manager false 4 E-003 email3@XX.XX 1 Development_Staff false After Renovation id employee_id mail_address prefecture group staff is_deleted 1 E-001 email1@XX.XX AICHI HR Manager false 2 E-002 email2@XX.XX SHIGA HR Staff true 3 E-002 email2@XX.XX KANAGAWA Development Manager false 4 E-003 email3@XX.XX HOKKAIDAO Development Staff false Each column contains the following information. id : an ID that uniquely identifies a record in the employees table employee_id : an ID that uniquely identifies an employee mail_address : email address pref / prefecture : prefecture group_and_role / group and role : group and role that an employee belongs to delete_flag / is_deleted : whether the record has been deleted The Four Key Areas We Reviewed Not using abbreviations for columns Not replacing values with numbers Not giving multiple meanings to a single column To Not Name Flag Columns _flag 1. Not using abbreviations for columns We did not abbreviate column names, like we did for pref . One can more or less figure out that it represents Japanese prefectures. However, if you use this in documentation or source code, there is a high chance that it will be mixed up with pref or prf . Some people may not know what the abbreviation stands for in the first place. Because of that, we did not use abbreviations, and used full notations such as prefecture , even if they were long. 2. Not replacing values with numbers As you can see in the Before Renovation table, pref has a value of 23. Maybe you can arrive to the conclusion that 23 represents of one the 47 prefectures of Japan, but which one is the 23rd? It is not intuitive, so it's impossible to tell what this value means. Every time you look at a value, you have to refer to a list of numbers and prefectures, which makes it less readable. It also makes it harder to find mistakes. Because of that, we stored the prefectures using their names, such as AICHI . One advantage is that if there is an invalid value, it comes up as an error when it is read into a program. As an example, here you have the structure if we used Java as programming language and JPA was used as an O/R mapper. Also, if we define the enum class of prefecture as follows and use that type with the user entity, it will raise an error if there is an invalid value such as AICHIA . public enum Prefecture { HOKKAIDO ("Hokkaido"), . . . AICHI ("Aichi"), . . . OKINAWA ("Okinawa"); private String value; } @Entity public class Employee { /** ID */ @Id private Long id; . . . /** Prefecture */ @Enumerated(EnumType.STRING) @Column private Prefecture prefecture; . . . } If mapping is not possible, the following exception will be raised. java.lang.IllegalArgumentException: No enum constant com.example.demo.values.Prefecture.AICHIA 3. Not giving multiple meanings to a single column Before the renovation, columns such as group_and_role had two pieces of information in one column: an employee's department and their role. This may seem fine at first, but this makes it less flexible when adding, deleting, or changing a value. Suppose there are four definitions as follows. HR_Manager HR_Staff Development_Manager Development_Staff If you try to rename the Development group to NewDevelopment , the update SQL condition becomes more complex. HR_Manager HR_Staff Development_Manager → NewDevelopment_Manager Development_Staff → NewDevelopment_Staff There are also problems with searching and sorting. Search queries become more complex, and you have to separate the part after the _ (underscore) when sorting. It also makes them less readable. Because of that, for the site renovation, we separated each column so each one has one meaning. 4. Do Not Name Flag Columns as _flag You can see that the delete_flag column indicates that an item was deleted. However, it is unclear whether "true" means it was deleted or not. So, we decided to use the verb "to be" with a past participle, like in is_deleted . This way, it is clear that "true" means an item was deleted, and "false" means it was not deleted. It is important that there are no inconsistencies with the name of the column and the values in it are clearly understood. For example, the is_deleted column lets you logically delete old records when you are updating information on employees. true: deleted false: not deleted If a third state other than true or false appears in a flag column, you should change it from the flag column. Continuous Improvement The design of the tables was not a one-time event, but it kept being refined right till a few months before the official launch. Changing a table while various tests are being conducted, can have a large impact. In addition to improvements added by the development team, it sometimes included updates from feedback of re-run tests that the backend and frontend team did combined. Not only were we able to establish a connection between the backend program and the table, but since we wanted a smooth integration with the API interface, we worked with each team in charge of the APIs as well. I think everyone involved with the project focused on the main goal to renovate, instead of worrying about the scale of the problems in front of them. Another good thing within the backend team was that we could proactively voice suggestions for topics we thought that needed improvement. Not just when it came to the the table design, but the continuous improvement throughout development was I think one of the factors that led to the success of the renovation project. Conclusion We made major changes to the previous tables, such as changing the structure itself and deleting unused columns. This was the first task I was involved in when I joined the company, and I had to start designing the structure of the subscription site without fully understanding its features. In the middle of development, we checked operations, noticed values that were not made permanent, or even found out only during tests that some parts were defined incorrectly. Even after the launch, there were many times when we thought, "Why did we name it like this?" or “Maybe we should have separated the table here.” However, thanks to team members and the people who accepted the changes to the tables throughout the project, we were able to launch the site without issues. As we continue to improve them, we will continue to do out best to make them easier to understand.
Introduction Hello. I am Shimamura from the Platform Groups’ Platform Engineering team. I am responsible for the development, operation, and deployment of tools based on platform engineering thinking. This is the first technical article of the KINTO Technologies Advent Calendar 2023 GitHub Actions is a CICD tool in GitHub. You probably use Push and Manual trigger (WorkFlow_dispatch) often, but do you sometimes get confused when this is enabled or working? I do. I often have to ask my team members to refresh my memory. In this article, I will organize my thoughts on this. Background I want to summarize what would happen for the trigger events below. on.push on.workflow_dispatch Test Preparation Cases on.push Does it run even without merging the original workflow to the default(main) branch? What if I change the branch that is pushed to after merging the original workflow to the default(main) branch? Are other branches affected when pushing to the branch? on.workflow_dispatch Does it run even without merging the original workflow to the default(main) branch? If I create a new branch, edit the workflow, and push it to the branch after merging, will the changes be applied? Basic code (echo.yaml) name: "TestWorkFlow" on: push: branches: - main - 'test/**' workflow_dispatch: jobs: TestWorkflow: name: "TestWorkFLow Echo" runs-on: ubuntu-latest steps: - name: Echo Branch run: | echo "Branch${{ GITHUB_REF_NAME }}" Summary of the results Here are the results in one picture. Details on.push Even if you don't merge it, it runs whenever you push if the following conditions are met: There are no syntax errors (although it will be shown as Fail if there is a syntax error) The conditions of the pushed branch match those of the workflow's on.push branch Even if you leave on.push.branches as test/** and create a branch with "feature/trigger-test" and push it, it does not run If you change on.push.branches to "feature/xx" and push, the feature/trigger-test workflow runs Behavior when two of the following branches exist: test/trigger-test with on.push.branches filter set as “feature/xx” feature/another-trigger with on.push.branches filter set as ”test/xx” Even if you fix something and push it with trigger-test, the feature/another-trigger workflow does not work Even if you fix something and push with feature/another-trigger, the trigger-test workflow does not work The "on"-type parameters looks at the contents of the file in the branch where it occurred and determines whether to launch on.workflow_dispatch If there are no files in the default branch, the manual run button is not displayed After merging, we create a new branch and add Inputs When launching manually, we can select branches, so we select the new branch and increase inputs Just like when pushing, it shows the contents of the file in the branch Verification on.push Does it run even without merging the original workflow to the default(main) branch? First, create echo.yml and push. junpei@:test-trigger-repo$ git add .github/ junpei@:test-trigger-repo$ git commit -m "create workflow" [test/trigger-test 43be511] create workflow 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/echo.yml junpei@:test-trigger-repo$ git push origin test/trigger-test ・・・・・・ Total 5 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for 'test/trigger-test' on GitHub by visiting: remote: https://github.com/junpeishimamura-kinto/test-trigger-repo/pull/new/test/trigger-test remote: To https://github.com/junpeishimamura-kinto/test-trigger-repo.git * [new branch] test/trigger-test -> test/trigger-test junpei@:test-trigger-repo$ I thought it would not work the way I assumed it would, but the Action runs. What if I change the branch that is pushed to after merging the original workflow to the default(main) branch? Naturally, even if you create "feature/trigger-test" from the main branch with the trigger condition "test/**", it will not run. If you revise the files in the workflow and modify it as "feature/trigger-test", then push it, it will run. on: push: branches: - main - 'feature/**' workflow_dispatch: Is There Any Effect on Other Branches From the main branch, create "test/trigger-test-other-branch" and create a suitable file. Then push with the following, and it will run. junpei@:test-trigger-repo$ git status On branch test/trigger-test-other-branch Untracked files: (use "git add <file>..." to include in what will be committed) test-branch.txt nothing added to commit but untracked files present (use "git add" to track) junpei@:test-trigger-repo$ git add test-branch.txt junpei@:test-trigger-repo$ git commit -m "create test-branch.txt" git p[test/trigger-test-other-branch 0c738b1] create test-branch.txt 1 file changed, 1 insertion(+) create mode 100644 test-branch.txt junpei@:test-trigger-repo$ git push origin test/trigger-test-other-branch ・・・・ Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for 'test/trigger-test-other-branch' on GitHub by visiting: remote: https://github.com/junpeishimamura-kinto/test-trigger-repo/pull/new/test/trigger-test-other-branch remote: To https://github.com/junpeishimamura-kinto/test-trigger-repo.git * [new branch] test/trigger-test-other-branch -> test/trigger-test-other-branch junpei@:test-trigger-repo$ The workflow file in this case is "test/trigger-test-other-branch" and is not Main. Additionally, create a new branch called "feature/another-trigger" from the main branch. We keep the branch "feature/trigger-test" that was verified earlier. junpei@:test-trigger-repo$ git switch -c feature/another-trigger Switched to a new branch 'feature/another-trigger' junpei@:test-trigger-repo$ git branch * feature/another-trigger feature/trigger-test Main test/trigger-test test/trigger-test-other-branch junpei@:test-trigger-repo$ Make a file, and without changing the "feature/another-trigger" workflow conditions, push as (test/**). Then you’ll see that the Actions, does in fact, not run. The point seems to be whether it meets the workflow conditions in the operation branch. on.workflow_dispatch Does it run even without merging the original workflow to the default(main) branch? What can you do manually without merging the echo.yml created with on.push into the main branch? Even if workflow_dispatch is in Yaml, the button is not displayed and cannot be moved unless it is merged into the main branch. Since there is no button, it seems that it is not possible to switch the specified branch. If I create a new branch, edit the workflow, and push it to the branch after merging, will the changes be applied? I use it often, so I don’t need to check it. The changes are reflected as I expected. If you press the RunWorkflow button, you can specify the branch, so if you select it, you can run the one that shows the changes. Impressions For on.push, all of the items work as expected except “Does it run even without merging the original workflow to the default(main) branch?” Pushing alone does not register as GitHub Actions. Because it was recognized when it is registered after merging, I fortunately discovered that it was recognized incorrectly after adjusting it. I used the branch condition, but since Tag has the same event-driven type, I think it will behave the same way. I wanted to compare it with Circle.CI and other CICD services, but I think it will work the same way. Unlike GitHub Actions, SaaS-based CICD tools are event-driven and hold back the source code. I think it judges what is in the branch where the event occurred. Conclusion The Platform Engineering team manages and develops tools used internally across the organization. We adopt what other teams in the Platform group have created and based on the company's requirements, we either build from the ground up or migrate components as needed. I also tried it with CDK and started programming with tools other than Managed Service. If you are interested in any of these activities or would like to hear from us, please feel free to contact us. @ card
​ こんにちは( º∀º )/ 予算統括G、テックブログPJTのゆかちです。 12月24日、本日は有銬蚘念ですねわたしの掚しは゜ヌルオリ゚ンスです🏇 どの銬もレベルが高いので、今幎はどんな物語が生たれるか楜しみです・・  みなさんはどうお過ごしでしょうか。 さおさお 今回は(自称)U-35×瀟長の亀流䌚を開催しおみた に぀いおの蚘事を曞いおみようず思いたす。 開催するたで わたしが入瀟したのは2020幎12月、䞞3幎ずなりたした 圓時は埓業員数も少なかったなず思っお確認したずころ・・・ 20代5名 30代14名 党䜓58名 KINTOテクノロゞヌズ蚭立前の 株匏䌚瀟KINTO 開発線成郚 時代  少なすぎる・・ そしおそしおなんず今珟圚、 20代43名 30代131名 党䜓360名 なんずいう成長っぷり・・・ ・・・ 成長の裏偎は人事採甚G、 HOKA 執筆の蚘事でどうぞ☟ 人事採甚グルヌプを぀くろう 3幎で瀟員数300人に急成長した組織の裏偎 | KINTO Tech Blog | キントテックブログ 少人数時代は瀟内党䜓の飲み䌚もあったり暪の぀ながりもありたしたが、 この人数ではグルヌプごずの飲み䌚が限界・・ これだけ毎月のように入瀟者がいるず誰が誰だかわからん状況・・・ そんなずきの今回の䌁画者、アむデア出し埗意な ちむりん  い぀も、これやっおみようよ ずいろいろな案を出しおくれたす。 瀟長ず盎接亀流する機䌚がないずいう声や 他郚眲ずの関わりがもっず欲しいの声に応えお 瀟長×若手の亀流むベント開催しちゃおずいった流れ。 そしおみんなで協力しお圢にしおいきたす。 そんなこんなでぱちぱち 今回は瀟長の小寺さんに孊生時代や過去の経歎、珟職のこず、将来に぀いおなどいろいろなこずを話しおいただきたした。 このパヌトは1時間でしたが、もっず話を聞きたかったがアンケヌトにたくさんあがっおいたした。 さすがお話䞊手の小寺さん さおさお わたしの蚘事あるあるのいい写真が撮れたので芋せ぀けたいだけのコヌナヌを蚭ける 雰囲気が䌝わればいいなずいう想い 滞りない叞䌚さすがでしたありがず 普段関わりのないいろいろな郚眲間の亀流だ 入りたおほやほやの新入瀟員も 小寺さんはたじめにお話されおたのであたりカメラ向けれなかったのです・・ トリプルゆうじ 匊瀟の映えスポットで撮りがち お片付けもみんなで協力しおワむワむ 䌚が終わっお小寺さんが垰られたあずも盛り䞊がっおおり、 なかなか戻っおこないメンバヌを心配しお芋に来た䞊田マネヌゞャヌの䌚も開催されたした 『こんなこずになっおおうれしいよ』からはじたり熱く語っおたしたね 今回参加されなかった20代の瀟員に なんでこなかったのず聞いたら もっず堅い䌚だず思っおいた 瀟長ず話すなんお恐れ倚いなどの意芋をもらいたした。 写真を芋おいただければ䌝わるかず思いたすがゆるい䌚ですし、 小寺さんはずおも気さくで、いろんな人ずのむの奜きだよっお方です。 アンケヌトを䞀郚抜擢 䞀貫しお、KINTOのサヌビスが良いものだずいうこずず、車のサブスクの重芁性を説いおいるこずが孊びになった。 新しいサヌビスを䜜っおいくのは倧倉だず思ったが、やり続けるこず、人ず人ずの繋がりの重芁性 を知るこずができた。 KTCの成り立ちに぀いお、䜜り䞊げおきた圓事者である小寺さんの口から聞くこずで、リアリティを持っお理解するこずができた 小寺さんの゚ピ゜ヌドや話し方、衚情から、小寺さんずいう人をより知るこずができた気がした 先のこずばかり考えお仕事をしおいたけど、 今を粟いっぱい頑匵るこずのほうが倧事なのかなず小寺さんの働き方を聞いお思った 小寺さんの人柄を知るずずもに、同幎代ず知り合えるきっかけにもなった 業務で関わるこずがない方ず亀流するこずができおよかった 同幎代ず䌌たような悩みを共有できた アンケヌト結果を芋る限り満足床高そうでよかった・・ 小寺さんにも締めのご挚拶で『正盎めちゃくちゃたのしかった』 ずのコメントもいただけたしお、第2回も開催予定です さいごに 他郚眲ずの関わりは偏りがちで、きっかけがないず関わるこずがなかなかありたせん。 わたしは非゚ンゞニアですが、同幎代の゚ンゞニアたちにいろんなこずを助けおもらっおいたす。 たずえば ちむりん 執筆✏ 曞籍の管理方法をラクにした話 これは、なんか管理倧倉そうだね、Jira䜿えばゆかちの負担枛るのではっお 有志で集結しおぱぱっず䜜成しおくれちゃった愛ず感動の物語ですここで自慢しおおこう 小寺さんがこの䌚でお話されおいたように、人ず人ずの繋がりは職堎においお倧事だなず。 いろんな郚眲に知り合いがいるず困ったずきに盞談しやすいし お互い様で協力しあっお仕事を進めるこずができる 職堎の環境がよい に぀ながるのでは こういう”仲間”を぀くるきっかけはいく぀あっおもいいのではず思うし これからもそういうきっかけの提䟛をみんなず䞀緒にしおいきたいなず思いたす では、ここたで読んでいただきありがずうございたしたメリヌクリスマス
Hi, my name is Tim, and I am from the Global Product Development Group at KINTO Technologies (KTC). Previously, I have written about developing our company's Design System and how it has informed design decisions at KTC. I am also a father of two: a 2-year old daughter and a son who was born in August 2023. Today I would like to talk about my experience balancing fatherhood and professional life. This article marks the fourth installment of a five-part series in our Advent Calendar, exploring diversity and different work-styles in KTC. Fatherhood in Japan When I became a dad for the first time I was already living and working in Japan, albeit for a different company. Taking advantage of one of the longest paternity leave programs in the world I proceeded to take 6 months of paternity leave. While the time spent on bonding with my new child was priceless and I was very lucky for a privilege most countries don't have , I felt that I could have been able to return to work sooner to contribute to relevant projects and to regain a sense of professional identity. When my wife became pregnant with our second child, I was a full-time employee at KTC but I felt torn about whether to take yet another paternity leave. After all, despite generous policies, workplace culture often discourages taking leave. It made me worry about how it would look to take leave, especially as a relatively new employee. Paternity Leave, or Not Amidst these concerns, I learned about the diverse workplace culture at KTC and its flexible work hours policy, both of which alleviated my worries. In response to COVID-19, the company had implemented a temporary policy that encouraged employees to work from home in the morning and then come to the office in the afternoon, providing a practical way to balance work and family responsibilities. This was a game-changer not only to myself, but also to my family. I was able to spend time changing diapers, rocking my crying baby to sleep, and supporting my recuperating wife - all while maintaining a manageable workload in my professional life. Then it crossed my mind that forgoing paternity leave is somehow conceivable, and after lengthy discussions with my wife we have made the conscious decision not to take paternity leave, and instead, leverage the company's flexibility and support to continue with my personal and professional growth. How has the decision affected my work-life balance As I gradually acclimated to the work environment after my son was born, I began to witness firsthand the genuine support from my colleagues, line manangers and human resource department to prioritize family alongside career aspirations. The open dialogue and encouragement from them who had navigated similar experiences instilled a sense of confidence in me to embrace the company's philosophy of work-life integration. My newborn son with congratulatory gift from my colleagues Conclusion Looking back, I realize that KTC's culture made it possible for me to be a dad without feeling like I had to choose between work and family. It's been a journey, but I'm grateful for the support and understanding I found at my workplace. To those who are considering starting a family, I wholeheartedly encourage you to take that step, knowing that our work culture is incredibly supportive of employees with family commitments. As someone who has experienced first-hand the flexibility that KTC offers, I can confidently say that this is a place where you can embrace both your career and your role as a parent. The welcoming atmosphere make it possible to navigate the challenges of parenthood while excelling in your career. Credit Cover Image by BiZkettE1 on Freepik
Introduction Last weekend, original article published on Jul 2023, there was an announcement from OpenAI, and a ChatGPT (GPT-4) function called Code Interpreter was released. It is a convenient service programmed in Python that allows you to analyze data without code just by giving instructions in Japanese or English. Japanese text cannot be displayed when drawing graphs or doing other tasks, but I have found a way to display Any fonts, and I will explain it in this article. Code Interpreter had its name changed to Advanced Data Analysis on August 29, but it is called Code Interpreter in this article In this article, you can replace Japanese font with any fonts which you prefer to use on ChatGPT. What You Can Learn from This Article The steps to outputting graphs, images, and PDF files with Japanese fonts using Advanced Data Analysis (formerly Code Interpreter) How to analyze X (formerly Twitter) log analytics with Advanced Data Analysis (formerly Code Interpreter) If you don't need an introduction and just want to know how to output graphs, images, and PDFs with Japanese fonts in Code Interpreter, click here . Self-Introduction Though it's a belated introduction, I am Aoi Nakanishi , the lead engineer of KINTO FACTORY . In addition to development, which is my main job, I manage events, the Tech Blog, and the official account from X (formerly Twitter), so I also manage Technical Public Relation activities in our company. Prerequisites To have paid for ChatGPT (ChatGPT Plus) To have Code Interpreter enabled Only the above two are required Enabling Code Interpreter Enable Code Interpreter from Settings -> Beta Features -> Code Interpreter as shown in the image below. You can skip this step. Advanced Data Analysis is already regular feature on GTP-4 Steps to Switching to Japanese We know that Code Interpreter does not draw in Japanese automatically without instructions, so let's explore ChatGPT and what it can do. Draw this in Japanese! First of all, I tried instructing "Draw this in Japanese" but it returned that Japanese fonts cannot be embedded in the current environment. Try to Find Out Why It Cannot Draw Japanese Font Notice that it says, in Japanese, “ in the current environment .” Let's ask how the graph image is generated. Ask How to Draw Japanese Font Since we know that it uses Python and Matplotlib, I will ask it how to display Japanese. As an example, here is the code that came out. It said that I could not download fonts or change my system settings because my Internet access was disabled. I can upload files, but it seems that I cannot download them. I did a separate check, and it seems that I cannot use system functions. Uploading Japanese Font Files It says, " Cannot download ", so I will immediately ask if I can upload, instead. It is possible to upload files, so I will try it right away. Downloading Japanese Fonts The font Noto Sans was written in the sample code that ChatGPT taught me, so I will use Noto Sans. Download fonts from: https://fonts.google.com/noto/specimen/Noto+Sans+JP (There are other usable fonts, although I haven't tested them) Uploading Japanese Fonts and Switching matplotlib to Japanese Let's try generating a graph in Japanese, or any language's fonts. Uploading Japanese(any) Fonts Upload a file by clicking the plus button at the bottom of the screen. In addition, instruct it to use the Japanese font that was uploaded when drawing graphs by telling it, " Please use this Japanese font when drawing graphs ." ↓ ↓ ↓ Summary of How to Use Japanese Fonts in ChatGPT (GPT-4)'s Code Interpreter You can now display graphs in Japanese by following the steps below. Download Japanese(any) fonts locally Upload the fonts to ChatGPT Specify a font to use when drawing graphs in ChatGPT Upload the required data and draw a graph Also, if the title is not in Japanese when the graph is drawn, you can say; Switch the title to Japanese, and see that the title are regenerated in Japanese. Remember to instruct ChatGPT to draw in Japanese using the uploaded Japanese font file. You can use these steps for PDFs and other file types to output files that can display Japanese correctly. Analyzing Logs from X (formerly Twitter) Now that you are ready to output results of analyses in Japanese, let’s start analyzing logs from X right away. https://x.com/KintoTech_Dev We will analyze data for this X account. You can download detailed data from X Analytics and perform various analyses, but today we will do conduct them using publicly available data. We will use the following information: Main body of the tweet Date and time of the tweet Number of retweets Number of replies Number of likes This data is publicly available and can be accessed by anyone, not just the owner of the account. Uploading a CSV File Select a file by clicking on the Upload button just like when uploading a font, and upload the data you want to analyze. I uploaded a CSV file this time, but it seems that it is possible to read basically any data that can be handled by Python. Also, when I checked the maximum file size that can be uploaded, it did not give the exact number, but it said that several hundred MB were acceptable. I upload the file to ChatGPT and ask it to analyze the file. After answering some questions from ChatGPT, it gave the following analysis results. The following are the results, including explanations of the analyses of the number of impressions, number of retweets, number of likes, and main body. Analysis of Impressions ChatGPT: There is no clear trend at any particular time of day or day of the week. However, it seems that the number of impressions is slightly higher at a particular time on Tuesdays than at other times. KINTO Technologies often posts articles on Tuesdays and makes a tweet when they are published. That seems to be the reason for this result. Analysis of the Number of Retweets ChatGPT: Again, there is no clear trend at any particular time of day or day of the week. However, it seems that the number of retweets is slightly higher at a particular time on Tuesdays than at other times. It seems that the number of retweets is proportional to the number of impressions. Analyzing the Number of Likes ChatGPT: There is no clear trend at any particular time of day or day of the week regarding the number of likes, as well. However, it seems that the number of likes is slightly higher at a particular time on Tuesdays than at other times. You can see that impressions, retweets, and likes are correlated. ChatGPT: Since the number of Tweets in this analysis is relatively small, it is recommended that you keep these results for reference only. This is stated because there are parts that are difficult to understand even if you look at the heat map in the results of the analysis, and it seems that it is necessary to increase the number of tweets and followers first. Analyzing the Main Body of the Tweet Here are the results of a topic modeling analysis of the top ten tweets with the most impressions made with ChatGPT. You can see that our desired information is in the results of the analysis. Item Description Visual element that attracts attention Attracts users' attention and increases engagement Use of hashtags Makes tweets easier to find Clear explanation of the subject of the article Explains the subject of the article clearly Specific call to action Includes the specific call to action, "If you are having trouble building and managing your development environment, please take a look!" Advance notice of upcoming articles Garners interest from users and increases engagement by notifying them when a new article is published Emphasize a specific theme Emphasizing themes will attract users who are interested in an event or the company's activities Summary of the Results of the Tweet Analysis From the analysis thus far, we found that the time posted, content, and use of URLs are key factors in optimizing Tweets. Item Description Post time optimization Although it is not obvious, engagement tends to be higher on Thursday and Friday nights. It is possible that users have more free time and search for content more when it is close to the weekend Tweet content optimization A Tweet that is related to an event or the topic of a new article has a high level of engagement Tweets that contain a URL Tweets with a URL to the Tech Blog have a high level of engagement Summary In this article, I explained how to analyze data with ChatGPT's Code Interpreter and create graphs and other files in Japanese. I hope that it will be useful to you in your daily analyses. We will continue to publish useful articles. If you are interested in reading the latest news, please follow us here. https://x.com/KintoTech_Dev KINTO Technologies is looking for talent to contribute in shaping the future of mobility together. If you are interested, please feel free to contact us for a casual interview. https://www.kinto-technologies.com/recruit/
はじめに 「KINTOテクノロゞヌズに入瀟するたで、Web業界は未経隓だった」ず蚀うず、えっずいう顔をされたす。そんなキャリアの人が䜕で入瀟したできたんだろうずいう戞惑いの顔。しかも20代の若手じゃなくお、40代のおっさんが、䜕で 異䞖界の歩き方 もずもずは、家電の組み蟌み゜フト開発のプログラマヌ。そこから車茉ECUの制埡゜フトを経隓しお、前職では欧州系の䌚瀟で゚ンゞンなどの詊隓蚭備を導入するプロゞェクトマネヌゞャヌをやっおたした。゜フトはあくたで党䜓の䞀郚であり、機械/電気/蚈枬/流䜓/シミュレヌションなど、色々なものを組み合わせおシステムを構成しおいたした。 4線匏3盞亀流 の 䞭性点接地 や 配管のフランゞ接続 に 熱亀 の 圧損 ず ねじり振動解析 や CFD みたいな䞖界から、クラりドのモダンアヌキテクチャの䞖界です。 たるっきり異䞖界に飛び蟌んでから3幎ず少々。どんな颚に歩いおきたか振り返っおみたいず思いたす。 ![40代のWeb未経隓者](/assets/blog/authors/hamatani/20231223/40s_beginner.jpg =480x) 40代のWeb未経隓者を生成AIに描いおもらうずこんな感じ プロGのお仕事 配属されたのは、さすがにWebシステムをゎリゎリ開発する゚ンゞニア枠ではなくお「プロデュヌスグルヌプ」ぞの配属でした。瀟内では「プロG」ず呌ばれおいたす。1名が育䌑䞭なので、いた皌働しおいるのは4名。KINTOテクノロゞヌズで䞀番小さなグルヌプです。 バりンダリヌスパナヌ プロGの圹割に぀いお語るずき、人ず組織を繋ぐ「バりンダリヌスパナ―」ずいうのが、いちばん近いず思いたす。KINTOのやりたいこずを実珟するためにどんなシステムを䜜るかを、ビゞネス郚門のメンバヌず䞀緒に考えお、システム開発郚門ず繋いでいく仕事です。䞭でも私は、倧䞭芏暡の案件のいちばん䞊流工皋で「システム構想怜蚎」を䞻に担圓しおいたす。 ![プロデュヌスグルヌプ](/assets/blog/authors/hamatani/20231223/produce_group.jpg =480x) ビゞネスずシステムを繋ぐプロデュヌスグルヌプなんか若い ぀くりすぎない どんなシステムを開発するか。ビゞネスニヌズが満たされおいるこずは倧前提ですが、それだけでは䞍十分だず思いたす。「぀くりすぎない」こずが、ずおも倧事です。初期のシステム化芁望は、あれもこれも詰め蟌んだリッチなものになりがちです。ビゞネス郚門が求める幹ずなる郚分を理解し、本圓に必芁な機胜を特定しお、必芁十分な開発スコヌプに萜ずし蟌んでいくように心がけおいたす。 KINTOが手掛けるビゞネスは、ほかに前䟋がないものが倧半です。事前に頭の䞭であれこれ想像しおシステムを䜜りこんだずしおも、実際にそれが党お圹に立぀ずは限りたせん。やっおみお初めお分かるこずもありたす。たずは必芁最小限のシステムでビゞネスをスモヌルスタヌトし、そこからビゞネスの成長に合わせお、システムも段階的に育おおいくのが良いず思いたす。 たた、内補開発郚隊はKINTOの貎重な戊力なので、そのリ゜ヌスは無駄なく掻甚しなければなりたせん。案件ごずの優先床ずタヌゲット日皋に応じお効率的に割り圓おる必芁がありたす。開発スコヌプをコンパクトにするこずで、できるだけ短期間で開発し、いちはやく垂堎に投入しおいく。そうしたスピヌド感はKINTOの文化であり匷みだず思いたす。  ビゞネス郚門の担圓者さんは、システム開発ぞの芁求出しに䞍慣れなこずがありたす。システムを利甚するこずはあっおも、なかなか立ち䞊げに関わる機䌚はないので、党く初めおずいうケヌスも珍しくありたせん。システムの立ち䞊げは、家を建おるこずに䌌おいるずも蚀われたす。どんな家にしたいか、斜䞻さん自身も初めおでよく分からない。プロGは、そうした担圓者さんをリヌドする圹割も担っおいたす。 内補開発郚隊だからこそ、ビゞネス郚門ず察等にやりあったり、時にはリヌドしたりしお、絶劙な「぀くりすぎない」システムを提案するこずができたす。KINTOテクノロゞヌズ党䜓に浞透しおいる意識だず思いたすが、プロGのミッションはその䞭栞にあるず思いたす。  狩猟系民族 プロGは基本的に自分で獲物案件を芋぀けに行く狩猟系のスタむルです。グルヌプミヌティングで新しい倧芏暡案件の噂が出るず皆が目を茝かせたす。そしお、向こうの山でマンモスを芋぀けたずきのネアンデルタヌル人みたいに、いそいそず狩り支床を始めたす。そうしお䞀番最初に獲物に飛び぀いた勇者が、その案件の䞻担圓になる。そういうしきたりになっおいたす。 ※実際は勀務地や埗意分野を加味しお担圓割り振りされるこずもありたす。 半分掻かしお、半分手攟す 異䞖界を歩きはじめるずきは、できるだけ身軜にしおおくのが良いず思いたす。 経隓をフル掻甚、しない 新しい堎所で心機䞀転スタヌトするずき「これたでの経隓をフル掻甚しお」ず思うかもしれたせん。即戊力を期埅されおいるのだから䞞腰で飛び蟌むのはちょっず怖い。新しい環境での䞍安感を支えおくれるのは、これたでの経隓しかないような気がしたす。けど、経隓や䟡倀芳を抱えたたただず重たいですし、新しいものを取り入れるスペヌスもありたせん。過去の実瞟はもう動かないものだから、抱えおいるず足に根が生えたみたいになっおしたいたす。私も初めおの転職のずき、それで倱敗したこずがありたした。  忘れおおも、ちゃんず助けおくれる だから、半分は手攟したす。こだわりずかスタむルみたいなものは真っ先に手攟しおしたいたす。半分掻かしお、半分手攟すくらいがちょうどよいバランスではないでしょうか。手攟すのは「倱う吊定する」ではなく、いったん「眮いおおく忘れる」ずいうこず。普段は忘れおいおも、必芁な時にスッず匕き出しが開いおちゃんず助けおくれる。誰かが盗んでいくわけではないのだから、ずっず䞡手に抱え続けるこずはない。そう考えるずラクになるので、そうしおいたす。 ![経隓のストック](/assets/blog/authors/hamatani/20231223/stock_of_experience.jpg =480x) 自分の経隓のストックを仕分けする 掻かしおいるもの プロマネの気持ち 私くらいの䞖代だず「うさぎっお寂しいず死んじゃうんだよ」ずいうのがありたしたが、同じくらいプロマネも孀独に匱い生き物です。前職ではひたすらプロマネをやっおたしお、うたくいっおるプロゞェクトは良いのですが、うたくいかないず加速床的に孀立化が進むのを知っおいたす。メンバヌ/顧客/オヌナヌ/䞊叞/財務郚門/営業郚門/サヌビス郚門/本囜/倖泚先/協業先ず、各方面から同時に圧迫されお、あっずいうたに逃げ堎がなくなりたすそしおトドメに家庭が っおいう人もいたした。KINTOだず皆優しい感じなのでそこたでには至らないず思いたすが、それでも孀独でしんどい仕事です。応揎したいず思いたす。  炎䞊するプロゞェクトは、そもそものベヌスラむンスコヌプ, 日皋, 完了条件がグダグダになっおいるケヌスが倧半です。プロGの自分にできるこずずしおは、そこをちゃんず敎えたうえでプロゞェクトを枡しおいくこずです。 結局なんずかなる 前職の6幎間だけでも40件匱のプロゞェクトを回しおきたした。堎数だけいえば倚い方だず思いたす。倱敗しお青くなったり、予算が赀になっおしたったり、先行きが真っ暗になったり色々ありたしたが、どのプロゞェクトも結局はなんずかなりたした。むメヌゞ通りに栌奜よくゎヌルできなくお、息も絶え絶えに転がり蟌んだずしおもゎヌルはゎヌル。行き止たりで䞇事䌑すず思っおも、必ずどこかに打開策はあるはずだずいう気がしたす。さんざん痛い目に合いながら性懲りなくそう思えるのが、自分でも䞍思議です。 倚様性があたりたえ 色んな人ず仕事をしおきたした。囜籍だず、ドむツ、オヌストリア、フランス、スりェヌデン、チェコ、むギリス、むンド、スリランカ、マレヌシア、タむ、むンドネシア、シンガポヌル、台湟、韓囜などなぜか、アメリカず䞭囜には瞁がない。職皮ずしおも、゜フト開発、機械蚭蚈、電気工事、配管工事、搬入蚭眮工事、営業、財務、調達、倉庫、れネコン、消防眲、自動車の蚭蚈開発、産業甚ロボット、コラボしたラむバル䌁業 などなど。プロゞェクトには倚様な人々が参加するのが圓たり前で、違うから参加しおもらう意味があるずいう感芚です。KINTOにも色んな職皮の人や、癖のある人がいお面癜いです。 手攟したもの プロマネは決めるのが仕事 前職の䞊叞が「プロマネは決めるのが仕事」ず蚀っおいお、私の実感ずしおもその通りだず思っおいたした。刀断ミスよりで責められるこずよりも、刀断しないこずを責められるほうがより深刻。決めないずいうのは「プロマネずしお仕事をしおいない」ずいうこずを意味しおいたした。䞊叞に助蚀を求めるこずはあっおも、刀断を委ねるこずは絶察にありえたせん。それは、運転垭に座りながらハンドルを自分で操䜜しないのず同じこず。誰かに刀断を委ねるようではプロマネずしお倱栌で、運転垭から降りるずきでした。グロヌバル䌁業でしたが、どこの囜のプロマネもそんな感じだったず思いたす。  そんな䟡倀芳で過ごしおきたので、驚きでした。KINTO/KINTOテクノロゞヌズのプロマネの皆さんを芋おいるず、自分で決めるのではなく、関係者の合意をもっお決定ずしおいる。このギャップにはかなり戞惑いたしたが、そのうち、これもプロゞェクトマネゞメントの実践ずしおアリなのだず理解できたした。私の前職が Decision and Order の盎接的なマネゞメントだずするず、KINTOは Facilitate and Agreement ずでも蚀うべき間接的なマネゞメントをやっおるんだなずいうのが今の認識です。むしろ、ずおも高床なこずをやられおいるなず尊敬する気持ちです。党お自分で決めるほうがシンプルで簡単です。 ずはいえ、間接的な "合意の促進" だずスピヌド感には欠けたす。盎接的な "刀断ず呜什" も個人に委ねるリスクがありたす。それぞれの良いずこどりができないものかず思いたす。 思い立ったら盎電 仕事道具ずいえばガラケヌでした。䜕か思い立ったらすぐに電話。発信も着信も倚くお、1日の履歎が数十件になるこずも普通です。プロゞェクトメンバヌが党囜の珟堎に散っおいるので、すぐ捕たえるには電話しかありたせん。倜䞭でも平気で電話しおたした。KINTOテクノロゞヌズだずもちろんそんなこずはなくお、Slackを䞭心にスマヌトなコミュニケヌションが浞透しおいたす。そんな圓たり前のこずに驚いおいた私は、たるで過去からタむムスリップしおきた人みたいだったず思いたす。 ずはいえ、1分の電話で片付く芁件が、Slackのやり取りだず30分かかるこずもあるので、コミュニケヌションツヌルの䜿い分けずいうのは必芁です。皆さん実践されおるず思いたすが。 組み蟌み゜フトの垞識 私のルヌツであり、思い入れが深いのですが、さすがにこれは手攟さざるを埗なかったです。Webシステムなので、リアルタむム性の芁求が無い応答速床の芁求はあるけど、別物ですし、Event-Mode-Action のステヌトマシンで動くわけでもない。PIDみたいな連続系の制埡システムずも違う。基本的にはハヌドりェア非䟝存なので、リ゜ヌス制玄も限定的です。なので泣く泣く、匕き出しの奥にしたい蟌んでいたす。AWSのSQSなんかは、昔手䜜りしたFIFOのリングバッファを思い出しお懐かしい気分になりたす。 それでも、この先もしかしおSDVSoftware Defined Vehicleや IoTみたいな゚ッゞ領域ず、KINTOのクラりドに接点ができたら出番が来るかもず、少し匕き出しがりズりズしおいたす。 ざっくり適圓に理解する 異䞖界なので、ただ歩いおいるだけでも未知のあれこれに出䌚いたす。 アルパカを理解する 初めおアルパカを芋たずき「銖の長いヒツゞみたい」ず思う人。「毛の癜いラクダみたい」ず思う人。挢字で 矊駱駝ひ぀じらくだず曞くくらいなので、どっちもアリです。その人の生たれ育ちや盎芳的な感じ方に玠盎に埓うしかありたせん。初心でアルパカず向き合っお、れロから理解するのは今さら無理なので。だから、自分の知っおる〇〇みたいだなず、最初はざっくり適圓に理解すれば良いず思っおいたす。  ![アルパカを芳察](/assets/blog/authors/hamatani/20231223/alpaca_watchers.jpg =480x) そこたで䞀所懞呜に芳察しなくおも倧䞈倫 違うけど、だいたい同じ 違いに着目するより、同じに着目したほうが、異䞖界に慣れる助けになるはずです。自分も組み蟌み゜フトや゚ンゞン詊隓装眮に぀いおの経隓から、ざっくり適圓に理解するこずをよくやりたす。ただそれは「分かったふりをする他人を欺く」ではなく「分かった気になる自分の深掘りをいったん止める」ずいうこず。知識を実際に䜿っお仕事をするずきは「分かっおいない」ずいう事実ず向き合う必芁がありたす。逆に蚀えば、それたではいったん浅いずころで眮いずいおも、たぶん倧䞈倫ずいうこず。 正しさよりも党䜓感 足元をみお䞁寧にひず぀ず぀正しく理解するより、少しくらいの思い蟌みや未消化な郚分があっおも良いので、浅く広く党䜓感を把握するほうが自分には合っおいるみたいです。点の集合でも、眺めおるうちに隠されたストヌリヌを䜕ずなく感じ取ったり星座みたいなもの、登りたいずころぞたどり着くための手がかりになったりしたすボルダリングみたいなもの。特にプロマネやバりンダリヌスパナ―みたいな圹割は、そういう党䜓感の把握が助けになるず思いたす。  玠朜りできるずころたで 党䜓感を眺めお読み取れるのはあくたで仮説です。「〇〇だずするず、こんな颚に進められそうだ」みたいな仮説が浮かんで来たら、必芁に応じお深掘りしたす。今からその領域のプロになる気はないなれないけれど、プロの人ず䌚話できるくらいになれれば十分です。私の堎合、それでだいたい仕事は進みたす。玠朜りの副産物ずしおは、それたで点だった知識が繋がっお、線みたいになっおいくこず。そうやっお少しづ぀線を繋げお地図を぀くっおいきたす。 反抗期の過ごし方 仕事に慣れおくるず、だんだんず湧いおくるものがありたす。 違和感ずむラむラ 誰でも新しい仕事に慣れるたでは謙虚で、少し臆病なくらい呚囲の様子を䌺いながら過ごしおいくず思いたす。そのうち仕事に慣れおくるず、だんだんず湧き出おくるものがありたす。「あれ この䌚瀟の仕事のやり方おかしくないか」みたいな、これたでのキャリアで経隓しおきたやり方ずのギャップから生たれる違和感です。それ自䜓はずおも貎重な気付きで、うたくすれば䜕かの改善に繋がるかもしれたせん。けれど、私の堎合だけかもしれないですが、そこにフラストレヌションが䌎うこずがありたす。なんだかむラむラした気持ち。 転職埌反抗期 個人的に「転職埌反抗期」ず呌んでいたす。早ければ3ヶ月頃から始たっお、2幎目くらいたで続きたす。3回の転職を経隓したしたが、毎床必ずやっおきたす。違和感自䜓は良いずしおも、むラむラを呚囲にたき散らすわけにはいきたせん。自分の堎合は 1 on 1 を䜿っお消化させおもらいたした。盎属の䞊叞ず、2コ䞊の䞊叞ず、3コ䞊の䞊叞に、それぞれ話を聞いおもらいたした。話を聞いおもらうためには違和感を蚀語化する必芁があっお、たずその過皋で客芳芖するので少し冷静になれたす。少し栌奜぀けお提蚀っぜくたずめたくなりたす。そうやっお率盎に察話をしおいくず、だんだんず違和感が消化されおいきたす。 2コ䞊は副瀟長、3コ䞊は瀟長ずいう距離感。フラットさはKINTOテクノロゞヌズの魅力です。 違和感を敎理しおいくず、そのいく぀かは自分のミッションに萜ずし蟌めるこずがありたす。 ![倧人の反抗期](/assets/blog/authors/hamatani/20231223/rebellious_adult.jpg =480x) 生成した “倧人の反抗期”1枚目ず同じ人が出おきた おわりに たぶん、今がいちばん積極的に新しい技術や知識に気持ちが向いおいるかもしれたせん。 昔の匕き出しが開くずき 瀟内の色んな職皮の人の話を聞くのも、瀟倖の展瀺䌚や他の䌁業さんず話をするのも面癜い。刺激を埗お考え方を再構築するうちに、さび付いおいた昔の匕き出しがスッず開いお、新しいものず叀いものが化孊反応を起こすこずがありたす。ボルダリングの䟋えを曞きたしたが、ほんの少し登るず景色が倉わっお、次に手が届きそうだずか、思っおたのず違うから考え盎そうずか、色々ず分かっおきたす。そういう倉化を玠盎に受け入れるず、次の倉化も楜しめる。逆に苊しい気持ちになる時は、たいおいそこに留たろうずしおいるずきでした。 そうやっお生き延びおいく 「 タむガヌ手回し蚈算機 を䜿っおいた」ずか「 パンチカヌド が読める」ずか。新卒で入瀟したころ、そうしたベテラン゚ンゞニアの方が珟圹で掻躍されおいたした。「クラりドネむティブなモダンアプリケヌション」も「LLMの生成AI」も、いずれ枯れた技術ずしおコンピュヌタヌの幎衚に䞊ぶこずになりたす。技術は移り倉わり、求められる圹割も倉わっおいきたす。そのずき䜕をしおいるか想像も぀かないけれど、自分の半分をどんどん入れ替えながら、しぶずく生き延びおいければ良いなず思いたす。 ![コンピュヌタヌの歎史](/assets/blog/authors/hamatani/20231223/history_of_computer.jpg =480x) か぀おの最先端技術ずリンゎが䞊ぶ
取材察象 KINTOテクノロゞヌズ内のグロヌバル開発郚には、倚囜籍で倚様な背景を持぀DevOpsチヌムが存圚したす。 メンバヌそれぞれが埗意ずする蚀語、技術、経隓は異なりたすが、チヌムずしおは非垞にスムヌズに仕事を進められおいたす。 今回は、そのチヌムリヌダヌである李さん Flyway蚘事の䜜者 に取材を行いたした。倚囜籍チヌムの運営に興味があれば、ぜひご䞀読ください。 自己玹介ずチヌム状況玹介 自己玹介 KINTOテクノロゞヌズグロヌバル開発郚でDevOpsチヌムリヌダヌをしおいたす、李です。 卒業埌、日本のメヌカヌのIT子䌚瀟で5幎間働きたした。その間、瀟内の共通蚀語が日本語だったため、日本語や日本の文化、さらには異文化ずのコミュニケヌションスキルを孊びたした。圓時は、Webアプリケヌションの開発、蚭蚈、評䟡から始め、システム゚ンゞニアずプロゞェクトマネヌゞャヌずしおの経隓を積みたした。開発経隓だけでなく、開発プロセスずマネゞメントの知識も身に぀けたした。 その埌、倧孊で3幎間講垫を務め、新しい技術ず教育孊を孊びたした。これにより、効率的な孊習方法に぀いおも理解を深めたした。 日本に移䜏した埌、次女が保育園に入園したのをきっかけに、IT分野に埩職したした。 これたでの異文化コミュニケヌションスキルや開発経隓、マネゞメント胜力や人材育成の経隓を掻かし、珟圚はグロヌバル開発郚でDevOpsチヌムのリヌダヌを務めおいたす。 チヌム状況玹介 珟圚、私たちのDevOpsチヌムはCI/CD、むンフラ、テストの3぀のサブチヌムで構成されおいたす。チヌム内6人が䞋蚘のように、囜籍も専門分野もそれぞれです。 DevOpsチヌム蚭立圓初からの理念は、あえお異なるスキルセットを持぀メンバヌを組み合わせるこずで、アプリケヌション開発チヌムをサポヌトするこずです。 No. サブチヌム 前職経隓 囜籍 英語力 日本語力 1 CI/CD 開発、プロゞェクト管理、品質保蚌、システム蚭蚈 䞭囜 B B 2 Infra Infra゚ンゞニア、プロゞェクト掚進、むンテグレヌション、蚭蚈 䞭囜 C A 3 Infra Infra゚ンゞニア、開発、プリセヌルス 䞭囜 C B 4 Test ネットワヌク゚ンゞニア、プロゞェクト管理 ニュヌゞランド A C 5 Test 開発゚ンゞニア むンド A C 6 Test テスト、開発、蚭蚈 ミャンマヌ B C 語孊力 A现かいニュアンスたで再構成しお衚珟できる B幅広い耇雑な話題でも議論可胜 C自分の考えずその理由を衚珟できる D日垞䌚話可胜 QAコヌナヌ 倚様な蚀語、文化、技術背景を持぀チヌムの日垞業務は、想像しにくいかもしれたせん。 そこで、今回はチヌムリヌダヌの李さんにいく぀か質問をしおみたした。ここではQ&A圢匏でたずめ、チヌムの様子を少しでも皆さんに䌝えられればず思いたす。 QAその 質問: チヌム内に様々な専門経隓を持぀メンバヌがいる䞭で、皆をDevOpsチヌム共通の目暙に向かわせるにはどのようにしおいたすか 回答: 私たちは、䞋蚘のようにチヌム内で明確なロヌドマップを共有し、それに基づいお目暙を具䜓的にし、メンバヌ党員が同じ方向を目指すようにしおいたす。 チヌム内には、品質保蚌をしたい人、むンフラを担圓したい人、開発に携わりたい人など、様々な垌望を持぀メンバヌがいたす。私たちは、それぞれの匷みや志向を理解し、皆が玍埗できるロヌドマップの䜜成に努めおいたす。 ロヌドマップ䟋 QAその 質問: チヌム内の7人は4぀の異なる母囜語を話したす。コミュニケヌションにはどの蚀語を䜿甚しおいたすか文曞やメッセヌゞはどうですか 回答: 口頭でのコミュニケヌションや文曞の䜜成は、その人が埗意ずする蚀語英語たたは日本語を䜿甚しおいたす。 チヌム党員が英語を理解できるため、メッセヌゞは䞻に英語で送信しおいたす。たた、理解を深めるために翻蚳ツヌルの利甚も掚奚しおいたす。 倚蚀語コミュニケヌションでは、発衚者がゆっくりず話し、簡単な単語を䜿甚するよう努め、わからないこずはすぐに質問する雰囲気を䜜っおいたす。 QAその 質問: 文化的にも技術的にも倚様なチヌム内での知識共有はどのように進めおいたすか 回答: 私たちのチヌムでは知識共有を重芖しおおり、䞋蚘の䞉぀の方法を甚いおいたす。 期間 手段 内容 目的 アむスブレヌキングフェヌズ 各メンバヌの専門分野に぀いお知識共有䌚 今たでの領域の知識 お互いに理解し、自身の知識を広げるこず 配属から䞀幎埌 オンラむンコヌス孊習Udemyにある自動テストツヌルやマむクロサヌビスアヌキテクチャなどのコヌス 仕事に䜿うスキルで足りない郚分システムアヌキテクチャずか、自動テストツヌルずか、AWSずか 今の仕事䞊必芁なスキルの向䞊 随時異なるタスクが終わった埌 ドキュメント化しお残す 手順やノりハりなど 自動テストのブロック   将来暪展開しやすくするため QAその 質問: 母芪ずしお、異文化間のチヌムをリヌドするのは難しいですか 回答: 私が母芪であるこずに察しお、チヌムは非垞に理解があり、芪切です。グロヌバル開発郚の文化ずしお、倚様性を尊重し、互いに敬意を払い、適切な距離感で接しおいたす。自分は小孊生の子䟛を2人持っおおり、孊校行事ぞの参加が必芁な時、チヌムメンバヌは日皋調敎やタスクの再配分を通じおサポヌトしおくれたす。 䟋えば、最近家族党員がむンフル゚ンザにかかった時、玄2週間出勀できたせんでしたが、チヌムメンバヌが積極的に業務を匕き受け、私の負担を軜枛しおくれたした。 そのサポヌトにはずおも感謝しおいたす。 QAその 質問: 倚囜籍なチヌムを管理する際、どのようにしお様々な暙準劎働倫理やプロフェッショナルな基準などを統䞀し、メンバヌのモチベヌションを維持し぀぀、䞀定氎準の成果を出すこずができたすか 回答: 異文化の合理性を認め、尊重するこずが重芁です。私自身も倖囜出身であるため、日本ず海倖の慣行の違いを理解しおおり、この芖点からチヌムに説明するこずができたす。ここは日本なので、基本的には日本の暙準を遵守しおいたすが、倖囜人の芖点からの解説も提䟛しおいたす。 たた、管理孊やPMPプロゞェクトマネゞメントプロフェッショナルなどの知識を掻甚し、業界共通のやり方を取り入れおいたす。 チヌムでは、メンバヌに広範な裁量を䞎え、圌らが望む仕事を行うこずでモチベヌションを維持するこずを重芖しおいたす。 最埌に 質問: こういった倚囜籍なチヌムをたずめる䞊で、李さんが䞀番倧事にしおいるこず、たたは工倫しおいるずころは䜕ですか 回答: やはりコミュニケヌションが最も重芁だず思いたす。PMPの理念に沿っおいたす。私たちのチヌムでは、皆が明確か぀具䜓的に自分の考えを䌝えるこずを心掛けおいたす。仕事の䞭で、い぀も「5W1H」を甚いおコミュニケヌションを取っおいたす。たた、異なる考え方にも敬意を払いたす。基本的に、人々が異なるずいうこずを認識した䞊でコミュニケヌションを行っおいたす。 質問: チヌムメンバヌからもサポヌトがもらえるのは信頌があるからだず思いたす。その秘蚣はありたすか 回答: 普段の業務では、私自身もメンバヌのサポヌトず指導に意識的に取り組んでいたす。メンバヌがそれぞれの目暙を達成できるよう協力しおいたす。私たちは䞀぀のチヌムずしお、各々が欠かせない䞀員であり、共に目暙達成を目指しおいるため、リヌダヌ・メンバヌずいうポゞションの関わらず、お互いにサポヌトし合えおいるのだず思いたす。やはり玠盎な心が必芁だず思いたす。 たずめず今埌の展望 この蚘事ではグロヌバル開発郚DevOpsチヌムのリヌダヌである李さんにむンタビュヌをし、倚囜籍なチヌムでの異文化間コミュニケヌションや知識共有の方法、母芪ずチヌムリヌダヌのバランス、そしお倚囜籍なチヌムのマネゞメントなどに぀いお取り䞊げたした。 最埌の回答にあったように、倚様な背景を持぀チヌムであっおも、垞に「人は異なる」ずいうこずを意識し、異なるこずに敬意を払い、5W1Hなどを通じお考えをわかりやすく䌝える。こういったこずの積み重ねによっお信頌が生たれ、同じ目暙に向かっお効率的に互いをサポヌトし合えるこずがわかりたした。これは決しお倚囜籍なチヌムだけではなく、同じ囜籍であっおも同じこずではないでしょうか。 倚様な背景を持぀チヌムのマネゞメントに悩んでいる方にずっお、この蚘事が少しでも参考になるず幞いです。 今埌、DevOpsチヌムは事業の展開やテクノロゞヌの進化に䌎い、さらなる挑戊に盎面するこずでしょう。 しかしこれたでの取り組みず、倚様性を受け入れられるチヌムの粟神があれば、どんな障害も乗り越えおいけるず、チヌムの今埌の成功ず成長に期埅しおいたす。