TECH PLAY

PWA

イベント

該当するコンテンツが見つかりませんでした

マガジン

該当するコンテンツが見つかりませんでした

技術ブログ

Introduction Hi, we're Yao, Bahng, and Lai from the Global Development Division. We're mobile app engineers, usually developing Global KINTO App . A few months ago, we investigated Kotlin Mltiplatform Mobile (KMM) as a preliminary activity for the future of Global KINTO App. See our previous article on this. The results of our previous investigation indicate that KMM is an excellent solution for rapid product development. Now that KMM has been revealed as a new approach compatible with Compose UI, we decided to investigate it further. Based on that investigation, this article discusses app development using Kotlin Multiplatform Mobile (KMM) and Compose Multiplatform. Before getting into the main topic, let's first clarify three points: What is KMP? What is KMM? What is the relationship between KMP and KMM? The answers are as follows: KMP: Kotlin Multiplatform, referring to the technology used to develop applications across multiple platforms using Kotlin, along with its entire ecosystem. KMM: Kotlin Multiplatform for Mobile. One of the primary use cases for KMP is code sharing between mobile platforms. In addition to KMP, several technologies specifically for mobile app development are collectively referred to as KMM. The graph below illustrates the relationship between KMP and KMM. Reference: -- JetBrains "Kotlin brand assets | Kotlin. (n.d.-c). Kotlin Help." , "Get started with Kotlin Multiplatform for mobile | Kotlin. (n.d.). Kotlin Help." Accessed June 1, 2023 Cross-Platform You may wonder about the advantages of cross-platform development, particularly when considering Kotlin Multiplatform Mobile (KMM) as cross-platform solutions. Here are the benefits: Cost-effective: Cross-platform development allows the use of a single codebase across multiple platforms, eliminating the need for separate platform development teams and reducing the cost of app development. Faster deployment: By leveraging a single codebase, developers can create and launch applications on multiple platforms simultaneously, significantly reducing development time and accelerating time to release. Simplified maintenance and updates: By using a single codebase, apps can be easily maintained and updated, allowing changes to be made once and propagated across all platforms. This streamlines the maintenance process and ensures that all users have access to the latest features. Consistent user experience: By using cross-platform development tools and frameworks, a consistent look and feel can be maintained across different platforms, providing a unified user experience. This can lead to improved user satisfaction and user retention. Shared resources and skills: Developers familiar with cross-platform tools and languages can create apps for multiple platforms. This allows for more efficient use of resources and maximizes the return on investment in developer skills and training. History of Cross-Platform Development Tools for Mobile In 2009, PhoneGap was created and later renamed Apache Cordova. In 2011, Xamarin was created by Mono and later acquired by Microsoft. In 2015, React Native was created by Facebook (Meta). In the mid-2010s, designer Frances Berriman and Google Chrome engineer Alex Russell coined the term "progressive web app (PWA)," and Google made several efforts to popularize it. In 2017, Flutter was created by Google. In 2021, KMM was created by JetBrains. This means that KMM is currently the most recent cross-platform solution available. Logo source: -- Apache "Artwork - Apache Cordova. (n.d.)." Accessed June 1, 2023 -- Microsoft "Conceptdev. (n.d.). Xamarin documentation - Xamarin. Microsoft Learn" Accessed June 1, 2023 -- Meta "Introduction · React native." Accessed June 1, 2023 -- Google "Progressive web apps. (n.d.). web.dev." Accessed June 1, 2023 -- Google "Flutter documentation. (n.d.)." Accessed June 1, 2023 -- JetBrains "Kotlin Multiplatform for Cross-Platform development" Accessed June 1, 2023 Why is KMM Different? Shared business logic: KMM reduces code duplication and maintains consistency between Android and iOS by allowing code related to business logic, networking, and data storage to be shared across platforms. True native UI: KMM allows the use of platform-specific tools and languages (e.g. XML for Android and SwiftUI or UIKit for iOS) for UI development, resulting in a more native look and feel compared to other cross-platform solutions. Performance: Kotlin code is compiled into native binaries for each platform, resulting in high-performance applications that are comparable to native development. Seamless integration: KMM can be integrated into existing projects, developers can adopt it incrementally and migrate sharing logic to Kotlin without having to completely rewrite their apps. Interoperability with native libraries: KMM seamlessly interoperates with both Android and iOS native libraries, facilitating the use of existing libraries and frameworks. Benefits of the Kotlin language: Kotlin is a modern and concise language that provides similar functionality to existing alternatives while reducing redundant code, with tool support from JetBrains. The above points are explained in detail below. (1) Shared Business Logic KMM is used when implementing the data, business, and presentation layers in new projects. Flexibility: KMM allows developers to determine the scope of code they want to share, offering a flexible implement balanced with platform-specific code as needed. Consistency assurance: While differences in UI can be easily detected in QA testing, inconsistencies between Android and iOS are difficult to detect in logic. By using KMM, the same code can be used, thus ensuring consistency. (2) Truly Native UI KMM supports native UI, uses native UI components, and follows platform-specific design patterns. Android: xml, Jetpack Compose, etc. iOS: UIKit, SwiftUI, etc. UI performance: KMM uses native UI components, and since the Kotlin code is compiled into native binaries for each platform, its performance is generally comparable to native apps. Easy platform updates: KMM makes it easy for developers to update new platform features and designs. Because it uses the native UI framework for each platform. (3) Performance No JavaScript bridge is required; no reliance on third-party libraries. Uses the system's default rendering engine, reducing resource consumption compared to other cross-platform solutions. Native code compilation: KMM compiles Kotlin code into native binaries for each platform. This native code compilation enhances app efficiency and overall performance. Android: Standard Kotlin/JVM iOS: Kotlin/Native Compiler (Objective-C) (4) Seamless Integration No need to bridge native modules or rewrite existing code. Phased adoption: KMM can be gradually introduced into existing native Android and iOS projects. This allows teams to share business logic, network, and data storage code across platforms in phases, reducing the risks associated with a complete technology switch. Multiple approaches to using KMM modules in iOS CocoaPods Gradle plugin and git submodules Framework Swift Package Manager (SPM): Starting with Kotlin 1.5.30, KMM modules are available in iOS projects using the Swift Package Manager. (5) Interoperability with Native Libraries Access to native APIs and libraries: KMM provides direct access to native APIs and libraries, facilitating easy integration with platform-specific functions and hardware components such as sensors and Bluetooth. Seamless integration with platform-specific code: KMM allows for writing platform-specific code as needed, which is useful when dealing with complex native libraries or accessing features not available through shared Kotlin code. Kotlin/Native: KMM uses Kotlin/Native for iOS. This allows seamless interoperability with Objective-C and Swift code. This means that existing iOS libraries and frameworks can be used without additional bridging or wrapping code. (6) Kotlin Language Benefits Language features: Modern, static typing, null safety, extension functions, data classes, SmartCast, interoperability with Java Tools and support: Kotlin provides exceptional support and first-class integration in Android Studio and IntelliJ IDEA. Industry adoption: Kotlin has seen rapid adoption since becoming the official programming language for Android development. Many backend developers also use Kotlin. What Kind of People are Using KMM? In fact, several companies have adopted Kotlin Multiplatform Mobile (KMM) for mobile app development. Here are some notable examples: Netflix: Netflix uses KMM in some of its internal tools to share code between Android and iOS apps. VMware: VMware uses KMM for cross-platform development of Workspace ONE Intelligent Hub app (employee management tool for Android and iOS). Yandex: Yandex, a Russian multinational technology company, has adopted KMM in several of its mobile apps, including Yandex Maps and Yandex Disk. Quizlet: Quizlet, an online learning platform, uses KMM to share code between Android and iOS apps, improving development efficiency. These companies represent diverse industries, and their adoption of KMM demonstrates the flexibility and usefulness of technology in different contexts. As KMM becomes more popular, it's likely that even more companies will adopt KMM to meet their cross-platform mobile development needs. Reference: -- JetBrains "Case studies. (n.d.). Kotlin Multiplatform." Accessed June 1, 2023 How to Easily Create a KMM Project Given these benefits, would you like to create a KMM project and give it a try? The following is a guide on how to do this. Download the latest Android Studio. In Android Studio, select File > New > New Project. Select Kotlin Multiplatform App in the list of project templates, and click Next. Specify the Name of the new project and click Next. In the iOS framework distribution, select the Regular framework. Keep the default names for Applications and Shared folders. Click Finish. -- JetBrains "Create your first cross-platform app | Kotlin. (n.d.). Kotlin Help." Accessed June 1, 2023 Mobile App Architecture Using KMM The following graph is an example of one of common KMM patterns. This architecture takes full advantage of KMM's characteristic code sharing. Data persistence, including cache, database, network, use cases, and view model are all implemented in KMM. For UI, both Android and iOS use native UI components. Support is provided for both older frameworks such as XML and UIKit, and newer frameworks such as Jetpack Compose and SwiftUI. This architecture allows business logic modules written in Kotlin to be imported into iOS as SDKs. This allows iOS developers to focus on UI development for efficient development. Here's some iOS code for a simple screen with an FAQ list. Except for the common UI Utility Class, this is all that needs to be implemented. #FaqView.swift struct FaqView: View { private let viewModel = FaqViewModel() @State var state: FaqContractState init() { state = viewModel.createInitialState() } var body: some View { NavigationView { listView() } .onAppear { viewModel.uiState.collect(collector: Collector<FaqContractState> { self.state = $0 } ) { possibleError in print("finished with possible error") } } } private func listView() -> AnyView { manageResourceState( resourceState: state.uiState, successView: { data in guard let list = data as? [Faq] else { return AnyView(Text("error")) } return AnyView( List { ForEach(list, id: \.self) { item in Text(item.description) } } ) }, onTryAgain: { viewModel.setEvent(event: FaqContractEvent.Retry()) }, onCheckAgain: { viewModel.setEvent(event: FaqContractEvent.Retry()) } ) } } That's not all about KMM. KMM has even more potential! Architecture That Shares UI Code In addition to business logic code, KMM can also share UI code using Compose Multiplatform. As we discussed earlier, Kotlin Multiplatform Mobile (KMM) is primarily used for implementing shared business logic, but it also supports shared UI development. Compose Multiplatform is a declarative framework for sharing UI across multiple platforms using Kotlin. Based on Jetpack Compose, it was developed by JetBrains and open source contributors. Combining KMM with Compose Multiplatform allows for the building of both logic code and UI using the Kotlin language. Reference: -- JetBrains "Kotlin brand assets | Kotlin. (n.d.-c). Kotlin Help." , "Compose multiplatform UI framework | JetBrains. (n.d.). JetBrains: Developer Tools for Professionals and Teams." Accessed June 1, 2023 Comparison of Different Patterns of KMM Architecture Assuming a mobile project is being developed, the estimated workloads for each client are as follows: UI: 2 people, Presentation: 1 person, Business/Domain: 1 person, Data/Core: 1 person The workloads saved from this point is based on the percentage of code written by KMM. Pattern A B C D UI 2*2 2*2 2*2 2 Presentation 1*2 1*2 1 1 Business/Domain 1*2 1 1 1 Data/Core 1 1 1 1 Total 9 8 7 5 workload cost -10% -20% -30% -50% KMM can reduce workloads by up to 50%. The biggest advantage of KMM compared to other cross-platform solutions is its flexibility in code sharing. How much code to share with KMM is entirely up to us. Other cross-platform solutions do not offer this level of flexibility. Summary Cons of KMM Of course, every tool has its drawbacks. KMM is no exception. Limited platform support: Kotlin Multiplatform Mobile can target multiple platforms, but not all platforms are supported. For example, it does not currently support web or desktop applications. Learning cost: If you are not familiar with Kotlin, there is a learning cost to effectively use it for multi-platform development. Framework compatibility: Kotlin Multiplatform Mobile can be used with various frameworks, but is not compatible with all of them. This limits your options and may require you to work within certain constraints. Maintenance overhead: Maintaining a multiplatform codebase can be more complex than maintaining a separate codebase for each platform. This added complexity can lead to increased overhead in testing, debugging, and maintenance. Tool limitations: Some tools and libraries may not be compatible with Kotlin Multiplatform Mobile, making development more complicated or requiring the search for alternative solutions. Applications As mentioned above, integrating KMM's architecture into a project can be considered in various situations, each with it’s pros and cons. Pattern A B C D General existing project ✓ ✓ ✓ ? Simple existing project ✓ ✓ ✓ ✓ Complex existing project ✓ ✓ ✓ ✗ New project ✓ ✓ ✓ ✓ Prototype ✓ ✓ ✓ ✓ With the technical benefits covered, let's get back to the actual development process. Like most mobile development teams, ours is small. Given our limited engineering resources, when faced with a significant change, such as upgrading from version 1.0 to 2.0, we need to collaborate with other divisions and both onsite and offshore outsourcing teams to ensure a quick release. However, there are several problems in this process: Seamless collaboration between different teams is challenging. With more developers and different teams in different offices, communication costs increase. It becomes difficult to maintain consistency across different teams. Working with external teams makes it difficult to manage the security of sensitive information. KMM can address almost all of these problems by developing core modules, defining protocols, and adopting a separate approach for UI and logic development: Allows each team to focus on their part. Can greatly facilitate collaboration. Reduces the time and cost required for communication. By having the core modules developed by the KMM team on a consistent basis, most inconsistencies are eliminated in advance. Although KMM supports a single codebase, the separation of the UI and logic layers allows for the use of multiple repositories. The core modules are developed by the KMM team and the SDK is provided to external teams. This eliminates the need for the source code to be disclosed to external teams and reduces the risk of leaking confidential information. This is difficult to achieve with other cross-platform technology solutions. In conclusion, it can be said that KMM brings significant benefits not only in terms of technical advantages but also in fostering cooperation across divisions and companies. Conclusion Given the importance of KMM in new projects and its potential for significant workload savings, we have already integrated KMM into new projects for the next major release. We will continue to monitor new technologies and tools related to KMM and seek opportunities to further enhance efficiency.
はじめに はじめましての人ははじめまして、こんにちは!BASE BANK Division(以下、BANKチーム)のフロントエンドエンジニアのがっちゃん(  @gatchan0807  )です。 今回はBANKチームの中で職種横断で行っている「月次会」というLT会について紹介させてください! この月次会(LT会)を毎月実施していることで、チームにとってどんなメリットがあるのか?や、実施における工夫を知っていただき、皆さんのチームでもスモールスタートで実施してみていただけるととっても嬉しいなと思っています! また、今回は記事のタイトルの通り、その月次会で半年間(実際には2月~10月の計8回)、毎月様々なお題でLTをしたので、ついでにその内容とそこから得た知見もすこし紹介させてください! もし、開催予定の技術イベントのテーマで合致しそうなタイトルがあれば X などで気軽にお声がけいただけると嬉しいです! そもそも月次会とは? 2022年11月からBANKチームで開始され、開始当時から以下のような想いと目的で実施されきたものです。 (この時期は僕はまだBANKチームにはおらず、BASE側のCRM機能の改善をしていたりしました) 社内のNotionには以下のように月次会についてまとまったポータルが誰でも見られる場所に設置されており、事業責任者の柳川( @gimupop )さんが目的を言語化して書いてくれていたり、ここに資料へのリンクがまとまったNotion DBが設置されていたりします。 この会に関しての情報がまとまったNotionページのキャプチャの一部 (BANKチームでのこの取り組みの前進になった「Product BEER BASH」という社内イベントとそれに対する柳川さんのアツい思いは以下のnoteにまとまって公開されているので、ぜひこちらもご覧ください。 👉 https://note.com/gimupop/n/nb950488d8de8 ) 月次会自体は上記Notionにも書かれているように 「自己開示」と「アウトプットをすることによるPDCAの体現」 を目的として実施されています。 そのため、発表する内容は仕事に関係していなくてもよく、フォーマットも自由(スライドを作ってもいいし、Lookerダッシュボードを見せながらでもいいし、Notionを上から説明していく形でも良い)なので、それぞれ5~10分間でかなり自由に発表しています。 今年からは会の運用を 「ローテーションのメイン枠(発表10分+感想・質問5分)× 4~6人」 「任意発表者枠(発表5分のみ)× 1~3人」 という2部構成に変えたので、発表の頻度としてはだいたい3ヶ月に1回、自分の番が来るぐらいのスパンで回っています。 実際に過去にあった発表だと以下のようなものがあります タイトル: 古着の話 古着の分類方法などの基礎知識や、古着屋さんがECに対してどんな課題感を持っているか?という知見の共有など タイトル: 今、恐竜が熱い お子さんがハマり、そこから参加したイベントや恐竜博物館の紹介、直近恐竜のこれまでの常識が変わってきている!という話、さらにはECでこんな商品を出そうかなと考えているアイデアの紹介など タイトル: もっとチームの皆さんとBANKプロダクトユーザーをみていきたい ユーザーインタビューの概要 & ユーザーインタビューとは?の共有など 発表は基本オフラインでみんな聞きながら、Figjamボードに付箋や絵文字、リアクションを貼ってワイワイしています。 発表者側としてはここに感想がたくさん集まっているのを後で見て嬉しい気持ちになれるし、ファシリテーターは非同期に質問や感想が集まっていくので発表後のタイミングで拾ったりしやすいというメリットがあります 🙌 gatchan0807がこの会を見てきて感じたこと BANKチームではこんな感じの会を毎月実施しており、2023年11月(ちょうど1年前)に異動して毎月参加してきて感じたことをざっくり書いておきます。 今の組織フェーズには月次会をやることでコミュニケーションが円滑になるなどメリットがたくさんあるなと感じています 🙋 発表起点で「こんなことやりたい」などを 異なる職種(アナリスト)の人に相談するきっかけになってよかった チームメンバーのパーソナリティを知る機会としてとても活用できる 入社時の自己紹介をしっかりできる場所 があるのはとても良い。どうしても仕事の中、ランチ・飲み会などで自己紹介できる量には限界があるし、話の流れが合致しないこともあるので… 後から入った人も、 長くいる人のパーソナリティを知る 機会になっている Lookerダッシュボードの場所を知れたり、Slackのどこでやり取りされているのか?のような「そんな情報がそこに眠っていたのか!」という気づきや「そうやってみればいいのね!」という 知識のインデックスが貼れる 発表方式にもPDCAが回っていて、最近はCanvaを使っていい感じのスライドをさくさく作って発表する人も出てきてとても良い 大体発表が3ヶ月に1回ぐらいなので、(任意発表で毎回やるとかしなければ)意外と話すネタは見つけやすい 逆に毎月発表はネタ探しとスライド作り大変だった(自業自得) こんなLTをしました ここからは記事タイトルの回収で、月次会で私がどんなLTをしていたかを紹介させてください。 もし、読者の皆さまのなかで何か琴線に触れるものがあれば、ぜひお話ししましょう!お気軽に X ( @gatchan0807 )までお声がけください〜!🙌 2024年2月: Chrome DevToolsのススメ 実際に使った「Chrome DevToolsのススメ」のスライドの抜粋 フロントエンドエンジニア必携のChrome DevToolsの便利機能をベースに紹介 プロダクトマネージャー、デザイナーの確認作業を楽にする機能や、ネットワークが遅い場合、色覚特性の場合もかんたんに確認できる機能などを紹介 エンジニア以外の職種の方に「実は悪い人たちはこうやって使ってたりする」というのをイメージしてもらい、セキュリティ意識を高める事例も紹介 例えば、Chrome DevToolsを使うことで画面には出ていないこんなデータが見られる 例えば、Chrome DevToolsを使うことで画面を簡単に書き換えてキャプチャが撮れる 2024年3月: 戦略的自己学習のススメ 実際に使った「戦略的自己学習のススメ」のスライドの抜粋 前月にチームメンバーが「戦略的他者交流のススメ」というタイトルで発表をされていたので、それに関連させて話した内容 自分がどんな目的・考え方で調べ物(自己学習)をしているのかを話す自己開示の発表 コミュニケーションを円滑にするために事前に調べ物をしていること 考え事や調べ物のショートカットや、説明をうまくするために調べ物をしていること 2024年4月: (チーム全体でストレングスファインダーを実施する会になったのでおやすみ) ストレングスファインダーの会について、詳しくはこちらの記事をご覧ください basebook.binc.jp 2024年5月: ぼくのかんがえた さいきょうの じょうほうほぞんじゅつ 実際に使った「ぼくのかんがえた さいきょうの じょうほうほぞんじゅつ」のスライドの抜粋 4月のストレングスファインダーの結果に「収集心」という性格特性がTOP5に入っていることから話すことにしたもの 3月の発表で自己学習の話をしていたので、そこで得た知識をどう蓄えているか?というところにフォーカスした内容 Notion、Google Keepなどを使った知識集積プラットフォーム構築を行った後、最終的にSlackに落ち着いている状態 2024年6月: ここがスゴいよ!JavaScript! 実際に使った「ここがスゴいよ!JavaScript!」のスライドの抜粋 Arcadeというプロダクトを知り、そのプロダクトがChrome拡張 + Webアプリケーションで完結してプロダクトの価値を作っているのを見て、これを実現するためにはJavaScriptの力をふんだんに使う必要があるんだよ!という話 合わせて、JavaScriptを使ってできることを伝え、エンジニア以外のメンバーにもプログラミングや業務効率改善に興味を持ってもらえるように話した発表 2024年7月: もうすぐ来るオンデバイスLLM(SLM)の未来 実際に使った「もうすぐ来るオンデバイスLLM(SLM)の未来」のスライドの抜粋 2024年11月23日に開催されるイベント( Fullstack AI Dev & Raycast Summit )のスポンサーLTの内容の元になった発表 個人的にPWAの頃からChromeブラウザに興味が強いので、Google I/OでGemini nano in Chromeを知ったことから実際に触ってみて、得た知識を話したもの 合わせてGemini nanoがAndroidスマホに、Apple IntelligenceがiPhoneに入ることが話題になっていたので、それらも合わせて言及 これもエンジニア以外にもわかってもらえるようにイメージしやすい言葉を最大限使って発表 2024年8月: あなたの知らない.new ドメインの.世界 実際に使った「あなたの知らない.new ドメインの.世界」のスライドの抜粋 Googleが管理するgTLDの 「.new ドメイン」についての知見共有のための発表 https://docs.new でGoogle Docsの新規ページが作成できることなどを業務Tipsとして話したり 自分たちのサービスで作るならこういうドメインがいいかな?という候補を出したり おまけでNew gTLDで語呂合わせドメインが取れることを話したり、BrandTLDについても共有 2024年9月: Webの未来 / Web「ポータル」の未来 実際に使った「Webの未来 / Web「ポータル」の未来」のスライドの抜粋 expand.aiというプロダクトがY Combinatorから調達し、話題になっているのを社内で見つけ、それについて調べた知識を共有した発表 このプロダクトを調べている時にWeb上の情報ポータルサイトの未来を案じたので「こんな変化が必要な世界になりそう」という私見から話したもの expand.aiがどのように使えるのか?という知識に、前職の経験も組み合わせてポータルのポジションが危うくなりそう…という危機感がメイン サービスを継続提供するためにどんな解決策があるか、どんな価値提供が必要かを(ほぼ妄想ベースで)語ったりしました 2024年10月: 今日から始める生成AI 実際に使った「今日から始める生成AI」の未来」のスライドの抜粋 チームの生成AIの活用度合いをもっと上げたいと思い、生成AIに対してのスタンスを共有し、「ハードルをできる限り下げて使い始めてみよう。」というメッセージの発表 イメージしてもらいやすいように「ドラえもんだと思って使おう」というメッセージを伝えている のび太くんがドラえもんに泣きつくように、どんなことだって一旦相談してみてもいい ドラえもんのように失敗することもあるので、温かい目で失敗を教えてあげよう(完璧を求めすぎない) そこから派生して、ロールプレイプロンプトを使った利用時のテンションの上げ方や、JSONでやりとりする形での精度の改善などのちょっとしたテクニックも紹介 gatchan0807がこれだけ発表してきて思ったこと 月並みな表現にはなってしまうのですが、何より アウトプットを起点にした学習は定着が早いし、モチベーションの維持がとてもしやすいので良い なと思いました…! また、生成AIに対して個人的な興味は強かったものの、プロダクトとして関わったり仕事として関わる見込みはほぼありませんでした。 ですが、積極的に発信していたことで生成AI関連のイベント(後述)へのスポンサリング + スポンサーLT担当をさせてもらう話が進んだり、実際に生成AIをプロダクトに組み込む方法を考え始めたりと(まだまだ構想・妄想段階)、もともとやりたいと思っていた仕事をやらせてもらえていたのですが、そこに追加して新たに生成AI関連のお仕事が増え、仕事をさらに楽しむ要因にもなりました 👏 チームに対しての知見共有も「わかりやすい!」や「学びがあった!」といったフィードバックや感謝を受け取れてとてもテンションが上がりますし、非常に勝手ながらBANKチームでこの会を一番うまく活用している人間なんじゃないかなと思っていたりします 😎 おわりに 今回はBANKチームの「月次会」という月に1回社内で行っているLT発表会の取り組みを紹介させていただきました。 もし、このような取り組みを行っているBASE / BASE BANKチームにご興味を持っていただけたのであれば、ぜひお気軽にカジュアル面談や X でのお声がけなどをしていただけますととても嬉しいです! まだまだBASE BANKチームとしては作りたいもの、提供したい価値がたくさんあって、それらを一緒に実現していける仲間を募集しています。ぜひBANKチームにお力をお貸しください 🙇‍♂️🙇‍♂️🙇‍♂️ binc.jp また、合わせて gatchan0807 が半年間、毎月発表した内容も紹介させていただきました。 BANKチームとして、中小規模のエンジニアイベントへの会場提供・飲食スポンサーをやっていく動きもあるので、エンジニアイベントの主催、スタッフの皆さまの中で、もしこういった話にご興味ある方がいらっしゃればお気軽に X などでお声がけいただけますと幸いです! もしくは、こちらの記事を X などでシェアしていただくのもとってもとっても嬉しいです! devblog.thebase.in 最後に、記事内でも少し触れましたが 2024年11月23日(土)に実施される以下のイベントにBASE BANKチームがスポンサーをさせていただき、LTもさせていただきますのでぜひオフラインでご参加 or オンラインでご覧いただけると幸いです! devx.jp

動画

該当するコンテンツが見つかりませんでした

書籍

該当するコンテンツが見つかりませんでした