• From PhD to Product Development: My First Months at Colorkrew

    This is Lucky Li, I joined Colorkrew as a new graduate from April. My position is Engineer, belonging to the Colorkrew Biz product team. My work is developing Colorkrew Biz which is a well-know Saas in Japan. Before I joined, I conducted academic research and pursued a PhD at the National University.
    ...
  • Bloom Filter 101

    What data structure would you use to determine whether an entity is in a given dataset with speed? Many would answer “Hashtable” without hesitation. Hashtable performs well when accessing an entity among a group of entities: the average time complexity of its read operations is constant. Nevertheless, using Hashtables can be rather costly when dealing with large datasets.
    ...
  • Deciding to Grow

    Moving to Japan The first time I came to Japan, I was a tourist. I spent 1 week here during my final year of college. The second time I came to Japan, I was moving here, starting a new job and a different way of life. In the 7 years between, I worked as a software engineer across many American cities and companies.
    ...
  • New Job, New Start, New Challenge

    Time flies and we have entered 2024. And I had joined Colorkrew for 3 months. I am filled with excitement for what the future holds. My last job was as the director of a multinational e-commerce company. Although the company has gone public, it still maintains the atmosphere of a start-up company.
    ...
  • Bon-Odori, Takoyaki and more: Snapshots from Colorkrew’s Office in 2023

    As the new year begins, I reflect on the last 8 months since my move to Japan; In that time, I have gotten to know my new colleagues better through a myriad of social activities held in Colorkrew’s office in the past year. One of the most memorable events that I participated in was the Welcome Party, where we welcomed new members to the team through a host of food, drinks and fun activities.
    ...
  • A Brief Introduction to Pagination

    For many software engineers, endpoints for retrieving a list of entities are probably their favorite to implement–all they need to do is build an SQL statement that grabs all the available items, along with some other minor tasks. It’s all fun and games until the number of entities in the database becomes a bottleneck, where each GET request returns tens of thousands of items.
    ...
  • A More Elegant Alternative to Golang's Error-Handling

    Recently, I joined a new project at Colorkrew that uses Golang as its backend language. Almost everyone on the team, including myself, had no experience with Golang, so we had to start from zero. Learning Golang has been a rewarding experience so far. After all, it is one of the most in demand programming languages now.
    ...
  • Separation of Concerns: Split Your React Components into Containers and Views

    Many frontend engineers probably have experienced the head-scratching moment when their React components become so gigantic that they keep losing their train of thought when navigating through their frontend code. To salvage readability, one of the most common practices is to split up the humongous React components into smaller pieces. Traditionally, they would do this by chopping up the JSX elements.
    ...
  • Sci-fi to reality: How fiction influences technology

    Throughout my life I been captivated by many forms of fictional media. But in my career as a visual designer in the technical field, nothing offers greater inspiration than science fiction. To explain why it’s so important to me personally, it helps to establish a few things about my background…
    ...
  • RESTful API 101

    It is almost impossible for a backend engineer to be oblivious to RESTful API in the 21st century, as it is one of the most popular API types. We can mostly attribute its popularity to its scalability, flexibility, and simplicity, all of which are highly sought-after qualities in modern APIs. If you also find these qualities desirable, you should consider building APIs following the RESTful principles.
    ...
  • A sense of community in unfamiliar lands

    The days and weeks leading up to my first day at Colorkrew I was of course brimming with excitement, but I’d be lying if I said I wasn’t nervous. It would be my first time living outside of my home country in a place that I’d only ever been to once for a week long trip 4 years ago.
    ...
  • 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.
    ...
  • 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.
    ...