Industry Technology Inc.
Company
| Key | Value |
|---|---|
| Company | Industry Technology Inc. |
| Employee | 30+ |
| Founded | 2018 |
| Web Site | https://industrytechnology.co/ |
| Description | Industry Technology is a proptech company that develops enterprise applications for Japan’s largest real estate companies |
| Location | Tokyo, Japan |
Team
| Key | Value |
|---|---|
| Title | CTO / Software Engineer (Backend) |
| Mission | My mission was to lead the development team as CTO while personally developing the entire backend code from scratch. |
| Term | 2019-04 - 2024-09 |
| Team Size | 8 |
| Type | Permanent |
Projects
| Key | Value |
|---|---|
| Summary | IT1. I designed SLIs/SLOs and developed custom metrics and tracing to improve reliability, which built customer trust and won us a major enterprise contract. |
| Situation |
|
| Task | My mission was to improve system reliability to meet the strict standards expected by a major enterprise customer. |
| Action |
|
| Result | As a result, the improved system reliability built customer trust. This led to winning a major enterprise contract. |
| Challenge | A key challenge was defining clear and meaningful SLOs. It was difficult to set goals that genuinely reflected user value, rather than just measuring random numbers. |
| Solution | To solve this, I ran thorough load tests to see how SLIs behaved during traffic spikes. I used this data to set realistic SLOs. I adjusted them over time as needed. |
| Learning | I learned that balancing reliability and agility is crucial for meeting customer satisfaction. |
| Skill | SLI/SLO / Observability / Monitoring / Load Test / Leadership / Difficult Decision |
| Key | Value |
|---|---|
| Summary | IT2. I developed a group chat service and notification system that support texts, photos, videos, and PDFs, which helped increase user engagement and productivity. |
| Situation |
|
| Task | My mission was to develop a complete group chat service and notification system to meet business needs. |
| Action |
|
| Result | As a result, the new system provided a smooth chat and notification experience. User engagement and productivity improved. |
| Challenge | A key challenge was the very tight schedule. We didn't have enough time to build a complex WebSocket-based real-time solution. |
| Solution | To solve this, I extended the existing API using polling for near real-time updates instead of building a WebSocket server. |
| Learning | I learned that practical solutions often bring business benefits more quickly than technically perfect ones. |
| Skill | Feature Development / Tight Schedule / Difficult Decision / Event-Driven |
| Key | Value |
|---|---|
| Summary | IT3. I solved a performance issue with the database by optimizing indexes and queries, and by using caching, which reduced slow query occurrences by 70%. |
| Situation |
|
| Task | My mission was to find the root causes of performance problems and optimize queries for better stability and speed. |
| Action |
|
| Result | As a result, these optimizations reduced slow query occurrences by 70%. System performance became stable, especially during peak hours. |
| Challenge | A key challenge was finding the exact source of slow queries. We had complex data models and complicated query patterns. |
| Solution | To solve this,
|
| Learning | I learned that tuning the database according to the business characteristics can improve user satisfaction. |
| Skill | Performance Optimization / Difficult Problem |
| Key | Value |
|---|---|
| Summary | IT4. I migrated from monolith to microservices architecture using a BFF layer to ensure no downtime, which improved system scalability and reduced database load. |
| Situation |
|
| Task | My mission was to create separate microservices from the main monolithic service to spread the load and improve system scalability. |
| Action |
|
| Result | As a result, the migration successfully spread traffic for core features across separate microservices. This greatly reduced the write load on the main database. |
| Challenge | A key challenge was doing the migration with no downtime to avoid disrupting users. |
| Solution | To solve this, I added a Backend-for-Frontend (BFF) layer in front of the new microservices. This let us gradually switch traffic from the monolith to each new service. We achieved a smooth and controlled migration. |
| Learning | I learned that migrating a system with no downtime requires several times more effort than a typical migration. |
| Skill | Migration / Microservices / BFF |
| Key | Value |
|---|---|
| Summary | IT5. I led the migration from MySQL 5.7 to 8.0 and managed an incident during the process, which improved query performance by 20%. |
| Situation |
|
| Task | My mission was to smoothly upgrade the database to MySQL 8.0. |
| Action |
|
| Result | As a result, we completed the migration to MySQL 8.0. After we stabilized it, overall query performance increased by 20%. |
| Challenge | A key challenge was that we got an incident during migration, affecting user experience on some service pages. |
| Solution | To solve this:
|
| Learning | I learned that unexpected issues can happen despite careful preparation, and it's important to respond calmly. |
| Skill | Incident Response / Migration |
Technology
| Value | Tag |
|---|---|
| Go | Backend |
| gRPC | Backend |
| MySQL | Backend |
| PostgreSQL | Backend |
| Redis | Backend |
| AWS | Infrastructure |
| Google Cloud | Infrastructure |
| Terraform | Infrastructure |
| Datadog | Monitoring |
| Prometheus | Monitoring |
| Next.js | Frontend |
| React | Frontend |
| TypeScript | Frontend |