Introduction to Functional Programming
The first programming paradigm that most programmers in the 21st century learn is probably Object Oriented Programming (or OOP for short). Object Oriented Programming allows us to transform real-world entities into highly abstract models with descriptive properties and executable methods to simulate their behaviors in the real world. Despite its numerous advantages, such as readability, reusability, and maintainability, it also introduces immense complexity to state management....Colorkrew Biz Sales CAMPで感じた会社の良いところ
こんにちは!今年2月にColorkrewに中途で入社したMotokiです。入社して半年が経過しました。 私はColorkrewのプロダクトであるColorkrew Bizの営業を担当しています。 ちなみにColorkrew Bizは、フリーアドレスでの人探し、ハイブリッドワークの出社予約、資産管理や備品管理での集計作業などの「名もなき仕事」と呼ばれるような煩雑な業務を改善するための、ビジネスコンシェルジュツールです。 私の前職は金融機関ということもあり、環境が大きく異なる中で、カルチャーの違いに最初は戸惑いながらも、日々新しいチャレンジを楽しんでいます! 今回のブログでは、今年4月に行った営業合宿についてお伝えします。 合宿について Colorkrew Bizの営業チームで、今年の4月に合宿を行いました。 チーム力向上と、新機能についてディスカッションすることが目的です。 コテージに詳しいメンバーから合宿場所のアドバイスをもらい、箱根の「mysa」という古民家風のコテージを借りることになりました。 BGMでCDを流しているのでは?と聞き間違うほど、ウグイスのさえずりが聞こえてくる自然豊かな素晴らしい施設でした。 普段とは違う環境のもと、リラックスしながら建設的な話し合いができたと感じています。 ディスカッション 東京から神奈川県の箱根に向かい、到着次第、Colorkrew Bizの新機能について話し合いを行いました。 お客様、パートナー企業、自社からそれぞれ要望として頂くことの多い機能を、付箋に書いて列挙する方法で、新機能の案を共有していきました。 Colorkrew Bizがこうなればより良くなる、ということを一人一人が日頃から考えていることがよく分かりました。 また、意見交換をする中で、立場や経験に関係なく案を出し合える環境はColorkrewで働くことも魅力の一つだと実感しました。もちろん入社して間もない私の意見も分け隔てなく聞いてもらうことができ、良い議論を重ねることができました。 普段はそれぞれが営業として顧客との折衝をしていることから、こういったディスカッションに専念できる環境はとても貴重であり、重要な時間でした。 ディスカッションの結論としては、実装が必須と考える機能を5つに絞り、今後開発チームを巻き込んでその情報について共有をしていくことを決定しました。 交流 ディスカッション後は、みんなで買い込んだ食材でバーベキューを行いました。 バーベキューに必要な機器も全て揃っていたので、ストレスフリーでバーベキューが可能で、美味しい料理とお酒を嗜みながら、仕事のことからプライベートなことまでおしゃべりに興じました。 テントサウナもあり、朝早起きして、サウナをする時間が至福のひとときでした。 1泊2日を一緒に過ごしたことで、よりお互いのことを知ることができ、チーム力の向上にも繋がったのではないかと実感しております。 Colorkrewの良さとは 私が考えるColorkrewの大きい特徴は、会社全体として前向きであることです。 会社のミッション「たのしい!をうみだしとどける」を全員が体現しています。その為に必要なことを、それぞれの役割の中で前向きに取り組んでいることを日々実感し、会社に入社して良かったなと感じています。ビジョンの体現って簡単なようで難しいので。 入社して半年たちましたが、早い段階からチームの一員として受け入れてもらえていることを肌で感じており、このチームで大きな成果を残していきたいと思っています。 個人での活躍以上にチームで大きな成果を残したいという人にはカルチャーフィットする会社だと身をもって感じているので、意欲のある方にはぜひColorkrewで新しいチャレンジをしてみてください!...OAuth Demystified: A Straightforward OAuth Tutorial
Incorporating OAuth (short for Open Authorization) into an application might seem somewhat intimidating and disheartening for many entry-level software engineers. After all, they need to spend hours—or even days—implementing a complicated authentication process with the correct configuration, only to realize they have merely completed a tiny feature. Despite all the hard work it entails, OAuth is a safe and efficient way for users to grant websites and applications access to their personal information....Getting started with Design Systems
Hello, I’m Bryan and a little over three months ago I moved to Japan from Scotland to join Colorkrew’s design team! When I was a child I played with Lego for hours. These simple bricks brought so much joy to this future designer. _ _ This messy pile has endless potential, with just a little imagination....A Step Forward – becoming a software engineer in Japan
Dear Diary – An opportunity In October 2022, I embarked on my journey to Japan as a Japanese Language School student with the aim of starting anew in my professional career and evaluating my comfort level for potentially living here for the next decade. At that time, my proficiency in Japanese was limited to JLPT N4 certification, barely allowing me to engage in conversations or read signboards....Embracing AI and Ocean Breezes: A Recap of Developer Camp at Enoshima
This Developer Camp holds a special place in my heart as it was my inaugural experience attending a developer camp. Set against the picturesque coastline of Enoshima, Japan, this camp combined technical presentations, team activities, and beachside brainstorming sessions. Day 1: Arrival, Introductions, and Technical Insights: We arrived at Ofuna station, did a quick grocery trip to stock up....Async/Await: a Game Changer for Haters of Promise Chaining
If you became a frontend engineer after 2015, chances are that you have used or at least heard about Promise. As I have covered in my previous blog, Promise can help us specify sequential relations between operations in asynchronous programming in a readable and maintainable manner. Promise object in JavaScript has methods, such as then and catch, that can help us organize the sequential execution of operations in a pattern called Promise Chaining....Start of a colorful journey
As I sit here reflecting on my first three months at Colorkrew, I am filled with excitement for what the future holds. I joined the Biz team in January 2023. From day one, I was welcomed with open arms by my friendly coworkers and immediately felt a sense of belonging that was amplified by the fact that software that we developing is also the one we use in our everyday work....The Whys and Hows of Promise in JavaScript
If you have done any web development after 2015, chances are that you have heard of the concept of Promise. It wouldn’t be an overstatement to claim that Promise is ubiquitous in modern-day front-end codebases. However, many web developers—especially those who do not have much experience in front-end development—have been using Promise without thoroughly understanding its inner working....ChatGPT とコーポレートエンジニアの付き合い方
こんにちは。Azure Cloud Solution Architect の秋山です。 お客様案件の業務の時間を少し減らし、今年の1月から少しずつコーポレートエンジニアとしての活動を始めています。 Chat GPT の話 最近は触れざるをえない ChatGPT の話です。 さまざまな企業が話題の ChatGPT を企業活動に取り入れ始めています。 Colorkrew でも ChatGPT を使いたい、という人はじわじわと増えてきました。 大きく2種類のタイプがいます。 いわゆる Open AI 社の ChatGPT をただ使いたい人 開発者として API をいじりたい人 コーポレートエンジニアとしては、以下の2軸を天秤にかけながら活動する必要があります。 情報統制によって組織防衛したいが、 従業員の生産性を高めたい Colorkrew での Chat GPT の導入について 私たちが直近で進めたことは以下の3点でした。 ChatGPT(やそれに類するサービス)の利用ポリシーを定めて周知する ChatGPT の API を触れるよう、開発者用アカウントを用意する 社内で気軽に利用できる環境を整備する まずポリシーについて、社内の機密情報を AI 学習に使われることには避ける必要があります。情報管理の観点からそのあたりの周知のために整備しました。 その後、つい今週 Chat GPT の Data Control の設定が追加されたため、これに合わせてポリシーも改訂しています。 ref: How do I turn off chat history and model training?...All You Need to Know about Isolation Levels and Read Inconsistencies
Just like real life, the world of computer science is replete with trade-offs. Relational databases are no exception. When interacting with relational databases, we face the dilemma between data consistency and transaction concurrency. The former guarantees the data is trustworthy, while the latter ensures relational databases can conduct transactions swiftly. Both are desirable qualities of relational databases, but we cannot simultaneously achieve them to the fullest extent....CAP Theorem But Better? Introduce the PACELC Theorem
In the previous blog, I introduced the famous CAP Theorem (please give it a read if you haven’t already before you start reading this one). It involves a trilemma of needing to give up one of the following three qualities: consistency, availability, and partition tolerance. Since all three are desirable features of modern-day distributed systems, determining which one to relinquish has become one of the most important and delicate decisions for designers of complicated distributed systems....What You Need to Know about the CAP Theorem
The world that we live in is far from perfect. We constantly find ourselves in dilemmas, sometimes even trilemmas, that require us to make trade-offs. When shopping, we can only choose two out of “cheap,” “fast,” and “good.” In economics, a government cannot enjoy “sovereign monetary policy,” “fixed exchange rate,” and “free capital flow” at the same time....To all new graduates
Those who want to work for a world-changing startup from Japan? Starting your career as a new graduate is one of the most important life events for many people. Over the past 30 years, countries around the world have accelerated their economic ties, leading to globalization. Meanwhile, politically, the world has changed from the relatively stable international situation of the latter half of the 20th century to the VUCA (Volatility, Uncertainty, Complexity, and Ambiguity) era, due to the confrontation between liberal capitalism and former communist countries and the increasing presence of the Global South....