일정 관리의 중요성

현재 프로젝트는 태스크 관리를 “Jira”에서 하고 있다. 대규모 인원이 오늘 한 업무에 대해서 로깅을 하는 툴중 무난하게 사용할 수 있다는 판단이었다. (물론 회사 공식툴이기도 하다) 어제는 개발 쪽이 아닌 기획 쪽 파트너사와 일정 관련 업무 미팅을 진행했었다. 일정을 따로 관리하고 있다는 얘길 들어서 우리는 Jira로 관리하고 있고, 함께 사용했으면 좋겠다고 의견을 전달했다. VPN 접속이 어려워서 불편하다. Task가 너무 많아서 느리다. 등 여러 의견이 나왔다. 툴은 툴일 뿐이고 대규모 인원이 같이 Task를 공유하며 효과적으로 사용할 수 있는 다른 방안이 있는지? Task가 많다면 필터를 만들어서 본 적...

더보기

문제 해결을 위해 고민해야 할 것들

팀원들이 타 부서와 미팅을 하고 와서 상기된 표정으로 불만을 토로했다. 정해진 것이 없는 시간만 낭비한 회의라는 것이다. 기존 방식의 알고리즘을 바꾸기로 방향성은 정해진 것 같았다. 내부에서 돌던 분석 알고리즘이 시스템 밖에서 동작이 될 것이고 그 결과를 받아서 애플리케이션에 적용해야 하는 상황이다. 그리고 화이트보드에 모여서 어떤 방식으로 인터페이스를 할 것인지 논의를 시작했다. 가만히 지켜보다가 몇 가지 질문을 던졌다. “알고리즘이 바뀌면 어떤 영향이 있을지 파악하셨나요?” “…..” 우리가 일하는 분야에서는 문제 해결 능력이 매우 중요하다. 문제 해결 능력은 위의 상황들이 반복되면서 키워진다고 생각한다...

더보기

위임의 중요성

<출처: https://unsplash.com/photos/a9kHtTbjpwY> 권한을 위임하는 것은 팀을 효과적으로 관리하는 중요한 측면이다. 위임을 통해 관리자는 팀 구성원에게 권한과 책임을 할당할 수 있으므로 구성원이 자신의 업무에 대한 소유권을 가지고 업무에 집중할 수 있다. 이런 행위는 생산성 증가, 사기 개선 및 효율적 리소스 사용으로 이어진다. 하지만 권한을 위임하지 않으면 팀 구성원간의 세부 관리, 신뢰 부족의 현상이 발생할 수 있다. 즉, 관리자가 어느선까지 위임을 하느냐에 따라서 팀의 성과가 달라지게 된다. 권한 위임의 주요 이점은 관리자가 자신의 분야에 집중할 수 있는 여유가 ...

더보기

[주니어 시리즈] 프록시 서버

블로그에 어려운 글로만 채우는 것 같아서 “주니어 시리즈”를 기획했다. 주니어 개발자가 알면 좋을 것 같은 내용으로 최대한 쉽게 작성하려고 한다. 우리가 사용하는 인터넷은 풍부한 정보와 도구를 제공함과 소셜 네트워크 및 음성/영상 기능을 사용하여 전 세계 사람들을 연결해왔다. 이 모든 것은 보안 및 개인 정보 침해에 대한 위험과 함께 제공된다. 본 글에서는 이런 위험을 완화하는데 중요한 역할을 하는 프록시에 대해서 설명하려고 한다. 프록시 서버 클라이언트에서 웹서버로 전송되는 모든 요청은 일종의 프록시 서버를 거치게 된다. 프록시 서버는 클라이언트와 인터넷 사이의 게이트웨이 역할을 하며 웹사이트와 분리한다. 웹 ...

더보기

기술 능력이 엔지니어에게 가장 중요한 항목이 아닌 이유

일반적으로 엔지니어라고 하면 테크 스킬이 가장 중요한 것이라고 생각을 한다. 물론 엔지니어가 되기 위해서는 기술적 지식이 당연히 필요하고 기술 숙련도에 중점을 둘 가능성이 매우 높다. 하지만 효과적으로 의사소통을 하는 능력은 간과되는 경향이 있다. 엔지니어에게 커뮤니케이션 기술이 필요한 이유는 무엇일까? 우리가 진행하는 과제들은 개인이 혼자서 해결할 수 있는 것이 매우 적다. 기술 지식을 가진 사람들로 구성된 사람들 혹은 팀 간의 협업이 필요하다. 어떤 과제를 하기 위해서는 기술 베이스의 사람도 있지만 기획, 비즈니스 등 다양한 배경을 가진 사람들이 모여서 협업을 하기에 의사소통을 잘하면 더 효율적으로 진...

더보기

모놀리식 vs 마이크로서비스, 어떤 아키텍처를 선택할까?

모놀리식과 마이크로서비스 아키텍처중 어떤 아키텍처를 선택해야 하는지에 대해서 요즘IT에 기고했다. 아래는 기고한 글 일부이다. 애플리케이션의 아키텍처 스타일(모놀리식 vs 마이크로서비스)에 대한 선택은 트렌드나 경쟁사의 특징을 따르기보다, 애플리케이션의 목표와 비즈니스 요구 사항에 따라 달라진다. (생략) 모놀리식 애플리케이션은 소프트웨어 개발을 위한 기본 접근 방식이다. 그렇다면 마이크로서비스가 대세가 된 현재 모놀리식 접근 방식을 버려야 할까? 만약 모놀리식 애플리케이션에서 마이크로서비스로 전환하면 어떤 이점이 있을까? 마이크로서비스로 애플리케이션을 만들면 비즈니스의 이점은 무엇일까? 이번 글에서는 모놀리...

더보기

좋은 팀 구성 및 개발 문화 조성의 중요성

GS리테일에 입사 후 팀빌딩과 개발 문화를 구축한 경험에 대해서 요즘IT 매거진에 기고했다. 본 글은 요즘IT 매거진에 기고한 글의 일부를 가져왔다. <출처: https://unsplash.com/photos/Zyx1bK9mqmA> 함께 할 동료가 모였으니 이제 실제 업무를 진행할 차례다. 개발팀은 잘 작동하는 소프트웨어를 구축하는 것부터 기술 변화의 빠른 속도를 따라가는 것과 같은 문제를 해결해야 하는 경우가 많다. 가장 좋은 방법의 하나는 매력적이고 창의적인 팀을 구성하는 것이다. 어떻게 매력적이고 창의적인 팀을 구성할 수 있을까? 답은 간단했다. “즐기게 놔두는 것이다.” (생략) ...

더보기

Moduler Monolithic 아키텍처

프로젝트를 준비하면서 아키텍처에 대한 고민이 많다. 마이크로서비스 아키텍처로 프로젝트를 하였지만, 현 상황에서는 마이크로서비스 아키텍처가 어울리지 않을 수 있다는 판단을 했고 이유는 아래와 같다. B2C라고 볼 순 있지만 사용자 수가 정해져 있다. 트래픽이 증가하는 시간이 정해져 있다. 리소스 비용을 절약해야 함 (비용 감축을 위해서 트래픽이 몰리는 시간대외에는 인스턴스를 축소할 계획 있음) 데이터베이스가 통합되어 있음 (미니서비스로 고려가 가능) 각 서비스마다 다른 기술을 사용하진 않을 것 같음 레거시가 존재하기에 리팩토링이 우선되어야 함 (이 부분이 가장 중요!) 또한, 아래 사항...

더보기