반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
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
블로그
열기
메인 페이지로 이동
블로그
최신이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
SMS를 통한 서버관리는 꼭 이렇게 해야만 한다?!
네트워크 정보 수집 프로토콜의 모든 것 (SNMP, RMON, ICMP, Syslog)
임형섭
2024.03.04
페이스북 공유하기
트위터 공유하기
링크드인 공유하기
블로그 공유하기
무선 AP를 WNMS를 통해 올바르게 관리하는 방법
지난 포스팅을 통해
NMS의 기본 개념
과
NMS의 구성요소와 역할
에 대해서 살펴보았는데요. 오늘은
네트워크 정보 수집을 위한 다양한 프로토콜
에 대해서 자세히 알아보겠습니다.
네트워크 프로토콜(Network Protocol)은 네트워크에 연결된 장비 간의 메시지 흐름을 통제하고 관리하는 기본적인 절차와 규칙을 정한 규약입니다.
웹 브라우저, 파일 전송, 이메일 송수신, 미디어 스트리밍 등과 같은 모든 온라인 활동을 가능하게 하기 때문에 네트워크 정보 전달의 핵심요소라고 할 수 있죠.
이번 시간에는 주요
네트워크 프로토콜인 ICMP, SNMP
를 중점적으로 알아보겠습니다.
ㅣICMP는 무엇이고 어떻게 동작하는가?
ICMP(Internet Control Message Protocol)는 주로 네트워크의 경로상의 문제나, 호스트(단말)의 문제 등을 파악할 때 사용하는 프로토콜인데요. 대표적인 서비스가 ping입니다. 구체적인 동작원리를 살펴보면 다음과 같습니다.
오류 보고
◾ 네트워크에서 데이터를 보낼 때 오류가 발생하면, 오류를 발생시킨 장비(예: 라우터, 스위치)는 오류 정보를 담아 ICMP 메시지를 처음 보낸 사람에게 전송합니다. 이를 통해 무엇이 잘못됐는지 정확히 파악하고 문제를 해결할 수 있습니다.
◾ 예를 들어 한 컴퓨터에서 인터넷을 통해 데이터를 보내는데, 그 데이터가 목적지에 도달하지 못하면 ICMP가 '이 주소로는 데이터를 배달할 수 없어!'라고 알려주는 역할을 하죠. 이렇게 사용자나 네트워크 관리자가 문제를 알리고 대응할 수 있게 도와주는 게 ICMP의 주요 역할입니다.
[그림] ICMP 동작 방식
진단 및 테스트
◾ 네트워크의 연결 상태나 성능을 테스트하기 위해 ICMP 에코 요청과 에코 응답 메시지를 사용합니다. 이를 통해 네트워크의 지연시간(latency)이나 패킷 손실(packet loss) 등을 측정할 수 있습니다. '핑(ping, Packet INternet Groper)'을 대표적인 예로 들 수 있습니다.
◾ 쉽게 표현하면 '너 지금 연결 잘 되어 있니?'라고 물었을 경우 대상 장비가 '응, 잘 되어 있어!'라고 대답하면 연결이 잘 되어 있는 것이고, 대답이 없거나 늦는 것과 같은 문제를 식별하는 것이죠.
ICMP도 좋은 도구이지만, 네트워크의 복잡성이 빠르게 증가하고 호스트 수가 증가하면서 ICMP만으로는 네트워크 관리가 어려워지는 문제가 발생했는데요. 이를 개선하기 위해서 탄생한 것이 바로 SNMP입니다.
우선 SNMP의 히스토리부터 살펴보겠습니다.
ㅣSNMP 히스토리: 각 버전별 개념과 차이점은?
SNMP(Simple Network Management Protocol)는 1988년에 아래의 세 가지 니즈에 부합하기 위해 등장했습니다.
◾ ICMP보다 많은 기능의 탑재
◾ 네트워크 문제를 직관적이고 쉽게 해결할 수 있어야 함
◾ 표준화된 프로토콜의 사용
이후 몇 가지 버전을 거쳐서 현재는 네트워크 장비를 모니터링하기 위한 프로토콜로 자리를 잡아서 대부분의 NMS 상에서 이용되고 있습니다.
잠깐 SNMP의 처리단계를 살펴보면, SNMP는 Get/Set/Trap의 단순 명령 구조로 구성되는데요, 메시지 타입별 역할은 아래와 같이 정리할 수 있습니다.
위와 같은 처리단계를 가지고 있는 SNMP는 보안 기능 강화 및 기능 개선을 위해서 초기 v1 버전에서 v3 버전까지 업그레이드됐습니다.
각 버전은 보안, 성능, 유연성 등의 측면에서 발전되었으며 현재는 SNMPv2가 가장 많이 사용되고 있죠. SNMP 버전 별 특징에 대해서 자세히 알아보겠습니다.
SNMP v1
가장 초기에 만들어진 프로토콜로 기본적인 정보만을 주고받아서 네트워크 장비들의 상태를 확인하고, 간단한 명령 정도만 내릴 수 있습니다. 보안에 많이 약한 편이고, 정보를 주고받을 때 특별한 암호화나 보호 방법을 사용하지 않기에 정보가 노출될 위험이 있습니다.
SNMP v2
SNMPv1의 단점을 해결하기 위해 개발된 버전입니다. 보안 기능과 네트워크 과부하, 관리 효율성 등에 대한 기능이 향상되었습니다.
MIB(Management Information Base) 구조를 개선하여, 새로운 데이터 타입과 객체 식별자(프로그래밍에서 특정 객체를 식별하는 데 사용되는 값이나 이름)을 도입했습니다. 이로써 더 많은 종류의 데이터를 효과적으로 다룰 수 있게 되었지만, v1과 호환이 안되는 문제가 있어 상용화에는 실패했습니다.
SNMP v2c (Community-Based Security)
SNMPv2c는 '커뮤니티 기반' 방식을 사용하며 'Community String' (공동체 문자열)을 이용합니다. Community String은 정보를 주고받기 위해 인증 과정에서 비밀번호를 사용하는 것으로, 학교에서 특정 비밀번호를 알고 있는 사람들만 특정 정보를 볼 수 있게 하는 것과 비슷합니다.
하지만 비밀번호가 복잡하지 않은 편이라, 조금 더 높은 보안을 필요로 하는 경우에는 적합하지 않을 수 있습니다. 현재 가장 많이 사용되고 있는 버전입니다.
SNMP v3
보안과 관리 기능을 대폭 강화한 버전입니다. SNMPv3는 정보를 주고받을 때 강력한 인증과 암호화를 사용하여, 네트워크 상의 중요한 정보를 안전하게 지킬 수 있습니다.
또한 복잡한 네트워크 환경에서 사용자가 많을 경우에도, 각 사용자의 접근 권한을 관리할 수 있는 기능이 있습니다. 하지만 이전 버전들보다 더 복잡한 보안 모델과 설정 등의 이유로 널리 사용되고 있지는 않습니다.
[그림] SNMP 버전과 수를 한눈에 볼 수 있는 제니우스 EMS 화면
참고로 SNMP에는 위와 같이 다양한 버전이 있기 때문에 모든 NMS는 제니우스처럼 어떤 버전으로 수집했는지와 수를 파악할 수 있어야 합니다.
이제 SNMP에 대해서 조금 더 자세하게 살펴보겠습니다.
ㅣSNMP 자세히 보기: MIB의 개념과 구조
MIB(Management Information Base)는 관리 정보 기반이라고 불립니다. SNMP를 통해 관리되어야 할 정보나 자원들을 모아둔 것으로, Manager와 Agent 간 정보를 주고받는 정보의 집합체입니다.
MIB에는 SNMP를 통해 주고받는 정보가 어떤 의미를 가지고 어떻게 사용될 수 있는지에 대한 정의가 포함되어 있습니다. 또한 각각의 정보는 '객체'라고 불리며, 이 객체들은 계층적으로 구성되어 있기에 관리하고자 하는 정보를 쉽게 찾을 수 있게 도와주죠.
대표적으로 CPU 사용량, 메모리 사용량, 포트의 up/down 같은 상태 정보 등이 MIB에 포함됩니다. 마치 항해사가 바다를 항해하기 위해 지도를 사용하는 것처럼, MIB를 통해 네트워크의 상태를 정확히 파악하고 필요한 조치를 취할 수 있습니다.
MIB의 구조를 자세히 살펴보면 우선 큰 나무를 뒤집어 놓았다고 생각한다면 이해하기 쉽습니다. 큰 나무의 밑동(Root) → 각각의 가지(Branches) → 잎사귀(Leavers)로 나누어져 내려오는 형태인데요, 부분별로 자세히 살펴보겠습니다.
◾
밑동(Root):
모든 MIB 트리의 시작점으로, 'iso(1)', 'org(3)', 'dod(6)', 'internet(1)' 등으로 구성되어 있습니다. 여기서 'internet'은 네트워크 장비와 관련된 표준 MIB를 나타냅니다.
◾
가지(Branches):
밑동에서 나온 큰 가지들은 네트워크 장비의 다양한 부분을 나타냅니다. 예를 들어 'mgmt(2)' 가지는 일반적인 관리 정보, 'private(4)' 가지는 각 제조업체의 고유 정보 등을 의미합니다.
◾
잎사귀(Leaves):
가장 작은 단위의 정보를 나타내는 부분으로 특정 장비의 상태, 성능 지표, 설정값 등 구체적인 데이터가 저장됩니다.
MIB에서는 네트워크 장비의 정보가 여러 '분류'로 나누어져 있는데, '네트워크 인터페이스'라는 분류 아래에는 네트워크 카드의 상태, 속도, 전송된 데이터의 양과 같은 정보들이 담겨 있습니다.
MIB는 복잡해 보일 수 있지만, 네트워크 장비와 관련된 정보를 체계적으로 관리하고 접근할 수 있도록 설계되어 있습니다. 이 구조 덕분에 네트워크 관리자는 네트워크의 건강 상태를 쉽게 체크하고 필요한 조정을 할 수 있습니다.
다음으로는 MIB 내의 각 객체를 고유하게 식별하는 OID에 대해서 알아보겠습니다.
ㅣSNMP 자세히 보기: OID 확인 방법과 수집항목
OID(Object Identifier)는 MIB 내에 포함되어 있는 각 개별 정도에 대한 ID 값입니다. 아래 그림에서 볼 수 있듯이, 트리의 하단 값이 OID인데 MIB의 각 개별 정보에 대한 ID를 의미합니다.
[그림] OID Tree 구조
대형 도서관에서 원하는 책을 찾을 때 책의 번호를 확인하여 빠르고 정확하게 찾는 것처럼, 특정 오브젝트의 ID(Num)을 부여한 게 OID입니다. OID는 포함하고 있는 각 정보를 숫자로 표현합니다.
◾
Enterprise OID:
네트워크 업계에서 공통으로 사용하는 OID
◾
Private OID:
각 네트워크 벤더사에서 사용하는 독자적인 OID
예를 들어 Juniper Networks라는 네트워크 스위치 벤더에서 사용하고 있는 OID 값을 [1.3.5.6.1.9 ]라는 전용 OID 값을 사용한다고 가정하면, Juniper Networks 라우터의 경우 뒤에 라우터 제품별 OID '11'이 더 붙은 [1.3.5.6.1.9.11 ] 형태의 OID로 구성됩니다.
[그림] 제니우스 예시 화면
지금까지 네트워크 모니터링에 필요한 ICMP, SNMP 그리고 MIB, OID에 대해 살펴봤습니다. 참고로 제니우스(Zenius)-NMS에서는 OID 사전을 제공하고 있으며, 이를 통하여 관리하고 싶은 항목의 MIB 항목 및 OID 정보를 쉽게 찾을 수 있습니다.
이제 SNMP의 주요 개념 중 하나인 SNMP Trap에 대해서 알아보겠습니다.
ㅣSNMP Trap의 개념 그리고 특징은?
Manager(관리자)는 Server(Agent)로 메시지 요청(Polling)을 하게 되고, Server(Agent)는 응답(Notifying)을 하는 방식으로 진행됩니다.
그런데 Server가 비정상적인 이벤트를 감지하면 Manager의 Polling을 기다리지 않고 바로 Manager에게 메시지를 보내는데요, 이 긴급 메시지를 Trap(트랩)이라고 합니다. 우리가 날씨에 대해서 찾아보지 않아도 폭설이 예상될 때 폭설을 경고하는 자동 알림 시스템과 비슷한 개념입니다.
[그림] SNMP 프로토콜 동작 방식
SNMP Trap은 일반적으로 높은 CPU 사용량이나 디스크 공간 부족과 같이 해결해야 할 문제를 나타냅니다. 중앙 모니터링 시스템으로 전송되어 분석 및 조치를 취할 수 있죠. 이를 통해 Manager는 큰 문제가 발생하기 전에 잠재적인 문제를 신속하게 식별하고 해결할 수 있습니다.
SNMP Trap의 방식과 기능을 네 가지로 나누어 살펴보겠습니다.
(1) 비동기적 알림
SNMP Trap는 주기적인 폴링이 아닌, 이벤트 기반의 알림을 통해 즉각적으로 대응할 수 있도록 비동기적인 방법을 제공합니다.
(2) 실시간 알림
SNMP Trap은 이벤트가 발생하는 즉시 알림을 제공하여, 실시간으로 네트워크 상태 및 장치 상태를 모니터링해서 문제 발생 시 즉각적인 대응과 조치를 가능하게 합니다.
(3) 이벤트 기반 모니터링
SNMP Trap은 장치나 응용 프로그램에서 특정 이벤트가 발생했을 때만 알림을 보내기 때문에, 불필요한 트래픽을 발생시키지 않습니다. 따라서 자원을 효율적으로 사용하면서 중요한 상태 변경을 식별합니다.
(4) 자동화된 대응
SNMP Trap을 사용하면 이벤트 발생 시, 자동으로 대응 조치를 취할 수 있는 자동화 시스템을 구축할 수 있습니다. 이를 통해 관리자의 개입 없이 특정 이벤트에 대한 대응을 효과적으로 수행할 수 있습니다.
[그림] Zenius Syslog 감시 설정 등록 페이지(위), Zenius Syslog 이벤트 페이지(아래)
이와 같은 SNMP Trap을 통해 빠르게 이상을 탐지하는 것이 중요한데요. 제니우스(Zenius)-Syslog와 Trap에서는 Syslog, Trap에 각각 특정 이벤트 조건을 설정하여 이벤트를 감지하고, 장애를 통보할 수 있는 기능을 제공하고 있습니다.
이제 마지막으로 SNMP 못지않게 네트워크 관리에 중요한 역할을 하는 Syslog, RMON에 대해서 알아보겠습니다.
ㅣ Syslog, RMON의 개념과 동작원리는?
Syslog
Syslog는 컴퓨터 시스템, 네트워크 장비, 보안 장비 등에서 일어나는 모든 상황과 변화를 서버에 기록하는 프로토콜입니다. 관리 대상인 장비에서 일어나는 모든 상황을 메모리에 기록하죠. 로그/오류 관리가 주 목적이고 Unix와 Linux에서 많이 사용됩니다.
대부분의 라우터와 스위치들은 Syslog 프로토콜을 이용하여 Log들을 Syslog 서버로 보내고, 수백수천 대의 장비에 일일이 접속하여 로그를 볼 수 없기 때문에 '중앙 집중식'으로 관리합니다.
작업 방식은 주로 Client-Push 모델로 이러우지고 있고, 장비에서 일어나는 모든 상황 변화를 Layer4 프로토콜이 메모리에 기록하며, Syslog 서버는 UDP 포트 514에서 메세지를 수신합니다.
Syslog 수집항목은 시스템 운영/네트워크/보안/애플리케이션 등과 관련된 로그를 수집 및 분석하고, 각 항목별로 오류와 트랜잭션 등에 대한 내용을 확인합니다.
출처ⓒ viettelco.net
RMON
RMON(Remote Network Monitoring)은 네트워크 장비나 서버에서 발생하는 트래픽과 문제들을 원격에서 감시하기 위해 만들어진 프로토콜로, SNMP보다 확장된 개념이라고 할 수 있습니다.
네트워크 관리자는 RMON을 통해, 네트워크의 성능을 측정하고 문제가 발생했을 때 신속하게 해결할 수 있습니다. 회사에서 인터넷이 느려지거나 연결이 되지 않을 때 RMON을 사용하면 원인을 빠르게 찾아내어 문제를 해결할 수 있죠.
RMON과 SNMP의 연관성을 우선 아래 이미지를 통해 살펴보겠습니다.
출처ⓒ dpstele.com/blog/what-is-rmon.php
좀 더 자세히 살펴보면
◾ RMON은 SNMP 위에서 작동하며, SNMP 보다 더 광범위한 데이터를 수집/분석할 수 있는 기능을 제공합니다.
◾ SNMP가 네트워크의 '기본적인 통신'을 담당한다면, RMON은 그 위에서 보다 '세밀한 관찰과 분석'을 가능하게 합니다.
◾ RMON은 SNMP의 특정 데이터를 사용하여 네트워크 트래픽 패턴이나, 성능 문제, 네트워크 내의 비정상적인 활동 등을 실시간으로 감시하고 기록할 수 있게 해줍니다.
◾ RMON에서 Probe라는 수행 장비를 사용하며, 네트워크 트래픽 및 통계 수집 그리고 성능 모니터링을 위해 활용합니다.
결과적으로 RMON의 기능을 통해 네트워크의 문제를 더 빨리 발견하고, 효율적으로 대응할 수 있죠.
마지막으로 SNMP, RMON, ICMP, Syslog의 주요 내용들을 아래 표를 통해 한눈에 살펴보겠습니다.
。。。。。。。。。。。。
지금까지 네트워크 정보 수집을 위한 다양한 프로토콜의 종류와 특징에 대해서 알아보았습니다. 효과적인 네트워크 관리를 위해서 혁신적인 기술들이 많이 개발되고 있는데요, 이를 활용해서 성공적으로 네트워크를 운영하시기를 바라겠습니다!
#네트워크 프로토콜
#SNMP
#RMON
#ICMP
#Syslog
임형섭
프리세일즈팀
안정적이고 효과적인 비즈니스 운영을 위한 고객 맞춤형 IT 인프라 모니터링 시스템을 제안합니다.
필진 글 더보기
목록으로
추천 콘텐츠
이전 슬라이드 보기
6개월&20년 차 개발자들이 바라보는 브레인즈컴퍼니
6개월&20년 차 개발자들이 바라보는 브레인즈컴퍼니
브레인즈컴퍼니는 전체 인력의 약 2/3가 개발자로 구성돼 있습니다. IT기업인만큼 개발자의 역할이 특히 중요한데요. 그래서 ‘브이(브레인저 이야기)’의 첫 번째 편은 개발자 두 분을 모시고 진행해 봤습니다. 입사 6개월 차의 주니어 개발자 이재용님과 입사 20년 차를 내다보고 있는 시니어 개발자 김기상님을 만나봤는데요. 20년의 경력 차이 만큼 브레인즈컴퍼니를 바라보는 시각에 어떤 차이가 있을지, 또 개발자로서 철학은 어떻게 다른지에 대해 이야기를 들어보겠습니다. ------------------------------------------------------------------ Q. 반갑습니다, 자기소개 부탁드려요. 기상님: 안녕하세요. 저는 개발 1그룹 인프라코어팀 부장으로 일하고 있는 김기상입니다. 2004년도에 입사했으니, 올해로 벌써 19년 차가 됐네요. 재용님: 안녕하세요. 저는 개발 2그룹 ITSM팀 사원으로 일하고 있는 이재용입니다. 저는 입사한 지 막 6개월 차 정도 된 갓 신입이네요. (웃음) Q. 두 분의 업무를 구체적으로 소개해주세요. 기상님: ZENIUS EMS의 매니저 에이전트를 담당하고 있습니다. ZENIUS EMS는 브레인즈컴퍼니의 메인 브랜드로, 서버, 네트워크, DBMS, 부대설비와 같은 다양한 IT 인프라를 하나의 플랫폼에서 통합 관리하는 소프트웨어인데요. 인프라코어팀에서는 서버에 들어가는 프로그램을 개발 및 관리하는 일을 하고 있습니다. 통일된 라이브러리를 제공해 개발자들이 좀 더 편하게 일하고 생산성을 높일 수 있도록 하고 있습니다. 재용님: ITSM팀에서 백엔드 업무를 담당하고 있는데요. ZENIUS나 대시보드와 같은 회사 주 제품을 보조하기 위한 프로그램을 개발하는 작업을 하고 있습니다. Q. 브레인즈컴퍼니에 입사하게 된 계기가 어떻게 되시나요? 기상님: 2003년도 초에 전문연구요원으로 일하기 위해 회사를 알아보고 있었어요. 그때 마침 브레인즈컴퍼니가 연구 병역 특례 업체로 지정돼 있었기 때문에 연구소장님의 소개로 입사하게 됐습니다. 재용님: 저는 정말 운 좋게 입사하게 된 케이스인 것 같아요. 개발자라는 직군에 관심이 있어 학원을 다니고 있다가 면접 경험을 쌓기 위해 지원했는데 합격했습니다. Q. 그동안 브레인즈컴퍼니에서 개발자로 일해오면서 가장 기억에 남는 업무 성과가 무엇인가요? 기상님: ZENIUS EMS를 만든 것. 초창기 ZENIUS 3.0을 사용할 땐 여러 개의 모듈을 각기 다른 프로그램으로 관리하고 있었어요. 그걸 보완하기 위해 라이브러리를 만들어 여러 개의 모듈을 한 프로그램으로 관리할 수 있게 구현해냈어요. 창립 초기에 제가 그 스타트를 끊었다는 것이 뿌듯했고, 큰 성취감이 들었어요. 재용님: 저는 ITSM에 로그인했을 때 그래프를 화면에 띄우는 일을 하고 있어요. 프론트 단에 데이터를 보내주는 작업인데, 재미있게 일하고 있습니다. Q. 반대로 업무를 하면서 가장 힘들었던 점은요? 기상님: 버그 처리가 가장 힘들어요. 이용자들의 버그 문의가 오면 기술을 지원해야 하는데, 문제가 있는 버그를 빨리 알아채지 못할 때 스트레스를 받아요. 재용님: 놓치는 게 있을 때요. 제가 꼼꼼한 성격은 아닌 탓에 실수를 하는 것 같아요. 동료들은 오히려 괜찮다고 위로하고 격려해주는데, 그럴 때면 미안한 감정과 함께 더 잘해야겠다는 생각이 들어요. Q. 분위기를 바꿔서 이번에는 일 이야기가 아닌 편한 이야기를 나눠볼게요. 브레인즈컴퍼니에는 다양한 복지제도가 있는데요. 기상님은 어떤 것이 가장 기억에 남으세요? 기상님: 해외 연수 제도요. 저는 첫 해외 연수로 세부에 갔었어요. 마음 맞는 동료와 함께 바다를 거닐 수 있다는 것 자체가 너무 행복했습니다. ‘미국 연수’도 기억에 남아요. 2014년에 갔던 미국 연수에서는 구글과 드롭박스, 코트라 등을 견학하기도 했어요. 코로나 터지기 직전에는 영국 연수도 갔었어요. 세계 최대 보안 전시 중 하나인 Infosec에 저희 회사가 참여했었죠. 해외 연수 외에 ‘패밀리 데이’라는 행사도 브레인저들에게 인기가 많습니다. 패밀리 데이는 직원 가족들이 함께 모여 진행하는 행사예요. 아이들을 위해서 행운권 추첨을 통해 선물을 주기도 하고, 함께 운동회도 하며 시간을 보냈던 게 생각 나네요. 이렇게 돌아보니, 브레인즈컴퍼니는 참 많은 혜택을 주는 회사네요. (웃음) Q. 요즘은 코로나로 연수 제도를 중단하고 있죠. 재용님 많이 아쉬워하시는 것 같은데요? (웃음) 대신 브레인즈컴퍼니, 이것만은 자랑하고 싶다! 하는 것이 있나요? 재용님: 연봉 인상과 좋은 동료. 이번에 전체적으로 연봉이 천만원씩 올라서 너무 좋았습니다. (웃음) 또 사내에 다양한 음료가 비치 돼있고, 아침을 제공해주는 것도 좋아요. 무엇보다 자랑거리는 좋은 동료 분들과 마음이 잘 맞아서 기분 좋게 출근한다는 것을 꼽을 수 있겠네요. Q. 동료분들 얘기가 나왔는데, 팀 내 분위기는 어떤가요? 기상님: "할 때는 하고, 놀 때는 놀자." 집중력을 요하는 일이다 보니 업무 중에는 독서실처럼 조용해요. 대신 점심시간이나 휴식시간에는 서로 편하게 이야기를 나누며 시끌벅적한 분위기를 만들어냅니다. 코로나 이전에는 라운지에서 게임도 즐기고 회식도 했었어요. 요즘은 한 달에 한 번씩(셋째 주 수요일) 저녁 시간에 같이 밥을 먹으면서 소통의 시간을 갖고 있습니다. 재용님: 분위기는 자유롭고 무엇보다 동료들이 인간적이에요. 일할 때 각자 자유롭게 노래를 듣는데 처음에는 신기했어요. 적응하고 보니, 개인만의 공간에서 자유롭게 일할 수 있는 환경이라 좋습니다. 팀 분위기는 타부서에 자랑하고 싶을 정도로 매우 좋아요. 업무 중 실수를 하면 미안한 감정부터 들 정도로, 팀원들 자체가 너무 착하고 좋은 분들이 많습니다. Q. 모두 즐겁게 일하고 계시네요. 앞으로 새로운 동료들이 팀에 합류하게 된다면 어떤 동료를 원하시나요? 기상님: 솔직하고 소통을 잘하며, 끊임없이 고민하는 개발자. 편견일 수 있지만, 개발자는 ‘은둔형’의 이미지를 갖고 있어요(물론 실제로는 그렇지 않은 사람도 많겠죠). 그런 성향을 가진 건 상관이 없지만, 의사소통에 문제가 되는 건 안돼요. 예를 들면, 코드에 문제가 있어도 성격 상 잘 말하지 않는 경우에 시간이 지나면 결국 잘못된 부분이 극명하게 드러나게 돼있거든요. 그래서 소통이 중요해요. 그런 상황에서는 솔직하게 말해줬으면 해요. 또 개발 공부를 할 때 좀 더 읽기 편한 코드나 예외 요소를 여러 각도에서 고려해 보는 자세가 필요하다고 생각해요. 재용님: 꼼꼼한 개발자요. 언어 하나를 빠뜨리면 프로그램 자체에 문제가 생기기 때문에 완전히 집중해서 노력하는 자세가 중요해요. Q. 최근 개발자 직군이 사회적으로 인기가 많은데요. 두 분은 개발자로 진로를 선택하게 된 이유가 있으신가요? 기상님: 적성에 잘 맞고 재미있어서요. 제 전공은 기계공학이었습니다. 당시 기계공학과에 ‘프로그램 개발’이라는 과 소모임이 있었는데요. 소모임에서 프로그램을 잘 다루시는 선배님들이 방학 기간에 멘토-멘티 형식으로 후배들을 가르쳐줬어요. 그 때 C언어, C++ 등을 배우다가 학부 연구소에 발탁이 됐어요. 로봇, 자동차와 같은 시뮬레이터를 만드는 ‘자동화 연구실’에서 일했고, 너무 재미있어서 자연스럽게 대학원까지 가게 됐습니다. 재용님: 개발은 흥미롭고 매력적인 직군이라고 생각해요. 저도 개발 관련 전공은 아니었어요. IoT 쪽이었는데, 코딩 수업을 들은 적이 있었어요. 그 때 코딩에 흥미를 느껴 학원까지 등록해서 다니다 보니 개발자가 됐습니다. Q. 기상님이 입사할 당시의 ‘개발’은 현재와 비교해 봤을 때 어떤 차이가 있나요? 기상님: 제가 입사할 당시의 개발은 ‘수동적인 업무’였습니다. 그 때는 SI성 사업이 주였어요. 하청업체의 위치에 있었다고 볼 수 있죠. 전산시스템을 필요로 하는 곳으로부터 하청을 받아, 시스템의 기획, 개발, 유지보수, 운영 등을 처음부터 끝까지 요구하는 대로 해야 해서 1~2년씩 파견을 나가기도 했어요. 그러다 보니 야근과 특근이 많았죠. 반면에, 현재는 능동적인 스타일로 바뀐 것 같아요. 이제는 개발자들에게 본인이 원하는 대로 다 맞춰 달라고 요구하지 않아요. 오히려 개발자들이 만들고 싶은 제품을 개발하고 업체에게 구입을 요구해요. 그러다 보니 자율적으로 일하는 분위기로 바뀌었고, 이전보다 훨씬 개발 환경도 좋아졌다고 생각해요. Q. 재용님, 요즘 젊은 세대 사이에서는 개발자에 대한 인식이 어떤가요? 재용님: MZ세대는 개발자를 이공계열 중에서도 가장 매력적이고 창조적인 직업이라고 생각하는 것 같아요. 기상님의 말을 들으니 개발 환경이 이전보다 능동적으로 바뀌어서 그런 것 같네요. 무에서 유를 창조해내고, 자신이 만든 웹사이트가 가시적으로 드러난 것을 사람들이 볼 때 성취감을 느껴서 개발자를 선택하는 20대 분들이 많더라고요. Q. 그럼 재용님, 브레인즈컴퍼니에 입사를 원하는 개발자를 위해 입사 과정과 함께 합격 꿀팁 부탁해요! 재용님: 서류 전형에서는 ‘객관성’, 면접은 ‘힘빼기’라고 생각해요. 저는 브레인즈컴퍼니에 총 두 번 지원했고, 처음에는 서류에서 탈락했어요. 개발자 분들이 자기소개서나 이력서를 쓸 때 자신만 이해할 수 있는 내용으로 서류를 작성하는 경우가 많아요. 개발에 대해 잘 모르시는 분들도 이해할 수 있게 객관적이고 구체적으로 쓰는 것이 중요하다고 생각합니다. 실제 상황이나 예시를 들면 더욱 좋고요. 면접은 모범적인 답이지만, 긴장하지 않고 말하는 것이 중요하다고 생각합니다. 브레인즈컴퍼니 면접 당시, 긴장을 많이 했더니 알고 있는 용어나 언어도 기억이 나지 않아 당황스러웠어요. 그 이후에 힘이 풀려 오히려 편하게 답변했더니, 유연하게 대처할 수 있었어요. 개발자 면접은 즉흥적인 문제 해결 능력을 요구하기 때문에 유연성이 필요합니다. 긴장하지 않고 힘을 빼고 임하시는 걸 추천 드립니다. Q. 마지막 질문 드릴게요. 두 분의 앞으로 목표와 계획이 궁금합니다. 기상님: 끊임없이 새로운 개발에 도전할 계획입니다. 개발 자체가 일로 다가오지 않게 하기 위해서는 계속해서 새로운 것에 관심을 가져야 한다고 생각해요. 가령, 제품 개발을 하다 보면 그 제품에만 집중해서 다른 보조 기술 개발은 못 보게 되는 경우가 생기는데요. 그럴 때마다 새로운 기술에 대한 호기심을 잃지 않고 도전해 나가는 것이 제 목표입니다. 재용님: 저는 아직 신입이니 개발 능력을 키우는 것이 목표이지 않을까요? 5년 후에는 특히 Back-end 쪽에서 자유자재로 프로그램을 만들어낼 수 있는 개발자로 성장해 있었으면 좋겠네요.
2022.08.04
인턴 은서님의 자유롭고 따뜻했던 브레인즈 생활기
인턴 은서님의 자유롭고 따뜻했던 브레인즈 생활기
지난 1월, 경영기획실에 대학생 인턴 은서님이 첫 출근을 했습니다. 곧 졸업을 앞두고 있지만, 아직 진로를 결정하지 못해 고민이라던 은서님은 이번 인턴 활동으로 졸업 후 청사진을 그려볼 수 있었다는데요. 은서님이 브레인즈컴퍼니에서 어떤 경험을 해봤길래, 미래 계획을 세울 수 있었을까요? 두 달간의 따뜻했던 브레인즈 생활기, 함께 들으러 가시죠! ------------------------------------------------------- Q. 안녕하세요, 은서님. 자기소개 부탁드립니다. 안녕하세요, 브레인즈컴퍼니 경영기획실 HR인턴 박은서입니다. 벌써 약 두 달간의 인턴 생활이 끝나다니, 시간 참 빠른 것 같아요. Q. 인턴 기간 동안 브레인즈에서 어떤 업무를 했나요? 채용 관련 업무를 담당했어요. 주로 서류와 면접전형 심사에 참관한 후 합격자와 불합격자를 관리하는 업무를 했고요. 개발자 직군 채용에 도움이 될 수 있도록 ‘개발자 특집 인터뷰’를 진행하기도 했어요. 그 외에도 브레인저들의 주거 복지와 관련한 업무도 경험해봤습니다. Q. 가장 기억에 남는 업무나 뿌듯했던 순간이 있을까요? ‘넷플릭스 기업 문화가 한국에서도 통할까’라는 주제로 기업문화 TF 회의에서 발표했을 때요. 브레인즈컴퍼니는 행복한 회사를 만들기 위해 기업문화 TF인 ‘YB(Young Brainz)’를 운영 중인데요. YB팀은 일주일에 한 번씩 회의를 열어 브레인즈컴퍼니의 기업문화를 개선해 나가고 있습니다. 이 회의에서 제가 자료를 서치하고 직접 만든 PPT로 발표할 기회를 가질 수 있었는데요. 넷플릭스가 구축한 새로운 기업문화에 대해 이야기하고, 국내 6곳의 기업(메리츠 화재, 우아한 형제들, CJ ENM, 비바리퍼블리카, 와디즈, 렌딧)이 넷플릭스의 기업문화를 어떻게 벤치마킹하고 있는지에 대해 발표했어요. 나아가 영업부서와 함께 브레인즈컴퍼니는 이를 어떻게 적용해볼 것인지 함께 고민하는 시간도 가질 수 있었답니다. 차후에 YB팀 분들이 자료를 활용할 수 있도록 따로 전달 드렸고, 실무에 참고하고 있다는 얘길 들어 참 뿌듯하고 기뻤던 것 같아요. Q. 브레인즈컴퍼니의 근무 환경은 어땠나요? 근무 환경에 대해 느낀 3가지는, “무엇이든 할 수 있는 곳”이라는 것과 “누워서도 쉴 수 있을 정도의 자유로운 분위기” 그리고 “브레인저와 소통하는 선근님”입니다. 앞서 언급한 기업문화 TF에서 자유롭게 제 목소리를 낼 수 있다는 점에서 알 수 있듯이, 브레인즈컴퍼니는 직급에 상관없이 하고 싶은 업무가 있다면 해볼 수 있는 분위기더라고요. 인턴도 단순 업무가 아닌 해보고 싶은 일이 있다면 바로 주전 선수로 뛸 수 있었어요. 브레인즈컴퍼니 8층에는 라운지가 있는데요. 이 라운지는 음악이 흘러나오고, 소파와 책, 음료수가 비치돼 있어 카페테리아를 연상케 해요. 쿠션이나 쇼파에 몸을 눕다시피 기대고 쉬는 분도 봤어요. 마지막으로 선근님과 직원 간의 1:1 소통이 인상깊었는데요. 요청사항이 있거나 회사에서 하고 싶은 프로젝트가 있으면, 중간관리자를 거치지 않고 바로 선근님과 미팅룸에서 가볍게 대화를 나누기도 하더라고요. 저한테는 매우 신기한 풍경이었어요. Q. 브레인즈컴퍼니에서 근무하며 가장 좋았던 점은 무엇인가요? 직원 분들이 모두 좋았다는 점이었어요. 특히 제 사수님이 저를 너무 잘 챙겨주셔서 감사했어요. 사실 처음으로 직장생활을 하다 보면, 일하다 모르는 부분이 있어도 어디서부터 어디까지 여쭤봐야 하는지 감이 안 잡혀서 곤란할 때가 있거든요. 그런데 물어봐야 하나 말아야 하나 고민하기도 전에 먼저 알아봐 주시는 세심함에 놀랐어요. 연차가 있으신 임원들도 성품이 부드러웠고, 일 외에도 학교 생활이나 일상에도 관심을 가져 주셔서 참 따뜻한 곳이라고 느껴졌어요. 또 브레인즈컴퍼니는 아침식사가 항상 제공되는데, 아침에 출근하면 꼭 먹고 근무하라고 신신당부해주셨어요. Q. 첫 직장생활을 해보며, 직장인으로서 느낀 고충과 이점에 대해 얘기해주세요. 고충이라고 한다면, 첫 사회생활이다 보니 다소 낯설었다는 점이요. 처음이다 보니 모든 것이 어색하고, 기존의 삶과는 생활 패턴이 다르다 보니 적응하는데 시간이 좀 걸렸던 것 같아요. 특히 아침에 아주 일찍 일어나 지옥철을 뚫고 출근하는 길이 참 힘들었던 것 같네요. 직장인들이 새삼 대단하다고 느꼈어요. 이점은 그만큼 사회인으로서 성장할 수 있는 기회를 얻을 수 있었다는 것이요. 저는 졸업 전 방학 기간에 인턴을 했던 터라, 인턴십 프로그램이 끝나면 다시 학교로 돌아가야 하는데요. 학교로 돌아갔을 때, 앞으로 진로를 위해 무엇을 준비해야 하는지 구체적으로 알게 됐어요. 미래를 계획하는 데에 있어 경험을 제공해 준 브레인즈컴퍼니에게 감사드릴 뿐입니다. Q. 다음에 들어올 인턴에게 해주고 싶은 조언은? 적극적으로 업무를 추진하라고 조언하고 싶어요. 사실 첫 직장생활이다 보니, 제 업무의 범위가 어느 정도인지, 어떤 안건에 대해 의견을 제시해도 되는지 망설여질 때가 있는데 브레인즈컴퍼니는 언제나 열려 있더라고요. 생각 이상으로 제 의견을 충분히 반영해줬어요. 인턴십 프로그램은 기간이 짧기 때문에 주어진 시간 안에 일을 효율적으로 배우려면 거침없이 묻고, 업무 외에도 관련된 것들을 추가적으로 찾아보고 도전해봐야 한다고 생각합니다. Q. 퇴사 후 앞으로의 계획은? 퇴사 후에는 일단 다시 대학생의 신분으로 돌아가 학교 생활을 즐길 계획입니다. 학업에 더 집중하되, 브레인즈컴퍼니에서 배운 것들을 바탕으로 관련 대외활동이나 기자단을 하면서 진로를 구체화할 예정입니다. 제 첫 직장이 브레인즈컴퍼니여서 행복했어요! 브레인저 모두 감사했습니다!
2022.08.18
벽을 넘어서고 싶은 신입 개발자의 브레인즈 생활기
벽을 넘어서고 싶은 신입 개발자의 브레인즈 생활기
지원 이유와 여정 대학교 졸업 후, 부족한 웹개발 역량을 쌓기 위해 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
디자이너를 그만두고 개발 일을 하는 이유
디자이너를 그만두고 개발 일을 하는 이유
브레인즈컴퍼니에는 5개의 개발그룹이 있습니다. 그 중 브레인즈 대표 제품인 Zenius EMS의 웹 개발을 총괄하고 있는 개발2그룹의 그룹장, 성준님을 만나봤습니다. 성준님은 학석〮사로 산업디자인을 전공했는데요. 디자인 전공자가 어떻게 개발그룹장을 맡게 됐을까요? 성준님이 개발 일을 하게 된 사연 그리고 다양한 팀이 모여 있는 개발2그룹의 일하는 방식 등에 대해 이야기를 나눠봤습니다. ---------------------------------------------------------------------------- Q. 안녕하세요, 성준님. 자기소개 부탁드립니다. 연구개발본부 개발2그룹 그룹장으로, Zenius EMS의 웹개발을 책임지고 있습니다. 브레인즈컴퍼니에는 2010년 12월부터 근무하기 시작해 현재 12년째네요. 브레인즈에 오기 전에도 주로 웹개발을 했고, 때에 따라 SI프로젝트 PM도 했습니다. Q. 전공이 산업디자인이라고 들었습니다. 디자인 전공으로 석사까지 하신 후 개발자로 전향하신 계기가 있을까요? 대학교 1학년 때는 디자인 전공이 아니었고, 당시 학부별로 신입생을 뽑아서 자연과학부로 입학했어요. 2학년 때부터 산업디자인을 해야겠다는 마음을 먹고 겨울방학 때 한두 달 정도 미술학원에서 드로잉의 기초적인 것들을 배운 후, 대학 3년과 대학원 2년 동안 산업디자인 공부를 했습니다. 당시에 사용자 인터페이스에 관심이 많았고, 석사 논문도 사용자 인터페이스가 주제였어요. 석사 2년차 때, 대우전자와 삼성SDS에서 근무하던 선배를 통해 입사제안을 받았습니다. 그런데 행운인지 불행인지 두 회사의 면접일이 같아, 한 곳을 선택해야만 했어요. 대우전자에 가게 된다면 제품 디자인을, 삼성SDS는 소프트웨어 개발 관련 디자인 업무를 할 수 있었어요. 저는 사용자 인터페이스와 같은 소프트웨어 개발 쪽의 디자인 업무를 하고 싶어 삼성SDS로 면접을 갔고 삼성에 입사하게 됐습니다. 당시 삼성SDS(前 삼성데이터시스템)는 SI 사업도 하고 삼성 그룹 계열사의 SM 업무도 했습니다. 또 하이텔, 천리안과 같은 유니텔이라는 PC 통신 서비스도 제공하고 있어서, 입사 전에는 유니텔의 GUI를 담당하거나 UI 관련 업무를 할 것이라고 예상했어요. 그런데 제가 병역특례 전문연구요원으로 근무하는 것이라서, 제 예상과는 다르게 연구소 소속으로 소프트웨어 연구 및 개발 업무를 하게 됐습니다. 당시 삼성SDS에 입사하면 수 개월 동안 PowerBuilder, Oracle 같은 개발 교육을 받은 후에 부서로 배치됐고, 이런 교육 덕분에 소프트웨어 개발 업무에 쉽게 적응할 수 있었죠. 또, 학부 때 컴퓨터 프로그래밍 과목을 여러 개 수강하면서, 디자인보다는 소프트웨어 개발이 제 적성에 더 맞는다고 생각하고 있었고, 이렇게 첫 직장 생활을 소프트웨어 개발자로 시작하게 됐습니다. 이후 27년 동안 쭉 소프트웨어 개발을 하고 있습니다. Q. 이제 부서 이야기를 해볼게요. 개발2그룹에서는 어떤 업무를 진행하고 있나요? 개발2그룹은 인프라웹팀, ITSM팀, 디자인팀으로 구성돼 있습니다. 먼저 인프라웹팀은 우리 회사매출의 90% 이상을 차지하고 있는 Zenius EMS의 웹 업무를 담당하고 있어요. 신규 인프라 혹은 장비의 성능을 모니터링하는 기능을 추가하거나, 사용자 편의성 개선 등의 고도화 업무, 보고서/대시보드 같은 고객사별 커스터마이징 개발 등의 업무를 주로 하고 있습니다. ITSM팀은 IT 부서에서 IT 서비스를 운영하는데 필요한 업무 프로세스를 돕는 Zenius ITSM 제품을 개발하고 이를 기반으로 고객사에 구축하는 프로젝트를 수행하는 팀입니다. ITIL이라는 표준을 바탕으로 장애처리, 서비스요청과 같은 업무를 IT 부서에서 원활하게 수행할 수 있도록 프로세스를 구축하고 이를 시스템으로 처리할 수 있게 합니다. 최종적으로 IT서비스 수준을 한 단계 높이는 일을 하고 있어요. 마지막으로 디자인팀은 브레인즈의 모든 제품과 솔루션의 디자인을 책임지고 있습니다. 고객사별 대시보드 디자인을 하고, 모든 브레인즈 제품의 GUI 디자인, UI/UX 기획, 정보시각화 등의 업무를 합니다. Q. 팀마다 분위기가 다를 것 같은데요. 각 팀별 일하는 방식에 대해 설명해주세요. 아무래도 팀별로 업무가 아주 다르다 보니, 일하는 방식도 업무에 맞춰서 변하는 거 같습니다. 인프라웹팀은 코드리뷰와 공유 회의를 통해서 업무가 진행됩니다. 다양한 고객사로부터 다양한 요구사항이 들어오기 때문에 이전에 했던 유사한 개발 업무가 무엇이었는지, 어떻게 개발했는지 개발자끼리 공유하는 일이 매우 중요해요. 회의를 통해서도 공유하지만, 다음 개발자를 위해 개발 이력도 문서화를 잘 해놓고 있어요. ITSM팀은 팀장이 주도적으로 제품 개발을 리딩하면서, 개발자 모두가 하나의 목표로 똘똘 뭉칠 수 있게 개발자 한 명 한 명을 독려하면서 일하고 있습니다. 디자인팀의 경우, 결과물은 눈에 보이지만 고객의 요구사항은 눈에 보이지 않고 설명하기 어렵기 때문에, 타 부서 및 팀 내에서도 커뮤케이션이 활발하게 이뤄지고 있어요. 또, 브레인즈의 디자인 아이덴터티를 견고하게 만들기 위해서 디자인 크리틱도 자주 합니다. Q. 개발2그룹에 신규 입사자가 들어온다면, 어떤 스타일의 동료가 합류했으면 하는지 궁금합니다. 신뢰할 수 있는 동료. 제가 지금까지 직장생활을 하면서 가장 중요하다고 생각하는 것은 신뢰입니다. 항상 솔직하게 말하고, 자기 말에 책임지는 행동을 하는 동료였으면 좋겠어요. 아무리 실력이 좋더라도 신뢰할 수 없다면, 그 실력도 신뢰하기 어렵게 되는 거 같아요. 모든 인간이 완벽할 수 없기 때문에 조금 실력이 부족하더라도 신뢰할 수 있는 사람이라면, 동료와 서로 부족한 부분을 채워 나가며 무슨 일이든 해낼 수 있다고 생각합니다. Q. 신규 입사자는 브레인즈컴퍼니에서 어떤 성장을 기대할 수 있을까요? 인프라웹팀에서 일하게 되면 1,000여 개의 레퍼런스를 가진 제품은 어떤 모습이어야 하는지를 배울 수 있습니다. 많은 고객들의 다양한 요구사항을 어떻게 제품에 녹여야 하는지, 그리고 그 많은 사이트를 어떻게 관리해야 하는지를 배울 수 있어요. 또, 성능상의 문제없이 방대한 양의 성능 데이터를 어떻게 다뤄야 하는지도 배울 수 있습니다. ITSM팀에서는 다양한 회사에서 IT서비스를 어떻게 관리하는지 직접 경험하고, 이를 제품에 어떻게 포함하는지 배울 수 있어요. 현재 최신 버전의 Zenius ITSM이 고객을 하나씩 늘려가고 있는데요. 새 버전의 제품이 어떻게 업그레이드돼 가는지, 고객의 요구사항은 무엇이고 이것을 제품에 어떻게 녹이는지도 경험하면서 제품과 함께 자신도 성장해 나가는 경험을 할 수 있습니다. 디자인팀에서는 패키지 소프트웨어의 GUI 디자인을 직접 경험할 수 있고, UI/UX 기획도 해 볼 수 있습니다. 다양한 고객들이 원하는 디자인은 무엇인지, 고객과 커뮤니케이션은 어떻게 하는지 등도 경험해 볼 수 있어요. 아무래도 대시보드 디자인 업무를 많이 하다 보니, 다양하고 많은 정보를 어떻게 시각화해야 하는지 연구하고 디자인할 수 있습니다. Q. 브레인즈에 장기근속 중이신데요. 입사 초와 현재를 비교해 보자면? 입사 초기의 브레인즈가 중학생이었다면, 현재는 대학생이 된 것 같습니다. EMS가 성공하면서 상장한 회사가 됐다는 점이 가장 큰 변화라고 생각해요. 또, 상장을 했다는 건 기업이 갖춰야 할 투명성과 성장성이 검증된 것이라고 봅니다. 지금까지 그래 왔듯이 브레인즈는 앞으로도 꾸준히 발전할 것이라고 믿습니다. Q. 그동안 가장 힘들었던 순간과 보람을 느꼈던 순간은요? Zenius EMS 7.0을 개발하고 오픈할 시점이 가장 힘들었습니다. 일이 정말 많았거든요. (웃음) 개발해야 할 인프라가 열 개가 넘었고, 프리랜서 개발자까지 포함해서 30여 명 정도가 매달려서 일했습니다. 개발 업무가 많아 야근하는 것도 힘들었지만, 그룹장이기 때문에 많은 개발자를 관리하는 일이 개발 업무보다 더 힘들었어요. 또, “새 버전이 이전 버전처럼 많은 매출을 울릴 수 있을까”하는 걱정도 한몫 했습니다. 정말 정신없던 때였네요. 반대로 가장 보람찼던 순간은 상장했을 때입니다. 우리 회사가 상장하는 데 제가 5% 정도는 기여하지 않았을까 생각합니다. (웃음) 사실 다니던 회사가 상장한다는 건 일생에 한 번 경험할까 말까 한 일이라고 생각합니다. 단지 운이 좋아서 입사하자마자 상장한 게 아니라, 10년 동안 브레인즈에서 열심히 일해왔고, 그래서 상장하는 데 작은 기여를 했다고 생각하기 때문에 더 기뻤어요. 그 밖에도, 우리 제품이 장애를 미리 발견해 큰 사고가 발생하는 것을 막았다는 이야기를 들을 때면, “내가 한 일이 다른 누군가에 실질적인 도움이 되는구나”라는 성취감을 느껴요. 고객사 기사에서 우리 제품이 기사 사진에 보이거나, 간접적으로 소개되는 것을 볼 때도 보람을 느낍니다. Q. 앞으로 브레인즈컴퍼니에서 꼭 이뤄보고 싶은 목표가 있을까요? 공개할 수 없지만, 현재 브레인즈에서는 새로운 기술로 새로운 제품을 만들고 있는데요. 제가 작게나마 기여를 했으면 좋겠고, 이왕이면 그 제품이 대박을 터트리면 더욱 좋겠습니다. (웃음) 그리고 소박한 목표가 하나 더 있어요. 브레인즈에서 정년까지 일하고 싶습니다. (웃음)
2022.09.16
다음 슬라이드 보기