반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
EMS Solution
Features
클라우드 관리
AI 인공지능
서버관리
데이터베이스 관리
네트워크 관리
트래픽 관리
설비 IoT 관리
무선 AP 관리
교환기 관리
운영자동화
실시간 관리
백업 관리
APM Solution
애플리케이션 관리
URL 관리
ITSM Solution
서비스데스크
IT 서비스 관리
Big Data Solution
SIEM
Dashboard
대시보드
Consulting Service
컨설팅 서비스
고객
레퍼런스
고객FAQ
문의하기
가격
자료실
카탈로그
사용자매뉴얼
회사소개
비전·미션
연혁
2016~현재
2000~2015
인증서·수상
투자정보
재무정보
전자공고
IR자료
새소식
공고
보도자료
오시는 길
채용
피플
컬처
공고
FAQ
블로그
열기
메인 페이지로 이동
블로그
최신이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
[브레인저가 알려주는 IT#1] 네트워크 관리, SNMP가 뭔가요?
카프카를 통한 로그 관리 방법
김채욱
2023.09.19
페이스북 공유하기
트위터 공유하기
링크드인 공유하기
블로그 공유하기
메모리 누수 위험있는 FinalReference 참조 분석하기
안녕하세요! 저는 개발4그룹에서 제니우스(Zenius) SIEM의 로그 관리 기능 개발을 담당하고 있는 김채욱 입니다. 제가 하고 있는 일은 실시간으로 대용량 로그 데이터를 수집하여 분석 후, 사용자에게 가치 있는 정보를 시각화하여 보여주는 일입니다.
이번 글에서 다룰 내용은
1) 그동안 로그(Log)에 대해 조사한 것과 2) 최근에 CCDAK 카프카 자격증을 딴 기념으로, 카프카(Kafka)를 이용하여 어떻게 로그 관리를 하는지
에 대해 이야기해 보겠습니다.
PART1. 로그
1. 로그의 표면적 형태
로그(Log)는 기본적으로 시스템의 일련된 동작이나 사건의 기록입니다. 시스템의 일기장과도 같죠. 로그를 통해 특정 시간에 시스템에서 ‘어떤 일’이 일어났는지 파악할 수도 있습니다. 이렇게 로그는 시간에 따른 시스템의 동작을 기록하고, 정보는 순차적으로 저장됩니다.
이처럼
로그의 핵심 개념은 ‘시간’
입니다. 순차적으로 발생된 로그를 통해 시스템의 동작을 이해하며, 일종의 생활기록부 역할을 하죠. 시스템 내에서 어떤 행동이 발생하였고, 어떤 문제가 일어났으며, 유저와의 어떤 교류가 일어났는지 모두 알 수 있습니다.
만약 시간의 개념이 없다면 어떻게 될까요? 발생한 모든 일들이 뒤섞이며, 로그 해석을 하는데 어려움이 생기겠죠.
이처럼 로그를 통해 시스템은 과거의 변화를 추적합니다. 똑같은 상황이 주어지면 항상 같은 결과를 내놓는 ‘결정론적’인 동작을 보장할 수 있죠. 로그의 중요성, 이제 조금 이해가 되실까요?
2. 로그와 카프카의 관계
자, 그렇다면! 로그(Log)와 카프카(Kafka)는 어떤 관계일까요? 우선 카프카는 분산 스트리밍 플랫폼으로서, 실시간으로 대용량의 데이터를 처리하고 전송하는데 탁월한 성능을 자랑합니다. 그 중심에는 바로 ‘로그’라는 개념이 있는데요. 좀 더 자세히 짚고 넘어가 보겠습니다.
3. 카프카에서의 로그 시스템
카프카에서의 로그 시스템은, 단순히 시스템의 에러나 이벤트를 기록하는 것만이 아닙니다. 연속된 데이터 레코드들의 스트림을 의미하며, 이를 ‘토픽(Topic)’이라는 카테고리로 구분하죠. 각 토픽은 다시 *파티션(Partition)으로 나누어, 단일 혹은 여러 서버에 분산 저장됩니다. 이렇게 분산 저장되는 로그 데이터는, 높은 내구성과 가용성을 보장합니다.
*파티션(Partition): 하드디스크를 논리적으로 나눈 구역
4. 카프카가 로그를 사용하는 이유
로그의 순차적인 특성은 카프카의 ‘핵심 아키텍처’와 깊게 연결되어 있습니다. 로그를 사용하면,
데이터의 순서를 보장할 수 있어 대용량의 데이터 스트림을 효율적
으로 처리할 수 있기 때문이죠. 데이터를 ‘영구적’으로 저장할 수 있어,
데이터 손실 위험 또한 크게 줄어
듭니다.
로그를 사용하는 또 다른 이유는 ‘장애 복구’
입니다. 서버가 장애로 인해 중단되었다가 다시 시작되면, 저장된 로그를 이용하여 이전 상태로 복구할 수 있게 되죠. 이는 ‘카프카가 높은 가용성’을 보장하는 데 중요한 요소입니다.
∴
로그 요약
로그는 단순한 시스템 메시지를 넘어 ‘데이터 스트림’의 핵심 요소로 활용됩니다. 카프카와 같은 현대의 데이터 처리 시스템은
로그의 이러한 특성을 극대화하여, 대용량의 실시간 데이터 스트림을 효율적으로 처리
할 수 있는 거죠. 로그의 중요성을 다시 한번 깨닫게 되는 순간이네요!
PART2. 카프카
로그에 이어 에 대해 설명하겠습니다. 들어가기에 앞서 가볍게 ‘구조’부터 알아가 볼까요?
1. 카프카 구조
· 브로커(Broker)
브로커는 *클러스터(Cluster) 안에 구성된 여러 서버 중 각 서버를 의미합니다. 이러한 브로커들은, 레코드 형태인 메시지 데이터의 저장과 검색 및 컨슈머에게 전달하고 관리합니다.
*클러스터(Cluster): 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합
데이터 분배와 중복성도 촉진합니다. 브로커에 문제가 발생하면, 데이터가 여러 브로커에 데이터가 복제되어 데이터 손실이 되지 않죠.
·
프로듀서(Producer)
프로듀서는 토픽에 레코드를 전송 또는 생성하는 *엔터티(Entity)입니다. 카프카 생태계에서 ‘데이터의 진입점’ 역할도 함께 하고 있죠. 레코드가 전송될 토픽 및 파티션도 결정할 수 있습니다.
*엔터티(Entity): 업무에 필요한 정보를 저장하고 관리하는 집합적인 것
·
컨슈머(Consumer)
컨슈머는 토픽에서 레코드를 읽습니다. 하나 이상의 토픽을 구독하고, 브로커로부터 레코드를 소비합니다. 데이터의 출구점을 나타내기도 하며, 프로듀서에 의해 전송된 메시지를 최종적으로 읽히고 처리되도록 합니다.
·
토픽(Topic)
토픽은 프로듀서로부터 전송된 레코드 카테고리입니다. 각 토픽은 파티션으로 나뉘며, 이 파티션은 브로커 간에 복제됩니다.
카프카로 들어오는 데이터를 조직화하고, 분류하는 방법을 제공하기도 합니다. 파티션으로 나눔으로써 카프카는 ‘수평 확장성과 장애 허용성’을 보장합니다.
·
주키퍼(ZooKeeper)
주키퍼는 브로커를 관리하고 조정하는 데 도움을 주는 ‘중앙 관리소’입니다. 클러스터 노드의 상태, 토픽 *메타데이터(Metadata) 등의 상태를 추적합니다.
*메타데이터(Metadata): 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터
카프카는 분산 조정을 위해 주키퍼에 의존합니다. 주키퍼는 브로커에 문제가 발생하면, 다른 브로커에 알리고 클러스터 전체에 일관된 데이터를 보장하죠.
∴
카프카 구조 요약
요약한다면 카프카는
1) 복잡하지만 견고한 아키텍처 2) 대규모 스트림 데이터를 실시간으로 처리하는 데 있어 안정적이고 장애 허용성이 있음 3) 고도로 확장 가능한 플랫폼을 제공
으로 정리할 수 있습니다.
이처럼 카프카가 큰 데이터 환경에서 ‘어떻게’ 정보 흐름을 관리하고 최적화하는지 5가지의 구조를 통해 살펴보았습니다. 이제 카프카에 대해 조금 더 명확한 그림이 그려지지 않나요?
2. 컨슈머 그룹과 성능을 위한 탐색
카프카의 가장 주목할 만한 특징 중 하나는
‘컨슈머 그룹의 구현’
입니다. 이는 카프카의 확장성과 성능 잠재력을 이해하는 데 중심적인 개념이죠.
컨슈머 그룹 이해하기
카프카의 핵심은
‘메시지를 생산하고 소비’
하는 것입니다. 그런데 수백만, 심지어 수십억의 메시지가 흐르고 있을 때 어떻게 효율적으로 소비될까요?
여기서 컨슈머 그룹(Consumer Group)이 등장합니다. 컨슈머 그룹은, 하나 또는 그 이상의 컨슈머로 구성되어 하나 또는 여러 토픽에서 메시지를 소비하는데 협력합니다. 그렇다면 왜 효율적인지 알아보겠습니다.
·
로드 밸런싱:
하나의 컨슈머가 모든 메시지를 처리하는 대신, 그룹이 부하를 분산할 수 있습니다. 토픽의 각 파티션은 그룹 내에서 정확히 하나의 컨슈머에 의해 소비됩니다. 이는 메시지가 더 빠르고 효율적으로 처리된다는 것을 보장합니다.
·
장애 허용성:
컨슈머에 문제가 발생하면, 그룹 내의 다른 컨슈머가 그 파티션을 인수하여 메시지 처리에 차질이 없도록 합니다.
·
유연성:
데이터 흐름이 변함에 따라 그룹에서 컨슈머를 쉽게 추가하거나 제거합니다. 이에 따라 증가하거나 감소하는 부하를 처리할 수 있습니다.
여기까지는 최적의 성능을 위한 ‘카프카 튜닝 컨슈머 그룹의 기본 사항’을 다루었으니, 이와 관련된 ‘성능 튜닝 전략’에 대해 알아볼까요?
성능 튜닝 전략
·
파티션 전략:
토픽의 파티션 수는, 얼마나 많은 컨슈머가 활성화되어 메시지를 소비할 수 있는지 영향을 줍니다. 더 많은 파티션은 더 많은 컨슈머가 병렬로 작동할 수 있음을 의미하는 거죠. 그러나 너무 많은 파티션은 *오버헤드를 야기할 수 있습니다.
*오버헤드: 어떤 처리를 하기 위해 간접적인 처리 시간
·
컨슈머 구성:
*fetch.min.bytes 및 *fetch.max.wait.ms와 같은 매개변수를 조정합니다. 그다음 한 번에 얼마나 많은 데이터를 컨슈머가 가져오는지 제어합니다. 이러한 최적화를 통해 브로커에게 요청하는 횟수를 줄이고, 처리량을 높입니다.
*fetch.min.bytes: 한 번에 가져올 수 있는 최소 데이터 사이즈 *fetch.max.wait.ms: 데이터가 최소 크기가 될 때까지 기다릴 시간
·
메시지 배치:
프로듀서는 메시지를 함께 배치하여 처리량을 높일 수 있게 구성됩니다. *batch.size 및 *linger.ms와 같은 매개변수를 조정하여, 대기 시간과 처리량 사이의 균형을 찾을 수 있게 되죠.
*batch.size: 한 번에 모델이 학습하는 데이터 샘플의 개수 *linger.ms: 전송 대기 시간
·
압축:
카프카는 메시지 압축을 지원하여 전송 및 저장되는 데이터의 양을 줄입니다. 이로 인해 전송 속도가 빨라지고 전체 성능이 향상될 수 있습니다.
·
로그 정리 정책:
카프카 토픽은, 설정된 기간 또는 크기 동안 메시지를 유지할 수 있습니다. 보존 정책을 조정하면, 브로커가 저장 공간이 부족해지는 점과 성능이 저하되는 점을 방지할 수 있습니다.
3. 컨슈머 그룹과 성능을 위한 실제 코드 예시
다음 그림과 같은 코드를 보며 조금 더 자세히 살펴보겠습니다. NodeJS 코드 중 일부를 발췌했습니다. 카프카 설치 시에 사용되는 설정 파일 *server.properties에서 파티션의 개수를 CPU 코어 수와 같게 설정하는 코드입니다. 이에 대한 장점들을 쭉 살펴볼까요?
*server.properties: 마인크래프트 서버 옵션을 설정할 수 있는 파일
CPU 코어 수에 파티션 수를 맞추었을 때의 장점
·
최적화된 리소스 활용:
카프카에서는 각 파티션이 읽기와 쓰기를 위한 자체 *I/O(입출력) 스레드를 종종 운영합니다. 사용 가능한 CPU 코어 수와 파티션 수를 일치시키면, 각 코어가 특정 파티션의 I/O 작업을 처리합니다. 이 동시성은 리소스에서 최대의 성능을 추출하는 데 도움 됩니다.
·
최대 병렬 처리:
카프카의 설계 철학은 ‘병렬 데이터 처리’를 중심으로 합니다. 코어 수와 파티션 수 사이의 일치는, 동시에 처리되어 처리량을 높일 수 있습니다.
·
간소화된 용량 계획:
이 접근 방식은, 리소스 계획에 대한 명확한 기준을 제공합니다. 성능 병목이 발생하면 CPU에 *바인딩(Binding)되어 있는지 명확하게 알 수 있습니다. 인프라를 정확하게 조정할 수도 있게 되죠.
*바인딩(Binding): 두 프로그래밍 언어를 이어주는 래퍼 라이브러리
·
오버헤드 감소:
병렬 처리와 오버헤드 사이의 균형은 미묘합니다. 파티션 증가는 병렬 처리를 촉진할 수 있습니다. 하지만 더 많은 주키퍼 부하, 브로커 시작 시간 연장, 리더 선거 빈도 증가와 같은 오버헤드도 가져올 수도 있습니다. 파티션을 CPU 코어에 맞추는 것은 균형을 이룰 수 있게 합니다.
다음은 프로세스 수를 CPU 코어 수만큼 생성하여, 토픽의 파티션 개수와 일치시킨 코드에 대한 장점입니다.
파티션 수와 컨슈머 프로세스 수 일치의 장점
·
최적의 병렬 처리:
카프카 파티션의 각각은 동시에 처리될 수 있습니다. 컨슈머 수가 파티션 수와 일치하면, 각 컨슈머는 특정 파티션에서 메시지를 독립적으로 소비할 수 있게 되죠. 따라서 병렬 처리가 향상됩니다.
·
리소스 효율성:
파티션 수와 컨슈머 수가 일치하면, 각 컨슈머가 처리하는 데이터의 양이 균등하게 분배됩니다. 이로 인해 전체 시스템의 리소스 사용이 균형을 이루게 되죠.
·
탄력성과 확장성:
트래픽이 증가하면, 추가적인 컨슈머를 컨슈머 그룹에 추가하여 처리 능력을 증가시킵니다. 동일한 방식으로 트래픽이 감소하면 컨슈머를 줄여 리소스를 절약할 수 있습니다.
·
고가용성과 오류 회복:
컨슈머 중 하나가 실패하면, 해당 컨슈머가 처리하던 파티션은 다른 컨슈머에게 자동 재분배됩니다. 이를 통해 시스템 내의 다른 컨슈머가 실패한 컨슈머의 작업을 빠르게 인수하여, 메시지 처리가 중단되지 않습니다.
마지막으로 각 프로세스별 컨슈머를 생성해서 토픽에 구독 후, 소비하는 과정을 나타낸 소스코드입니다.
∴
컨슈머 그룹 요약
컨슈머 그룹은 높은 처리량과 장애 허용성 있는 메시지 소비를 제공하는 능력이 핵심입니다. 카프카가 어떤 식으로 운영되는지에 대한 상세한 부분을 이해하고 다양한 매개변수를 신중하게 조정한다면, 어떠한 상황에서도 카프카의 최대 성능을 이끌어낼 수 있습니다!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
©
참고 자료
· Jay Kreps, “I Hearts Logs”, Confluent
· 위키피디아, “Logging(computing)”
· Confluent, “https://docs.confluent.io/kafka/overview.html”
· Neha Narkhede, Gwen Shapira, Todd Palino, “Kafka: The Definitive Guide”
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#LOG
#로그
#카프카
#컨슈머
#KAFKA
#SIEM
#제니우스
김채욱
개발4그룹
실시간 대용량 로그 데이터의 수집 및 가공에 관심을 가지고 있습니다. 함께 발전해 나가는 개발을 추구합니다.
필진 글 더보기
목록으로
추천 콘텐츠
이전 슬라이드 보기
[ZNG 개발기] #1. ZNG와 Vue.js
[ZNG 개발기] #1. ZNG와 Vue.js
안녕하세요. 브레인즈컴퍼니 개발 3그룹에서 ZNG의 프론트엔드를 개발하고 있는 1년차 신입 개발자 김현수입니다. ZNG란 Zenius New Generation의 약자로, 브레인즈컴퍼니의 핵심 서비스인 제니우스의 차세대 버전을 말합니다. ZNG는 데이터베이스를 제외한 프론트엔드와 백엔드는 완전히 제로베이스에서 시작하는 장기 프로젝트이기에, 프로젝트를 진행하는 과정에서 새롭게 배운 것, 개발자로서 성장, 팀 개발 경험 등을 기록하고자 ZNG 개발기를 작성하게 됐습니다. ZNG 개발기는 달마다 개발과정에서 있었던 이슈들, 경험, 공부한 내용 등을 기술적인 내용과 함께 작성할 예정입니다. 다 함께! <사진 설명: 펭수, "렛츠고!"> 1. ZNG가 무엇인가요? ZNG는 기존 제니우스에서 발생하는 불편함을 해소하고자 탄생한 프로젝트입니다. 기존 제니우스에는 어떤 불편함이 있었고, 이를 해소하고자 ZNG는 어떤 컨셉을 목표로 개발할 것인가에 대해 알아보겠습니다. 같은 부서 선배 동료들을 쫄래쫄래 따라다니며 물어보고 배워가며 정리한 내용을 바탕으로 작성하는 글입니다. 혹시라도 틀린 부분이 있다면 알려주시면 감사하겠습니다! <사진 설명: 자환님은 아니라고 하셨다...> 제니우스는 B2B 솔루션 서비스 상품으로 사용자의 요구사항에 맞게 유연한 변경이 가능해야 합니다. 새로운 컴포넌트를 추가 한다거나, 여러 기능을 합치는 등 다양한 요구사항에 대응해야 합니다. 당연히도 현재 제니우스는 사용자의 요구사항에 맞춰 조금씩 커스텀해 서비스되고 있습니다. 그러나 효율적이지 못한 상황이 생기기도 합니다. 대체로 같은 내용의 코드를 반복해서 작성하는 상황이 그러합니다. 같은 형태를 가진 컴포넌트여도 출력하고자 하는 데이터의 종류가 다르다면 컴포넌트를 통째로 다시 만들어야 했습니다. 반복적인 작업은 개발자에게 피로감을 주게 되고 단순히 피로감을 넘어, 개발자에게 목표 의식을 저하시킬 우려가 있습니다. <사진 설명: 다양한 종류의 컴포넌트가 있다. 사용자마다 원하는 컴포넌트, 데이터가 다를 수 있다.> 이런 불편함을 해소하는 방법으로, ZNG는 코드의 재사용성을 높이기 위해 노력합니다. 각 기능끼리의 의존도는 낮추고, 독립성을 높여서 반복적인 작업을 최소화합니다. 같은 형태를 가진 컴포넌트에 대해서 데이터만 다르다면 데이터만 바꿔주면 됩니다. 사용자마다 다른 종류의 데이터를 출력하기를 원할 경우 더 빠르고 효율적인 대처가 가능합니다. 이러한 컨셉과 Vue.js의 Component를 관리하는 방법이 일치해 ZNG는 Vue.js로 개발하게 됐습니다. 2. ZNG와 Vue.js Vue.js에는 여러가지 특징이 있습니다. 그 중에서도 Vue Component에 대해서 자세히 알아보겠습니다. Vue Component Vue Component란 화면을 구성하는 하나의 블록입니다. Component는 하나의 전체 화면일수도 있고 전체 화면 중 일부분을 차지하는 또 하나의 작은 화면일수도 있습니다. 따라서 화면을 구현할 때 화면 전체를 한 번에 구현하지 않고, 부분적으로 구현해 관리하는 것이 가능합니다. Component를 활용하면 화면을 구조화해 직관적으로 개발할 수 있으며 코드의 재사용성이 올라갑니다. <사진 설명: 화면의 영역을 블록으로 쪼개 재활용 가능항 형태로 관리하는 것이 Vue Component> ZNG 기능 중 모니터링은 추출한 데이터를 그래프, 표 등을 통해 다양한 형태의 컴포넌트로 보여줍니다. 각각의 컴포넌트는 서로 다른 모양을 통해, 서로 다른 데이터를 보여줍니다. 반대로 말하면 하나의 컴포넌트에 대해서 모양, 데이터만 다르게 준다면 여러 종류의 컴포넌트를 만들 수 있습니다. 다음은 ZNG 코드 일부입니다. PCContainer는 컴포넌트를 감싸는 블록입니다. component 태그 안에 있는 ‘is’옵션에 ‘컴포넌트의 이름’을 넣어 그리고자 하는 컴포넌트를 선택할 수 있습니다. PCLineChart는 그래프를 그리는 컴포넌트입니다. highchartsOptions에 어떤 데이터를 넣느냐에 따라 원하는 그래프를 그릴 수 있습니다. <사진 설명: PCContainer> 하나의 PCContainer로 여러 모양의 컴포넌트를 그리고, 하나의 컴포넌트(PCLineChart)로 다양한 데이터를 표현할 수 있습니다. 컴포넌트를 만들기 위해 새로운 코드를 작성하지 않고, Vue Component를 통해 코드를 재사용함으로써 효율적이고 직관적인 코드를 개발할 수 있습니다. 부모와 자식 컴포넌트 관계 각 Vue Component는 데이터를 주고받을 때 부모-자식 관계를 갖는 것이 일반적입니다. <사진 설명: 부모-자식 컴포넌트> 부모는 자식에게 데이터를 전달할 수 있어야 하며, 자식은 부모에게 일어난 일을 알려야 합니다. 부모는 props를 통해 자식에게 데이터를 전달하며, 자식은 emit로 이벤트를 호출해 부모에게 데이터를 알립니다. 부모 컴포넌트와 자식 컴포넌트는 분명히 구분된 컴포넌트지만 props와 emit을 통해 의사소통이 가능합니다. ZNG는 최상단 레이아웃에서 서버로부터 데이터를 받아와 props를 통해 각 컴포넌트로 데이터를 보내줍니다. 하위 컴포넌트에서 발생한 이벤트를 통해 다시 상위 컴포넌트로 데이터를 전달해 데이터를 관리합니다. 다음은 ZNG 코드 중 일부입니다. 자식 컴포넌트는 props를 통해 부모 컴포넌트로부터 데이터를 받고, emit을 통해 부모 컴포넌트로 이벤트를 통해 알립니다. props와 emit을 통해 컴포넌트 간 의사소통을 수행하지만, 각 컴포넌트마다 코드를 분리하기 때문에 관리가 편하고 쉽게 재사용할 수 있습니다. 3. 마치며 ZNG의 개발 방향성과 이와 관련해 Vue.js의 Component 특징을 정리해봤습니다. Vue Component는 이전부터 알고 있던 개념이지만 직접 개발한 코드와 비교해보니 머릿속에 명확하게 정리되는 느낌이었습니다. 특히 코드를 다시 보면서 개념을 리마인드하는 과정이 좋았습니다. ZNG 개발기는 이제 시작입니다! 앞으로도 계속될 ZNG 개발기에 많은 관심 부탁드리며 ZNG 프로젝트를 성공적으로 수행할 때까지 응원해주세요! <사진 설명: 개발의 신이시여... 지켜봐 주세요!> [출처] https://kr.vuejs.org/ https://ko.wikipedia.org/wiki/Vue.js https://www.instagram.com/waterglasstoon/
2022.08.03
벽을 넘어서고 싶은 신입 개발자의 브레인즈 생활기
벽을 넘어서고 싶은 신입 개발자의 브레인즈 생활기
지원 이유와 여정 대학교 졸업 후, 부족한 웹개발 역량을 쌓기 위해 5달간의 풀스택 부트캠프 교육을 수료하고 1달간의 기업 협업 인턴을 마쳤습니다. 이후, 제 역량을 마음껏 펼쳐내며 지속적으로 성장할 수 있는 회사에서 일하고 싶다는 생각이 들었습니다. 그러다 풀스택 기술뿐만 아니라, 빅데이터 및 AI 기술을 활용해 차세대 기술을 개발하는 브레인즈컴퍼니의 채용공고를 발견했습니다. 이 회사에서라면 많은 것을 배워 역량을 키우고 성장하며 일할 수 있겠다는 생각에 지원했고, 면접 끝에 첫 직장에 취업하게 됐습니다. 웹개발도 재밌지만 개발자로서 지속적으로 새로운 기술들을 습득하며 성장하는 것에서 성취감과 보람을 느끼는 것이 컸고, 그럴 수 있는 부서에서 첫 회사 생활을 시작할 수 있다는 생각에 기뻤습니다. 채용 과정 면접에서 기억에 남는 질문은 "우리 부서는 프론트엔드 보다 백엔드를 더 추구하는 편이라 함께 일을 하게 된다면, 프론트엔드와 백엔드 모두를 아울러 사용할 것인데 할 수 있습니까?"였습니다. 풀스택 개발자로서 일을 하게 된다는 질문이었고, 저는 이 부분에 대해 긍정적이었기 때문에 자신 있게 할 수 있다고 대답했습니다. 백엔드 개발자보다 많은 영역에서 발전하며 성장할 수 있다는 생각에 더욱 기대되고 설렜던 기억이 있습니다. 그렇게 저의 첫 직장 생활이 시작됐습니다. 입사 후, 지난 3달간의 일대기 채용이 된 후, 출근까지 2주간의 자유 시간이 주어졌습니다. 졸업 후 부트캠프 교육을 이수하면서 줄곧 달려왔고, 즐겁게 공부했지만 지쳐있는 심신을 달래기 위해 여행도 다녀오고 친구들과 가족들과 시간을 보내면서 출근 준비를 했습니다. 그렇게 2주 후 첫 출근을 하는 날이 됐고, 본격적으로 사원으로 근무하는 날이 다가왔습니다! 브레인즈컴퍼니의 개발 그룹은 1~5그룹으로 나눠져 있으며, 저는 개발4그룹에 소속됐습니다. 개발4그룹은 프론트엔드와 백엔드 개발뿐만 아니라, 빅데이터 및 AI 기술을 동원한 신기술 개발을 담당하고 있어, 배울 점도 많고 나아가야할 길도 멀리 펼쳐져 있다고 느꼈습니다. 1st Month_적응기 입사 첫 달은, 개발4그룹에서 집중적으로 개발 진행 중인 로그매니저와 Zenius AI의 제품 매뉴얼과 웹페이지에서 실제로 사용되고 있는 각각의 기능들을 학습하며 제품을 파악하고 익숙해지는 기간을 가졌습니다. 그렇게 한 달 간은 개발에 투입되기보다는 제품 및 사용된 기능들에 대한 학습과 공부를 하는 기간이었습니다. 단순히 제품의 매뉴얼만을 보며 학습을 했다면 집중도가 떨어졌을 수 있지만, 제품에서 사용하고 있는 다양한 기술들, Elasticsearch, Kibana, Kafka, Cluster 등 스택들에 대해 공부하면서 흥미와 재미를 느끼며 학습을 이어갈 수 있었습니다. 잘 몰랐던 신 기술들을 접하면서, 앞으로도 배우게 될 다양한 기술들에 대해 기대감이 부풀었던 한달이었습니다. 이외에도 학습을 진행하면서 원래 사용하던 스택인 JavaScript와 Linux의 Base부터 차근차근 다시 복습하며 결점을 보완하고, 제 자신을 Refactoring하기도 했던 한 달이었습니다. 2nd Month_개인정보 마스킹 기능 개발 입사 두 달째 부터는, 로그매니저와 Zenius AI의 기능들과 매뉴얼에 대해 전반적인 이해를 갖게 됐고, 각 사이트 기능들의 동작 원리 등을 대략적으로 파악할 수 있었습니다. 두 달이 된 이 시점부터 프론트엔드와 백엔드 모두를 사용하는 프로젝트가 주어졌습니다. 주어진 프로젝트는 ‘개인정보 마스킹 기능 개발’ 이었습니다. 로그매니저 내에서 수집되는 대용량의 로그들 안에 개인 정보가 포함될 경우가 있는데, 개인정보가 그대로 노출되는 것을 방지하기 위해 개인정보에 해당하는 정보는 마스킹처리를 자동적으로 진행하는 기능 개발을 진행하게 됐습니다. 예를 들어, 로그에 ‘961219-1234567’, ‘서울시 성동구 성수이로’, ‘010-1234-5678’ 등과 같은 주민등록번호, 주소, 연락처 뿐만 아니라 다양한 개인정보들을 지정한 특수문자(Default로는 *을 사용) 로 마스킹 처리를 해주는 기능을 개발하는 과정이 중점이 되는 프로젝트였습니다. 풀스택 공부를 하면서, 백엔드는 Node.js와 MySQL, PrismaOrm 등을 사용해 기능 개발을 진행했지만, 이번 프로젝트는 Elasticsearch, Kafka.js, Cluster.js 및 커스텀마이징된 다양한 메소드와 함수들을 통해 진행했기 때문에 배울 점이 매우 많았고, 성장하는 것을 느낄 수 있었습니다. 이외에도 프론트엔드에서 Ace.js를 통한 텍스트 편집기를 개발하고, 개인정보유형에 해당하는 정보가 입력되면 Syntax Highlighting 기능을 통해 해당 부분에 형광펜 효과를 적용시켜주는 기능의 개발을 진행했습니다. 개인정보 유형에 해당하는 정보에 대응되는 정규표현식, 그리고 백엔드에서 마스킹 처리될 특수문자 타입의 데이터 등은 Elasticsearch의 Index를 통해서 데이터의 저장과 반환작업 처리를 진행해줬으며, 이 데이터들을 기반으로 프론트엔드와 백엔드에서 모두 정상적인 마스킹 기능과 Syntax Highlighting 기능을 개발할 수 있었습니다. 새로운 기술을 활용해 프로젝트를 진행하면서 어려운 점도 많았고 시행착오도 겪었지만, 그만큼얻어가고 배워가는 것이 많았던 첫 업무였습니다. Elasticsearch, Kibana, Cluster, Kafka 등 새로운 기술 스택에 대해 배우고 적용할 수 있었다는 점이 매우 흥미로웠고 뿌듯한 경험이었습니다. <사진 설명: 개인정보 유형과 마스킹 여부, 정규표현식 관리와 마스킹 기능 ON/OFF가 가능한 페이지> <사진 설명: 선택한 개인정보 정규표현식에 해당되는 데이터 Syntax Hilighting 기능 구현> 3rd Month_데몬프로세스 그룹화 작업 및 테스트케이스 입사 세 달째 부터는, 어느 정도 회사 생활에 적응이 된 상태가 됐습니다. 아침 일찍 일어나는 것에도 적응이 됐고, 초반에는 어색했던 업무회의와 주간업무보고서 작성도 이제는 자연스럽게 하고 있는 모습을 발견할 수 있었습니다. 첫번째 프로젝트를 마친 후, 두번째로는 로그매니저의 데몬프로세스 기능을 그룹별로 정렬하는 업무를 맡게 됐습니다. 데몬프로세스가 각각의 그룹 속성을 지니고 있지만, 이를 그룹별로 나눠서 보여준다면 좀 더 가독성과 가시성이 높아질 것이기 때문에, Elasticsearch에서 반환 받는 데이터를 그룹의 조건에 따라 분류해주는 작업이 주가 됐습니다. 두번째 개발 후에는 로그매니저의 각 기능들에 대한 테스트 케이스 및 오류 사항 확인의 과정을 거쳤고, 제가 개발한 ‘개인정보 관리’ 기능에 대한 테스트 케이스 작성도 진행했습니다. 개발자가 개발을 잘하는 것도 중요하지만, 이렇게 자신이 개발한 기능에 대해 테스트케이스를 작성하면서 유저가 해당 테스트케이스를 확인하고, 개발한 기능을 자연스레 사용할 수 있게 해야 하는 것은 개발만큼이나 중요하다고 생각하기 때문에 기분 좋게 테스트케이스 작성을 진행할 수 있었습니다. 또, 로그매니저 제품 각 기술들의 테스트케이스들을 확인하며 각각의 기능들을 모두 테스트해볼 수 있는 기회가 됐으며, 개발하고 서비스되고 있는 기술들에 대해 좀더 명확하게 인지하고 확인할 수 있어 제품 이해에 큰 도움이 됐습니다. 이를 기회로 개발만이 중요한 것이 아닌 테스트케이스의 중요성을 절실히 깨닫고, 제가 개발하는 기술들에 대한 테스트케이스 작성이 필수불가결하다는 것을 느끼게 됐습니다. 느낀 점 브레인즈컴퍼니 개발4그룹에 입사 후, 3달간 근무하며 느낀 점은 제가 만족하며 회사를 다니고 있다는 점입니다. 그룹의 모든 구성원분들이 잘 적응할 수 있도록 도와주고 챙겨주셨고, 문제가 될 수도 있는 실수가 발생해도 모든 그룹원들이 다 잘 다독여 주셨습니다. 또, 좋은 피드백을 줘서 지속적으로 배워가고 성장할 수 있는 회사의 성장할 수 있는 부서라고 생각합니다. 그룹의 상래님, 신후님, 천웅님, 태민님 모두 제게 좋은 피드백과 도움을 주시고, 개선돼야할 점과 공부해야 할 부분, 그리고 개발을 하면서 고쳐야 할 습관들을 알려주셔서 점차 앞으로 나아갈 수 있다고 생각합니다. 일을 하면서 빼놓을 수 없는 게 워라밸일 것이라고 생각합니다. 첫 회사에서 일과 삶의 밸런스가 매우 적절하다고 생각하고 만족하며 근무를 하고 있습니다. 퇴근을 한 뒤에도 운동을 할 수 있고, 식단 관리도 병행하며 몸을 기르고 있습니다. 만약, 워라밸이 좋지 않았더라면 이렇게 삶을 유지할 수 없을 거라는 생각이 듭니다. 글을 마치며 면접에서 제가 했던 말이 있습니다. 저는 앞에 벽이 있다면 돌아가 다른 길을 찾으려 하기보다는 그 벽을 넘을 수 있는 방법을 생각합니다. 앞으로 나아갈 수 있고 성장할 수 있는 삶을 추구하고 있습니다. 비록 그 벽을 넘지 못하더라도, 다음에 그 벽보다 낮은 벽은 넘을 수 있을 것입니다. 시도조차 하지 않으면 당연히 발전도 없다고 생각합니다. 매번 도전하고 또 도전하며 발전하는 개발4그룹의 일원이 돼, 신기술 개발에도 큰 보탬이 되는 개발자로 성장하고 싶습니다. 그리고 브레인즈컴퍼니 개발4그룹에서 반드시 실현 가능하다고 생각합니다. 다양한 기술들을 배우고 학습해 제 것으로 만들고, 그룹과 회사에 보탬이 되는 개발자로 성장하겠습니다! [출처] https://twitter.com/gom_translate https://me2.kr/wvu3p http://jjaltoon.gallery/?p=11311 https://me2.kr/eq144
2022.08.25
일잘러가 바라보는 브레인즈컴퍼니
일잘러가 바라보는 브레인즈컴퍼니
다음 인터뷰를 고민하던 차에 브레인즈컴퍼니에서는 누가 일을 잘할까?라는 궁금증이 생겼습니다. 여러 브레인저들에게 물어본 결과, 개발3그룹의 진광님을 많이 추천해줬는데요. 개발3그룹은 AI 기술을 적용한 차세대 제니우스와 애플리케이션 성능관리 솔루션인 제니우스 APM을 개발하고 있는 핵심 부서인데요. 이 부서는 올해 신입 개발자를 7명이나 채용해 제품 개발에 힘을 쏟고 있습니다. 브레인즈의 일잘러, 진광님이 말하는 브레인즈의 제품, 동료, 일하는 방식에 대해 들어보겠습니다. ----------------------------------------------------------------- Q1. 안녕하세요, 진광님. 자기 소개 부탁드립니다. 안녕하세요, 개발3그룹에서 근무 중인 김진광입니다. 저는 SI 개발자로 시작해 외산 미들웨어(WAS) 솔루션 회사에서 엔지니어로 제품 관련 서비스 및 컨설팅 업무를 담당했었어요. 이때 미들웨어와 서비스에 대한 모니터링 필요성을 생각하게 됐고, 기회가 돼 직전 회사에 합류 후 APM 제품들을 개발했습니다. 브레인즈컴퍼니는 당시 제가 근무 중이던 회사에서 APM제품을 OEM 하면서 연이 닿았어요. 다니던 회사의 방향성이 바뀌면서 이직을 결심했고, 브레인즈컴퍼니의 영업 및 TC팀 분들 추천으로 2017년에 입사하게 됐습니다. 당시 브레인즈컴퍼니는 자사 솔루션을 갖고 있었고, 제품 내재화 단계일 때라 매력을 느꼈습니다. Q2. 맡고 있는 업무에 대해 구체적으로 설명해주세요. 브레인즈컴퍼니의 Zenius APM 전반을 맡고 있습니다. APM은 특수성이 있는 제품이에요. 서비스 문제점을 찾는 솔루션이다 보니, 설치 및 기술 지원 뿐만 아니라 이슈 분석 등 전반적인 사이트 지원이 필요합니다. 그래서 처음에는 제품개발 외 설치, 데모, 성능 컨설팅 등 APM에 관련된 전반적인 부분을 지원했습니다. 이제는 TC팀에서 설치나 사이트 구축, 교육 및 고객 응대 등 전반적인 부분을 잘 지원해 주시고 있어 감사하게 생각하고 있습니다. Q3. 그렇다면, APM의 특장점은 무엇인가요? Zenius APM은 고객의 서비스에서 발생된 이벤트를 처리하고 분석하는 방식이 점점 좋아지고 있습니다. APM은 어플리케이션 서비스가 잘 되고 있는지, 사용자들이 어느 정도 쓰고 있고 응답 속도가 어느 정도 되는지를 항상 모니터링 하는게 기본적인 기능이고요. 문제 발생 시, 그 문제를 인지하고 조치하는 것이 2단계, 다음으로 장애 복구가 완료된 다음에 어떤 것이 문제의 원인이었는지를 찾아내는 것을 3단계로 볼 수 있어요. 문제의 원인은 고객이 쉽게 파악할 수 있도록 데이터들을 차트와 같이 시각화해서 제공하고 있고요. 브레인즈 대표 제품인 Zenius EMS는 전반적인 인프라(H/W)를 모니터링하는 것이고 APM은 그 위에서 서비스되는 어플리케이션(S/W)을 모니터링하는 것으로 보면 돼요. 서비스와 인프라를 같이 모니터링 해야 어떤 문제가 발생했을 때 어플리케이션 자체 문제인 건지, 기반한 서버나 네트워크와 같은 인프라 요소들이 영향을 미치는 것인지를 판단할 수 있어요. 그래서 APM과 기존의 자사 제품들이 더욱 잘 통합될 수 있도록 지속적으로 제품을 발전시켜 나가고 있습니다. Q4. 브레인즈에서 근무한 지 6년차에 접어드셨네요. 그 동안 근속할 수 있었던 브레인즈의 매력은 무엇인가요? 브레인즈컴퍼니는 제가 생각하고 있는 솔루션 회사의 조건에 가장 가까운 회사라고 생각합니다. 자사 솔루션을 보유하고 있고, 해당 분야를 리딩하고 있는 회사에서 일하고 싶었어요. 그런 회사가 국내에서는 많지 않다고 생각합니다. 또, 브레인즈는 동료들이 좋아요. 가장 개발자적 마인드를 많이 갖고 있는 분들이라고 생각합니다. 관제 분야에서 오랜 시간 깊은 전문성을 갖추고 계신 분들이고, 개발자로서도 자부심을 갖고 계신다고 생각해요. 마지막으로, 가족 친화적인 회사라는 점이요. 다양한 행사와 해외 연수, 복지 혜택 등도 부족함이 없는 회사입니다. 전 직원 연봉이 1000만원 상승하면서 처우도 좋아졌고요. Q5. 가장 힘들었던/보람을 느꼈던 순간은? 처음 APM을 설치했을 때. 첫 납품처가 의약품안전관리위원회였는데요. 아무래도 처음이라 우리 제품이 고객사의 서비스에 문제가 되는 것이 아닐까 하는 걱정이 많았어요. 문제가 발생했을 때, TC팀과 함께 어렵게 원인을 찾아내고 집중해서 해결했던 순간이 가장 기억에 남고 보람 있었습니다. Q6. 일을 잘해서 좋은 인사고과를 받으신다고 들었어요. 본인만의 일 잘하는 꿀팁은? 재밌게 일하는 편인 것 같아요. 가급적 일하는 것 자체를 즐기고, 성능 관리와 이슈를 발견하고 처리하는 일들에 관심이 많고 적성에도 잘 맞는 것 같습니다. 완벽주의자 성향이 있기도 하고요. 일이 잘못됐다고 판단되면 다시 처음부터 해야 하다 보니, 최대한 정보를 수집한 후 가장 좋은 방법에 대해 여러 번 생각하고 실행하는 스타일입니다. APM이 원하는 기능으로 나오도록 개발하는 것뿐만 아니라, APM을 사용하는 사용자의 편의성이나 설치 및 지원 팀, 그리고 제품을 소개하고 어필할 때 어떤 모습으로 보여질지에 대한 것 등 여러 가지 측면에서 생각하고 고민 후 실행에 옮기려고 노력하고 있습니다. 전체 작업 시간 중 50% 이상은 다양한 관점에서 고민하는 시간을 갖고 작업을 진행하고 있는 것 같아요. 또, 앞에서 말씀 드렸던 프로젝트 개발 경험과 미들웨어에 엔지니어로서의 경험이나 제품 개발 경력 등의 다양한 경력이 타 부서와의 협업이나 제품 개발, 사이트 지원 등에서 일할 때 많은 도움이 되는 것 같아요. 조금은 다양한 시각을 갖게 해주는 부분이 여러 면에서 도움되더라고요. 그래서 TC팀, 영업팀 등 타 부서 분들이 긍정적으로 봐주시는 것 같아요. (웃음) Q7. 진광님이 생각하는 브레인즈에서 일을 잘하는 사람은? TC팀에 APM 지원파트가 있는데요. 제 입장에서 가장 고마운 분들이기도 하고 대부분 일을 잘 하신다고 생각하고 있어요. 부서장인 영수님, APM에 열정적이신 종관님, APM 지원 파트리더 기현님, 정대님뿐만 아니라 일잘러 기열님까지 모두 잘 하시는 분들이라 생각해요. Q8. 이제 부서 이야기를 해볼게요. 개발3그룹 소개해주세요. 저희 부서는 차세대 제니우스와 APM 제품을 맡고 있어요. 부서장님은 구성원들과 대화하고 코딩하는 것을 좋아하세요. 관리자이지만, 여전히 계속 현업에서 개발하고자 하시는 열정 넘치는 분이십니다. (웃음) 교육도 직접 하시면서 신입 분들 일일이 다 봐주시고 있어요. 비슷한 시기에 들어온 신입 개발자들은 동기애가 느껴지고, 밝은 성격들이라 화기애애한 분위기가 형성돼 있습니다. Q9. 부서만의 일하는 방식은 무엇인가요? 그룹장님이 추구하는 방식이 “각자 알아서 잘 하자”예요. 서로 상의해서 어떤 일을 할 지 분배하고요. 그 이후는 개인의 계획과 독립적 부분을 인정해주는 등 최대한 자율성을 부여하고 있어요. 결과는 서로 공유하면서 평가해주고 있습니다. 신입이더라도 스스로 일을 처리하고 결과물을 갖고 그룹장님과 이야기하며 피드백을 받고 보완해나가는 형식으로 일하고 있어요. Q10. 새로운 동료가 합류한다면, 어떤 스타일의 동료와 함께 일하고 싶은가요? 개발직을 천직이라고 생각하는 사람. 이쪽 일을 한 번 해볼까하는 단순 호기심이 아니라, 전공자를 떠나서 앞으로 쭉 개발 일을 하고 싶은 사람이면 좋겠어요. 또, 일을 많이 하거나 빨리하기 보다는 개발자에 대한 자부심을 바탕으로 어떤 일이 발생하면 최선의 방법을 생각하는 스타일이면 좋겠습니다. 시간이 좀 걸리더라도 충분히 고민하고 행동으로 옮기는 사람을 선호해요. Q11. 5년 후 본인의 모습과 앞으로의 목표는? APM도 유기적으로 발전하는 방향으로 개발해 나가겠지만, APM 말고 새로운 제품도 만들어 보고 싶어요. 데이터 시각화에도 관심이 많은데, 기회가 된다면 새로운 분야와 관련된 솔루션에 도전해보고 싶습니다. 향후에도 관리자보다는 개발자로서 계속 일을 해 나갈 수 있었으면 좋겠습니다.
2022.11.07
2022 상반기 New Brainzer 인터뷰 | (2) 일반직 편
2022 상반기 New Brainzer 인터뷰 | (2) 일반직 편
'2022 상반기 NEW BRAINZER 인터뷰' 지난 개발자 편에 이어, 이번에는 일반직군 신규 입사자들의 이야기를 들어봤습니다. 인사, PR, 총무, Technical Consulting, 프리세일즈 등 다양한 직군의 브레인저가 느끼는 브레인즈컴퍼니! 함께 보러 가시죠. Question List 1. 자기소개 2. 업무소개 3. 브레인즈컴퍼니를 선택한 이유 4. 브레인즈의 매력 5. 성장을 느꼈던 순간 6. 브레인즈에서 이루고 싶은 목표 7. 예비 브레인저에게 한 마디 1. 안녕하세요! 저는 브레인즈컴퍼니 경영지원실 소속 하인혁입니다. 전공은 도시행정학으로, 첫 사회 경력으로 맡았던 총무 업무를 지금까지 쭉 해 오고 있습니다. 2. 주요 업무 위주로 말씀드리자면, ▲각종 일상 결의 및 비품/소모품 구매 ▲연차 관리 ▲건강검진/경조/라운지 관리 ▲법인 차량/자산/SW 및 라이선스 관리 ▲기타 총무 업무 등 여러 가지 지원 업무를 맡고 있어요. 3. 개인적으로는 이전 경력에 비해 여러 가지로 조건이 좋았기 때문입니다.ㅎㅎ 통근 거리, 자율 복장, 급여 등 입사를 위한 고민을 더 할 필요가 없었습니다! 또, 안정적 재무 구조 및 꾸준한 매출 실적 역시 회사를 선택한 중요한 이유 중 하나입니다. 4. 수평적 조직 문화를 통해 전 직원이 서로 배려하고 존중할 수 있는 환경을 만들어 나가고 있다는 점이 가장 마음에 들어요. 또, 다양한 복지 및 포상 제도가 존재한다는 점 역시 브레인즈컴퍼니만의 특색이라고 할 수 있어요. 5. 크게 두 가지를 꼽을 수 있을 것 같습니다! 먼저, 가끔 터지는 돌발 상황에 대응하는 새로운 업무를 맞딱뜨려지만 마무리지었을 때 한 단계 레벨 업하는 느낌이 듭니다. 업무 때문에 경찰 지구대에 제 발로 들어가 민원 신청하는 건 아무나 할 수 있는 경험은 아니죠?^^ 다음으로 새로운 외부 업체 사람들과 미팅 또는 협업하면서 갇혀 있던 제 시야가 트이는 경험을 할 때가 더러 있는데, 그 때 역시 레벨 업 하는 기분을 느껴요. 6. 누구나 장점과 단점을 함께 가지고 있듯, 저 역시도 장점과 단점을 가지고 있습니다. 물론 현재는 우리 회사에 적응해 나가는 시점으로, 다양한 경험을 통해 회사와 저 모두가 서로를 알아가고 있다 생각하는데요. 향후 잔뼈가 굵은 브레인저가 됐을 때는 보다 제 장점을 살릴 수 있는 업무를 하는 이른바 ‘전문가’로 거듭나고 싶습니다. 7. 신입사원으로서 믿고 따를 수 있는 ‘좋은 선임, 뛰어난 선임’들이 존재한다는 것은 본인의 커리어를 쌓는 데 가장 큰 메리트일 수 있는데요. 브레인즈컴퍼니에 그런 동료가 많다고 생각합니다. 더 나은 개발자, 더 나은 영업직, 더 나은 관리직으로 거듭나고 싶다면 브레인즈컴퍼니의 문을 언제든 두드려 주시길 바랍니다. 앞서 말한 긍정적인 회사 문화를 바탕으로, 각 분야 최고의 직원들이 지원자 여러분을 더 나은 존재로 발돋움할 수 있도록 도울 것입니다! 1. 안녕하세요, 저는 브레인즈컴퍼니 경영기획실에서 PR을 담당하고 있는 최순정입니다. 대학에서 국제통상학을 전공했지만, 졸업 후 언론사에서 기자 생활을 조금 하다가 공공기관 및 여러 스타트업에서 PR 업무를 쭉 해왔습니다. 2. 크게 언론 홍보/온라인 PR/사내 커뮤니케이션 이 3가지를 담당하고 있습니다. 좀 더 세부적으로 살펴보면, 언론 홍보의 경우 보도자료 작성 및 배포, 미디어 응대 등을 통해 대외적으로 브레인즈컴퍼니를 알리는 일이에요. 온라인 PR 업무로는 온드미디어(홈페이지 블로그, 네이버 블로그, 페이스북 등)에 잠재적 후보자와 고객 등을 타겟으로 하는 콘텐츠를 생산하고 있습니다. 때에 따라서는 채용 광고를 집행하거나 GA를 통해 통계 자료를 수집/분석하기도 하고요. 사내 커뮤니케이션은 사보 제작, 브행시/BB데이/CEO가 쏜다 등과 같은 사내 행사, 사내 캠페인 및 설문조사 등을 통해 사내 소통을 원활하게 하고, 브레인즈만의 고유한 기업문화를 정립해 나가는 일입니다. 3. 그동안 여러 스타트업을 옮겨 다니며 일을 해오다 보니, 좀 더 안정적이고 오래 다닐 수 있는 곳에 정착하고 싶었어요. 채용공고를 보고 브레인즈에 대해 조사하면서 꼭 입사하고 싶은 마음이 생겼었습니다. 22년 동안 적자 한 번 난 적 없이 업계 TOP 자리를 놓치지 않고 안정적으로 사업을 해오고 있었고, 지난해에는 코스닥에 상장해 연봉 천만원 인상까지 했더라고요. 그리고 브레인즈컴퍼니 블로그를 통해 해외 워크숍, 패밀리데이, 아침 무료 제공 등의 콘텐츠를 접하면서 직원들을 소중하게 생각하는 곳이라는 느낌을 받아 지원하게 됐습니다. 4. 입사 후 회사 만족도 조사를 진행한 적이 있는데요. 많은 브레인저들이 회사의 장점으로 좋은 동료와 수평적인 문화, 성장 등을 꼽았습니다. 저 역시 브레인즈의 가장 큰 매력은 좋은 동료라고 생각합니다. 회사원이라면 보통 회사에 출근하기 싫은 가장 큰 이유가 직장 상사나 동료 때문일텐데요. 하루 중 가장 많은 시간을 보내는 사람들과 맞지 않는다면 하루하루가 지옥같지 않을까요?ㅎㅎ 제가 경험했던 브레인저 대다수는 선한 사람들이고 모두 본인 분야에서 성과를 내고 있는 사람들이라고 생각합니다. 또, 무료 아침 식사, 해외 워크숍, 패밀리데이, 다양한 사내 행사 등 브레인저들이 행복하게 회사 생활을 할 수 있도록 많은 배려들이 곳곳에 묻어나 있는 곳인데요. 일례를 소개하자면, 브레인즈가 30명 남짓하던 시절 화장실에서 유축하는 여직원을 보고 충격을 먹은 선근님이 바로 여직원 휴게실을 만든 적이 있고요. 배우자 출산휴가가 흔하지 않던 시절부터 남자 직원들도 육아휴직을 보내주기도 했고요. 이런 따뜻한 배려들 덕분에 얼마 전에는 가족친화인증 기업으로 선정돼 대통령 표창을 받기도 했습니다. 개발 측면에서는 ‘찐 개발자’들이 모여 있다고 생각합니다. 얼마전 진행했던 개발자 인터뷰를 진행하면서, 오랜 시간 개발을 통해 깊은 전문성을 갖춘 분들이 많다는 것을 알게 됐습니다. 상반기에 입사한 신입 개발자 분과 사내 행사 때 대화를 나눈 적이 있었는데요. 부서장님을 존경하고 인정받고 싶다는 이야기를 하더라고요. 또, 다른 신입 개발자들 역시 많이 배우고 성장하고 있다고 전해 들었어요. 그만큼 전문성 있는 상사에게서 많은 것을 배워갈 수 있는 곳이라고 자부합니다! 이처럼 브레인즈컴퍼니는 좋은 환경에서 좋은 동료들과 함께 행복하게 회사 생활을 할 수 있는 곳입니다. PR 담당자로서 더 많은 자랑을 하고 싶지만, 이 정도로 끝내겠습니다. ㅎㅎㅎ 5. 얼마 전 좋은 홍보란 ‘결과를 예측할 수 있는 홍보’라는 글귀를 본 적이 있어요. 요즘 채용 브랜딩을 위해 다양한 콘텐츠를 생산해내고 있는데요. “이런 이야기를 들려주면 잠재적 후보자들이 지원하지 않을까”라고 예측하며 만들었던 콘텐츠가 입사 지원에 영향을 미쳤을 때 뿌듯함을 느꼈던 거 같아요. 그리고 입사 초기에 비해 시간을 덜 들이고 결과물을 내놨을 때 성장하고 있다는 느낌을 받았습니다. 6. 외부적으로는 많은 사람들이 ‘브레인즈컴퍼니’라는 단어를 들었을 때 “아, 거기!”라고 바로 알아차릴 수 있도록 하고 싶어요. 내부적으로는 브레인저들이 더욱 행복하게 일할 수 있도록 다양한 시도를 해 나갈 예정입니다. 7. 업계 1등 제품을 만드는 곳, 좋은 사람들이 모여 있는 곳, 근무환경이나 복지 등 어느 하나 부족한 것이 없는 곳이라고 생각합니다. 입사, 망설이지 않으셔도 됩니다. 입사하지 않는 분들은 좋은 기회를 놓치는 거겠죠?ㅎㅎㅎ 1. 안녕하세요. 브레인즈컴퍼니 경영기획실 천웅입니다. 저는 경영학을 전공하고 교육회사와 제조업에서 채용업무를 해왔습니다. 현재는 3번째 회사로 인사기획 업무를 하고 있습니다. 2. 현재 인사기획 업무 중 가장 많은 비중을 차지하고 있는 업무는 채용입니다. 22년의 업력을 가진 브레인즈컴퍼니가 추구하는 인재상이 변화된 환경에 적합한지에 대한 검토와 분석을 통해 자사에 보다 적합한 인재를 영입하기 위한 채용기획을 하고 있습니다. 그 외 업무로, 조직과 조직원의 성장을 돕는 교육훈련 및 성과 기획과 이를 지원하는 인사행정 업무를 하고 있습니다. 3. IT 업종에 대한 호기심이 있었습니다. 모든 업종별로 추구하는 가치가 달라 제도와 규정이 다르다는 것을 경험했는데요. 특히, IT 업종은 변화에 민감하게 반응하는 모습인데요. 브레인즈컴퍼니도 이러한 변화에 맞춰 수평적 조직문화를 만들기 위해 다양한 활동을 하고 있다는 것을 듣게 됐고, 변화의 중심에서 일해볼 수 있는 기회라고 생각해 선택하게 됐습니다. 4. 브레인즈컴퍼니는 커피향 가득한 성수동 카페거리에 있습니다. 분위기 좋은 맛집과 카페가 많아 퇴근 후 약속을 잡기도 좋고, 성수역이 가까워서 다른 지역으로 이동하기도 교통이 편리해요. 긴급하게 처리해야 하는 갑작스러운 야근이 발생한다면 저녁식사 드실 수 있게 야근비를 지원합니다. 그리고 8층 라운지 음료수는 항상 무한리필 되고요. 브레인즈컴퍼니는 2년 단위로 전 직원이 해외여행을 가고 있어요. 해외여행 이외에 매년 전직원의 20%는 세계 곳곳에서 열리는 전시회 참관단으로 해외연수를 갑니다. 코로나로 해외여행이 어려웠던 시기가 지나면서 2023년을 기대하고 있습니다. 5. 업종별/규모별로 경험해봤던 업무들이 환경별로 다르게 작동하는 것을 느끼고 환경에 맞춰 다른 버전의 자료가 만들어지는 순간에 성장하고 있다고 느껴요. 성장이라는 느낌이 드는 이유는 이미 정답이라고 생각하고 인정받았던 과거의 경험에서 벗어날 수 있었기 때문이 아닐까 생각됩니다. 6. 쉽게 읽기 어려운 사내 규정을 읽기 쉬운 자료로 만들고 싶습니다. 직장 생활을 하면서 동일한 문장도 읽는 사람에 따라서 다르게 이해하고 해석하는 모습을 많이 봤는데요. 누구나 이해할 수 있는 유튜브 영상이나 자료들을 만들고 싶어요. 7. 브레인즈컴퍼니의 개발환경은 동료들과 토론하는 것을 좋아하며 코드리뷰를 통해 동료들과 함께 성장하는 문화를 가지고 있습니다. 제품이 개발되는 것에 멈추지 않고 제품을 사용하는 고객의 의견을 경청하며 더 나은 제품을 만들기 위해 노력하고 있는데요. 동료들과 함께 성장하고 싶은 분들에게 브레인즈컴퍼니 입사를 추천합니다. 1. 안녕하세요. TechnicalConsulting팀의 박기민입니다. 전공은 전자공학이고, 이전에 해양로봇 주력 회사에서 개발자로 일한 경험이 있습니다. 2. SW 엔지니어로서 자사 주요 제품군인 Zenius 시스템 구축 프로젝트 업무를 하고 있습니다. 현재 나주사무소에서 TC팀 선배들과 같이 주요 고객사인 한국전력공사 및 타 사이트 유지보수를 담당하고 있어요. 3. 브레인즈컴퍼니 만의 제품인 Zenius 솔루션이 있다는 점, 직관적인 UI로 정보를 제공한다는 점, 고객과 소통해 니즈를 충족시켜 준다는 점이 선택하게 된 가장 큰 이유입니다. 4. 개인 일정 때문에 바쁠때도 항상 생각해주시고 챙겨주시는 팀원 분들, 여러 프로젝트를 경험하며 스스로가 성장할 수 있다는 확신이 든다는 점이 가장 큰 매력입니다. 한 곳에 집중이 아닌 여러 고객사들을 통해 멀티테스킹 능력도 기를 수 있다고 자부합니다. 5. 어떤 장애가 발생해 그 장애를 해결하기 위해 고민하고 여러 시각적으로 접근해 그 장애를 해결했을 때, 또 성취감과 시야가 조금씩 넓어지고 있다는 걸 느낄 때에 가장 성장한 것 같습니다. 6. 계속해서 문제 해결에 대한 시야를 넓히고 프로젝트를 도맡을 수 있는 인재가 되는 것이 목표입니다. 7. 입사할 때 가장 중요한 요소는 두가지라고 생각합니다. 첫째로, 화목한 사내분위기, 두 번째는, 개인의 성장 입니다. 화목한 사내 분위기에서 성장할 기회를 얻고 싶은 분들이라면 입사를 강력히 추천합니다. 1. 안녕하세요. 브레인즈컴퍼니 프리세일즈팀에서 근무하고 있는 유준영입니다. 저는 IT와는 크게 관련이 없는 산업경영공학과를 전공했지만, 새로운 분야에서 좋은 사람들과 재밌게 근무하고 있습니다. 2. 크게 봤을 때 두 가지로 나눌 수 있을 거 같아요. 내부에서 제품 관련 교육을 진행하거나 외부에서 제품 소개를 하는 업무 등 제품에 대한 발표를 진행하는 업무가 있고요. 브레인즈컴퍼니 제품이 경쟁력을 가질 수 있도록 제안서 및 제품 관련 자료들을 만드는 업무를 진행하고 있어요. 3. IT 관련 업종에서 근무를 하고 싶다는 생각을 가지고 직장을 알아보던 중, 브레인즈컴퍼니는 복지, 근무환경, 제품 등 상당히 좋은 기업으로 판단해 지원하게 됐습니다. 취업 준비를 하면서 많은 회사에 지원했지만, "꼭 이 회사에 붙었으면 좋겠다"라고 생각했던 회사라서 입사 확정 전화를 받고 기뻤던 기억이 있네요.ㅎㅎㅎ 4. 좋은 직장 동료 및 임원들이 있어서 따로 힘든 점 없이 행복한 직장생활을 이어나가고 있습니다. 또, 입사하고 한 번도 아침을 안 먹어 본 적이 없을 정도로 아침이 잘 나와서 매우 만족하고 있어요.(점점 살이 찌고 있습니다.ㅎㅎㅎ) 5. 초반엔 아는 것도 많지 않고 빨리 일을 처리해야겠다는 급한 마음에 실수가 잦아 다시 일을 하는 경우가 자주 있었는데요. 요즘엔 아는 것도 늘고(아직 많이 부족하지만ㅠㅠ) 좀 더 꼼꼼히 업무해야겠다는 생각을 가져서인지 실수가 줄어서 한 번에 업무가 완료되는 경우도 있었습니다. 이렇게 실수하지 않도록 노력하고 발전하는 자신을 보면서 더 좋은 사람이 된 것 같아 기분이 좋습니다. 6. 아직 거창한 목표를 세우기보다는, 현실적으로 업무에 대한 전문성을 가지고 싶습니다. 현재 근무기간이 오래되지 않아서 미숙한 부분이 많은데, 이러한 부분들을 더 열심히 노력해 전문성을 확보할 수 있도록 하겠습니다. 7. IT 인프라 모니터링 시스템 매출 1위, 평균 근속연수 10년. 이 두 가지 지표만 봐도 얼마나 좋은 회사인지 알 수 있습니다. 브레인즈컴퍼니에 입사하셔서 무제한 제공되는 커피와 간식을 함께 먹으며 좋은 시간 보낼 수 있길 바랍니다.
2022.12.16
다음 슬라이드 보기