
Elegant development these days
Description
Book Introduction
- How do we develop IT services in these rapidly growing markets?
- Check out the story of the development of 'Baedal Minjok' by 'Elegant Brothers'!
Baedal Minjok, a delivery service run by Woohyung (Woohyung), began its service in 2010 and has now become a leading food tech platform.
Woohyung has been consistently sharing his technical know-how through his 'Elegant Technology Blog'.
This book is a selection of blog posts, filled with stories of onboarding, development, culture, and issue management that Woohyung experienced and overcame as he grew up.
We've removed as much code as possible to make it easier to read, and preserved the individual writing styles of each developer and author.
I hope this book will serve as a useful guide for developers and planners who are curious about how IT companies work these days.
I've left a link at the end of the book, so if you're curious about the original text, read it!
- Check out the story of the development of 'Baedal Minjok' by 'Elegant Brothers'!
Baedal Minjok, a delivery service run by Woohyung (Woohyung), began its service in 2010 and has now become a leading food tech platform.
Woohyung has been consistently sharing his technical know-how through his 'Elegant Technology Blog'.
This book is a selection of blog posts, filled with stories of onboarding, development, culture, and issue management that Woohyung experienced and overcame as he grew up.
We've removed as much code as possible to make it easier to read, and preserved the individual writing styles of each developer and author.
I hope this book will serve as a useful guide for developers and planners who are curious about how IT companies work these days.
I've left a link at the end of the book, so if you're curious about the original text, read it!
- You can preview some of the book's contents.
Preview
index
Chapter 1: Creating Baemin-daum
1.
My experience with the B Mart front-end onboarding process
2.
Introducing the Payment System Team
3.
What is it like to work as a senior developer at Woowa Brothers?
4.
Improving the Common System Development Team's Code Review Culture
5.
The Birth of Team Culture
6.
How to communicate with PMs in Elegant Brothers: Carpe Piem
Chapter 2: Growing as a Front-End Developer
1.
My First Front-End Development Team Story
2.
A self-service design system for developers
3.
Can't you make it a little easier to pour the cola?
4.
A UX development period that requires a lot of effort on the part of the creator.
Chapter 3: Growing as a Backend Developer
1.
Developer Murphy's Law
2.
Successful Escape from the Main Database IDC
3.
Message Delivery Duplication Journey
4.
Baemin Sanghoe and search platform integration
5.
Network authentication system replacement
6.
Serving statistical data for the boss
Chapter 4: Upgrading to the Next Level with Artificial Intelligence
1.
Improving Baemin App Review Quality with Machine Learning
2.
Baemin's AI service and MLOps introduction
3.
Connect ChatGPT to Slack and use it for work.
Chapter 5: Managing Testing and Code Quality
1.
Testing the settlement system that returns when forgotten
2.
A reflection from a quality manager responsible for a rapidly growing service.
3.
Mastering Complex Domain Front-End Projects with Unit Testing
4.
Introducing automated UI regression testing
Chapter 6: Growing Through Trial and Error
1.
Baemin's gift-giving craze sparked by the Family Month event
2.
Our approach to dealing with external system failures
3.
Elegant disability response
4.
Extra Backup Applicator for Disability
5.
A Case-by-Case Guide to Safe S3 Use
Original link
1.
My experience with the B Mart front-end onboarding process
2.
Introducing the Payment System Team
3.
What is it like to work as a senior developer at Woowa Brothers?
4.
Improving the Common System Development Team's Code Review Culture
5.
The Birth of Team Culture
6.
How to communicate with PMs in Elegant Brothers: Carpe Piem
Chapter 2: Growing as a Front-End Developer
1.
My First Front-End Development Team Story
2.
A self-service design system for developers
3.
Can't you make it a little easier to pour the cola?
4.
A UX development period that requires a lot of effort on the part of the creator.
Chapter 3: Growing as a Backend Developer
1.
Developer Murphy's Law
2.
Successful Escape from the Main Database IDC
3.
Message Delivery Duplication Journey
4.
Baemin Sanghoe and search platform integration
5.
Network authentication system replacement
6.
Serving statistical data for the boss
Chapter 4: Upgrading to the Next Level with Artificial Intelligence
1.
Improving Baemin App Review Quality with Machine Learning
2.
Baemin's AI service and MLOps introduction
3.
Connect ChatGPT to Slack and use it for work.
Chapter 5: Managing Testing and Code Quality
1.
Testing the settlement system that returns when forgotten
2.
A reflection from a quality manager responsible for a rapidly growing service.
3.
Mastering Complex Domain Front-End Projects with Unit Testing
4.
Introducing automated UI regression testing
Chapter 6: Growing Through Trial and Error
1.
Baemin's gift-giving craze sparked by the Family Month event
2.
Our approach to dealing with external system failures
3.
Elegant disability response
4.
Extra Backup Applicator for Disability
5.
A Case-by-Case Guide to Safe S3 Use
Original link
Detailed image

Into the book
The term Developer Relations (DR) is somewhat unfamiliar.
Many people are aware of the Woowa Brothers' DR activities through technology blogs, Woowa Tech YouTube, etc., but not many know exactly what it means.
Simply put, if PR (Public Relations) refers to activities that inform the general public about a company and increase its value, DR is a series of activities targeting developers.
Elegant Brothers' DR engages in various activities to create opportunities for technical exchange and communication between internal and external developers, enabling them to grow together.
Elegant Brothers values DR activities as much as PR. We have a dedicated DR team, where team members with specialized expertise are responsible for various programs promoting "developer exchange."
Although I'm not a developer, my work is rooted in my interest and understanding of developers and development organizations. While both PR and DR differ in their target audience, the core focus is on conveying the company's appeal.
---From "The Elegant Brothers' DR Team Story You Can't See on Tech Blogs"
The Payment System Team is responsible for three domains: Billing, Bizmoney, and Points.
From 9:30, developers from each system gather for a morning meeting.
We'll take turns briefly sharing what we did yesterday, what issues we had, and what we'll do today.
By talking like this, we can understand different domains and come up with better problem-solving methods.
…
Today is our bi-weekly sprint time.
All developers gather together to share what they liked and disliked about the work they did, and to list out what they want to do in the next two weeks.
These sprint meetings are managed using Jira and Wiki.
When I look at the tickets I've handled and will handle in the future, I feel proud and realize that I wasn't just stealing my paycheck.
…
The last task for today is the Baedal Minjok event that will start shortly.
The only state-sanctioned DDoS attack is expected to occur.
All developers monitor their monitoring systems to prepare for the influx of traffic.
While all of Elegant Brothers' systems handle a lot of traffic, the payment system in particular requires a lot of attention because it involves money.
"What if a payment timeout occurs? How do I handle a surge in payment requests? What do I do if a payment cancellation request fails?" These are the kinds of questions you'll find yourself wondering.
We must not allow any wasted traffic to occur.
What may be a small amount of traffic to us can lead to inconvenience and damage to others.
---From "A Day in the Life of a Woohyung Developer"
The recent growth rate of Baedal Minjok's service has been truly frighteningly steep.
Accordingly, both systems and services had to respond and develop very quickly.
In 2019, Baedal Minjok's system transitioned to a microservices architecture to survive, and the results were very successful.
Afterwards, the system was largely divided into platform, front server, and app/web client teams, and the teams worked together in planning/development/QA.
It was a time when we were all starting to speed up service development by stabilizing the system and finishing up remaining tasks.
I started working as a QA for the Baemin Front Search Service Team, which develops front-end servers (customer servers such as exhibition and review domains).
…
With the app being released every two weeks, testing had to be done constantly and there had to be no failures in the test environment.
I thought that if the test environment was unstable and I couldn't test the app, I would have to work overtime, the client would have less time to find and fix bugs, and it would be difficult to meet the two-week deployment cycle.
The server was decided to support stable development/testing without interfering with the app's deployment cycle.
---From "Managing Rapidly Growing Service Quality"
Since failures are growing pains that occur during various processes such as service growth and service changes, there is no way to fundamentally prevent failures from occurring.
However, trust in the service can be maintained through the process of responding to obstacles.
Even if an outage occurs, minimizing the impact, recovering quickly, providing customers with appropriate information, and taking steps to prevent similar inconveniences are all ways to maintain customer trust.
…
All systems have monitoring systems in place to detect anomalies.
If an anomaly is detected, an alert is immediately sent to Slack.
Among these, we also operate an on-call system so that alarms that require special attention can be immediately contacted by the person in charge.
Elegant Brothers operates a variety of alarm channels tailored to each individual's needs. They detect service anomalies by referencing various indicators, including alarms for each system, alarms based on business indicators, and alarms that identify abnormalities in external linked systems.
…
Until a few years ago, due to the monolithic structure, all engineers were sensitive to alarms on this channel. However, now, in accordance with the microservice architecture structure, when a problem is called in a domain (e.g., order, review, payment, etc.), the on-call is sent to each person in charge.
Many people are aware of the Woowa Brothers' DR activities through technology blogs, Woowa Tech YouTube, etc., but not many know exactly what it means.
Simply put, if PR (Public Relations) refers to activities that inform the general public about a company and increase its value, DR is a series of activities targeting developers.
Elegant Brothers' DR engages in various activities to create opportunities for technical exchange and communication between internal and external developers, enabling them to grow together.
Elegant Brothers values DR activities as much as PR. We have a dedicated DR team, where team members with specialized expertise are responsible for various programs promoting "developer exchange."
Although I'm not a developer, my work is rooted in my interest and understanding of developers and development organizations. While both PR and DR differ in their target audience, the core focus is on conveying the company's appeal.
---From "The Elegant Brothers' DR Team Story You Can't See on Tech Blogs"
The Payment System Team is responsible for three domains: Billing, Bizmoney, and Points.
From 9:30, developers from each system gather for a morning meeting.
We'll take turns briefly sharing what we did yesterday, what issues we had, and what we'll do today.
By talking like this, we can understand different domains and come up with better problem-solving methods.
…
Today is our bi-weekly sprint time.
All developers gather together to share what they liked and disliked about the work they did, and to list out what they want to do in the next two weeks.
These sprint meetings are managed using Jira and Wiki.
When I look at the tickets I've handled and will handle in the future, I feel proud and realize that I wasn't just stealing my paycheck.
…
The last task for today is the Baedal Minjok event that will start shortly.
The only state-sanctioned DDoS attack is expected to occur.
All developers monitor their monitoring systems to prepare for the influx of traffic.
While all of Elegant Brothers' systems handle a lot of traffic, the payment system in particular requires a lot of attention because it involves money.
"What if a payment timeout occurs? How do I handle a surge in payment requests? What do I do if a payment cancellation request fails?" These are the kinds of questions you'll find yourself wondering.
We must not allow any wasted traffic to occur.
What may be a small amount of traffic to us can lead to inconvenience and damage to others.
---From "A Day in the Life of a Woohyung Developer"
The recent growth rate of Baedal Minjok's service has been truly frighteningly steep.
Accordingly, both systems and services had to respond and develop very quickly.
In 2019, Baedal Minjok's system transitioned to a microservices architecture to survive, and the results were very successful.
Afterwards, the system was largely divided into platform, front server, and app/web client teams, and the teams worked together in planning/development/QA.
It was a time when we were all starting to speed up service development by stabilizing the system and finishing up remaining tasks.
I started working as a QA for the Baemin Front Search Service Team, which develops front-end servers (customer servers such as exhibition and review domains).
…
With the app being released every two weeks, testing had to be done constantly and there had to be no failures in the test environment.
I thought that if the test environment was unstable and I couldn't test the app, I would have to work overtime, the client would have less time to find and fix bugs, and it would be difficult to meet the two-week deployment cycle.
The server was decided to support stable development/testing without interfering with the app's deployment cycle.
---From "Managing Rapidly Growing Service Quality"
Since failures are growing pains that occur during various processes such as service growth and service changes, there is no way to fundamentally prevent failures from occurring.
However, trust in the service can be maintained through the process of responding to obstacles.
Even if an outage occurs, minimizing the impact, recovering quickly, providing customers with appropriate information, and taking steps to prevent similar inconveniences are all ways to maintain customer trust.
…
All systems have monitoring systems in place to detect anomalies.
If an anomaly is detected, an alert is immediately sent to Slack.
Among these, we also operate an on-call system so that alarms that require special attention can be immediately contacted by the person in charge.
Elegant Brothers operates a variety of alarm channels tailored to each individual's needs. They detect service anomalies by referencing various indicators, including alarms for each system, alarms based on business indicators, and alarms that identify abnormalities in external linked systems.
…
Until a few years ago, due to the monolithic structure, all engineers were sensitive to alarms on this channel. However, now, in accordance with the microservice architecture structure, when a problem is called in a domain (e.g., order, review, payment, etc.), the on-call is sent to each person in charge.
---From "Elegant Disability Response"
Publisher's Review
Do you want to create a fast-growing service like Baedal Minjok, the No. 1 food delivery platform?
Find insights into the organizational culture, onboarding, planning, development, and infrastructure of the Elegant Brothers.
We have compiled the technical blog of the Elegant Brothers, which every IT developer has probably read at least once, into a book.
For developers, writing is becoming an increasingly important job skill and self-promotion tool.
In particular, the Elegant Brothers have been publishing articles more consistently than any other IT blog.
I'm so passionate about writing that I have an in-house technical writing coach.
This book details the implementation of functions, problem solving, improvements, and various technologies utilized during the actual service operation of Elegant Brothers.
Beyond simply technical details, you can also get a glimpse into the organizational culture of Woowa Brothers, a company renowned for being a "great place to work," including the attitudes and atmosphere in which its members work, and the efforts the company makes to help its members adapt and immerse themselves in their work.
Plan, develop, and reflect
The most important thing is to share the whole process!
It's okay to think, 'Is it okay to tell you this much?'
Because Elegant Brothers truly believes in the value of technology sharing! Whether it's front-end, back-end, infrastructure, data, or artificial intelligence, reading about their vivid development process feels like eavesdropping on the development team next door.
I recommend this book to anyone who's planning, developing, and reflecting on their work, from juniors just starting out to seniors looking to create their own services.
Take your development skills and work efficiency to the next level with this book, which provides valuable insights and knowledge on outstanding technology and exceptional corporate culture!
Author's Note
DR (Developer Relations) Team: Park Soo-hyun, Koo Eun-hee, Yoo Young-kyung, Lee Yu-ra, Kwon Do-yeon, Kim Ji-eun
DR refers to a series of activities that communicate the company's value to developers.
Communicating through writing on technology blogs is also one of DR's many activities.
We hope that this book, created through the combined efforts of all of the Elegant Brothers, will serve as an opportunity to introduce the value of Elegant Brothers to many developers.
Park Joo-hee
I hope my little experience can provide some good insight to the readers.
Looking back on my past writings, I realized that I had a lot of experience at Woowa Brothers, and I was so grateful that I received help from so many colleagues through those experiences.
This project has been a great opportunity for me to look forward to working with great people for a long time to come.
Hong Ji-hyun
I'm responsible for Product Manager Relations (PMR) at Woowa Brothers. From a PM perspective, I'm developing and implementing a work culture that fosters growth and collaboration among Woowa Brothers PMs. I strive to help PMs and all collaborators create great products together.
Chae Seol-gi
I'm truly delighted that the article I started with, "Let's share all the experiences I had as a senior developer at Woowa Brothers!" has been published in book form.
I hope this article will provide comfort to seniors who are struggling with various concerns by saying, "Others struggle with these concerns too," and to juniors by saying, "Seniors have these concerns too."
Jin Ye-ryeong
Whenever we open a new project, unexpected incidents always come along.
I think the process of facing and resolving unpredictable situations is also a valuable experience.
I hope that everyone who creates services overcomes accidents and grows!
Kim Haru
I enjoyed the opportunity to reread the book and look back on myself when I first joined Woowa Brothers.
I want to send a message of encouragement to all junior developers, including myself.
Fighting today too!
Lee Joo-ho
The technology and stories of the Woowa Brothers, who truly believe in the value of sharing technology, and of those who love such a company.
Kwon Ki-seok
I'd like to take my first steps with Elegant Brothers and express my gratitude to Gwanghui, who provided me with onboarding time and helped me adapt so well.
I hope many people can relate to the development culture of Woowa Brothers, including onboarding! :)
Lee Jun-soo
I am grateful that my writing has been shared with others, and I hope it will be of great help to everyone who reads it.
In the future, I hope to have the opportunity to convey my greetings through various channels, not just through text.
Lee Je-hyun
I am developing the backend for Baemin Sanghoe at Woowa Brothers.
I hope this book will be of some help to anyone considering elegant development.
Ahn Pil-ho
I was surprised to hear that the articles written on the blog were being reorganized and published as a book.
I hope this will be of some help when building a network authentication system.
We will be writing about network operations frequently on the Elegant Brothers Technology Blog, so please visit often.
Jang Jeong-hwan
We would like to express our gratitude to the members of the Quality Development Team and Member Authentication Team who supported the introduction of automated UI testing tools during their busy times.
Thanks to your help, we were able to provide a slightly better environment for our boss.
Thank you to our team for helping us re-task our failed experimental project.
Jo Seong-beom
What was once a small project applied only to a few departments has now become a large project used across the entire company.
I would like to express my gratitude to my team leader and colleagues for their support, allowing me to focus on the project. I hope this article will be of great help to the readers.
Lee Chan-ho
While developing, there were many times when I thought, 'Am I doing well?'
Every time that happened, I would look back on the path I had taken and find the direction I should take by looking at the information and articles that someone had shared.
I hope that my experiences and concerns will provide some help and insight to those who are struggling with similar concerns.
Lim Seon-jin
As with many things, making quality work seems to be particularly dependent on context.
I think the environment is just as important.
I hope that what I wrote will be of some help to someone who is still struggling to improve software quality.
Yoo Young-kyung
As a technical writing coach, I manage the Woowa Brothers' technical blog, review articles, and create a culture where anyone can share their experiences without pressure.
I'm very excited about the prospect of reaching more readers through my books.
We hope to hear your stories, as well as ours, somewhere.
Find insights into the organizational culture, onboarding, planning, development, and infrastructure of the Elegant Brothers.
We have compiled the technical blog of the Elegant Brothers, which every IT developer has probably read at least once, into a book.
For developers, writing is becoming an increasingly important job skill and self-promotion tool.
In particular, the Elegant Brothers have been publishing articles more consistently than any other IT blog.
I'm so passionate about writing that I have an in-house technical writing coach.
This book details the implementation of functions, problem solving, improvements, and various technologies utilized during the actual service operation of Elegant Brothers.
Beyond simply technical details, you can also get a glimpse into the organizational culture of Woowa Brothers, a company renowned for being a "great place to work," including the attitudes and atmosphere in which its members work, and the efforts the company makes to help its members adapt and immerse themselves in their work.
Plan, develop, and reflect
The most important thing is to share the whole process!
It's okay to think, 'Is it okay to tell you this much?'
Because Elegant Brothers truly believes in the value of technology sharing! Whether it's front-end, back-end, infrastructure, data, or artificial intelligence, reading about their vivid development process feels like eavesdropping on the development team next door.
I recommend this book to anyone who's planning, developing, and reflecting on their work, from juniors just starting out to seniors looking to create their own services.
Take your development skills and work efficiency to the next level with this book, which provides valuable insights and knowledge on outstanding technology and exceptional corporate culture!
Author's Note
DR (Developer Relations) Team: Park Soo-hyun, Koo Eun-hee, Yoo Young-kyung, Lee Yu-ra, Kwon Do-yeon, Kim Ji-eun
DR refers to a series of activities that communicate the company's value to developers.
Communicating through writing on technology blogs is also one of DR's many activities.
We hope that this book, created through the combined efforts of all of the Elegant Brothers, will serve as an opportunity to introduce the value of Elegant Brothers to many developers.
Park Joo-hee
I hope my little experience can provide some good insight to the readers.
Looking back on my past writings, I realized that I had a lot of experience at Woowa Brothers, and I was so grateful that I received help from so many colleagues through those experiences.
This project has been a great opportunity for me to look forward to working with great people for a long time to come.
Hong Ji-hyun
I'm responsible for Product Manager Relations (PMR) at Woowa Brothers. From a PM perspective, I'm developing and implementing a work culture that fosters growth and collaboration among Woowa Brothers PMs. I strive to help PMs and all collaborators create great products together.
Chae Seol-gi
I'm truly delighted that the article I started with, "Let's share all the experiences I had as a senior developer at Woowa Brothers!" has been published in book form.
I hope this article will provide comfort to seniors who are struggling with various concerns by saying, "Others struggle with these concerns too," and to juniors by saying, "Seniors have these concerns too."
Jin Ye-ryeong
Whenever we open a new project, unexpected incidents always come along.
I think the process of facing and resolving unpredictable situations is also a valuable experience.
I hope that everyone who creates services overcomes accidents and grows!
Kim Haru
I enjoyed the opportunity to reread the book and look back on myself when I first joined Woowa Brothers.
I want to send a message of encouragement to all junior developers, including myself.
Fighting today too!
Lee Joo-ho
The technology and stories of the Woowa Brothers, who truly believe in the value of sharing technology, and of those who love such a company.
Kwon Ki-seok
I'd like to take my first steps with Elegant Brothers and express my gratitude to Gwanghui, who provided me with onboarding time and helped me adapt so well.
I hope many people can relate to the development culture of Woowa Brothers, including onboarding! :)
Lee Jun-soo
I am grateful that my writing has been shared with others, and I hope it will be of great help to everyone who reads it.
In the future, I hope to have the opportunity to convey my greetings through various channels, not just through text.
Lee Je-hyun
I am developing the backend for Baemin Sanghoe at Woowa Brothers.
I hope this book will be of some help to anyone considering elegant development.
Ahn Pil-ho
I was surprised to hear that the articles written on the blog were being reorganized and published as a book.
I hope this will be of some help when building a network authentication system.
We will be writing about network operations frequently on the Elegant Brothers Technology Blog, so please visit often.
Jang Jeong-hwan
We would like to express our gratitude to the members of the Quality Development Team and Member Authentication Team who supported the introduction of automated UI testing tools during their busy times.
Thanks to your help, we were able to provide a slightly better environment for our boss.
Thank you to our team for helping us re-task our failed experimental project.
Jo Seong-beom
What was once a small project applied only to a few departments has now become a large project used across the entire company.
I would like to express my gratitude to my team leader and colleagues for their support, allowing me to focus on the project. I hope this article will be of great help to the readers.
Lee Chan-ho
While developing, there were many times when I thought, 'Am I doing well?'
Every time that happened, I would look back on the path I had taken and find the direction I should take by looking at the information and articles that someone had shared.
I hope that my experiences and concerns will provide some help and insight to those who are struggling with similar concerns.
Lim Seon-jin
As with many things, making quality work seems to be particularly dependent on context.
I think the environment is just as important.
I hope that what I wrote will be of some help to someone who is still struggling to improve software quality.
Yoo Young-kyung
As a technical writing coach, I manage the Woowa Brothers' technical blog, review articles, and create a culture where anyone can share their experiences without pressure.
I'm very excited about the prospect of reaching more readers through my books.
We hope to hear your stories, as well as ours, somewhere.
GOODS SPECIFICS
- Date of issue: October 13, 2023
- Page count, weight, size: 360 pages | 466g | 147*210*17mm
- ISBN13: 9791191905458
You may also like
카테고리
korean
korean