About Me
.NET 과 C# 개발을 전문적으로 하고 있고, 이것저것 깔짝깔짝 거리기 좋아하고, AWS와 Azure 클라우드 기반의 백엔드 개발자
개발 과 인프라의 중간에서 이도저도 아닌 느낌으로 DNA는 개발 6.5: 인프라 3.5 정도??
T자형 인재가 되고 싶은데, 현실은 ㅜ의 느낌
사람이 읽기 좋은 코드, 빠르게 이해가 가는 코드가 좋은 코드라는 것을 코드리뷰 때마다 알리고 있으며,
단순히 코드를 줄이는게 목적이 아닌 쓰임을 생각하려고 합니다. 테스트도 열심히 하려고 하고,
재미 있어 보이는 토이 개발 같은 경우 NodeJS 나 Python 같은 언어들로 빠르게 만드는 것을 좋아합니다
현재 상황에 안주 하지 않고, 이 글을 볼 때 마다 성장형 개발자가 되도록 마음을 다잡습니다.
현재 회사에서 .NET을 활용한 백엔드 개발을 담당하고 있으며, 서비스 초기 아키텍쳐 설계, 셋업, 인증 부분을 담당하고 있으며
부가적으로는 클라우드 운영/관리/보안, 개발자 채용을 돕고 있습니다
아이디어가 있을 때마다 하고 싶은 일들을 회사에 어떻게 하면 사용/개발/운영 할 수 있을까?를 고민하면서
최대한 할 수 있는 때까지 해볼 수 있는 것들을 모두 해보려고 하는 개발자
Experience
3D 기반 시뮬레이션 프로그램으로 패션 업체를 선도하고 있는 기업
- 글로벌 서비스 사이트 개발/운영
- 라이선스/인보이스/정산 관련 백오피스 시스템 설계 및 개발
- C/S Application 인증 서버 개발 (TCP Socket 방식 -> Web 인증으로 변환)
- AWS, Azure, Alibaba Cloud 경험
- 자동화 할 수 있는 것들은 다 자동화 하려고 함
- Cloud Security(보안) 담당
- 코드 리뷰 & 테스트 코드 & 아키텍처 개선 등 개발 문화 & 환경 개선
- 개발자 채용 담당
원격 제어 솔루션의 강자
- 원격 제어 솔루션 RView 제품 개발/유지보수/서버 납품
- 제품 리팩토링 작업 주도 (코드 개선 및 통합, 작업 환경 개선)
- 다국 결제PG 개발 경험 (KCP, Paypal, Alipay, Epsilon)
- C/S Application 통신하는 API 관련 개발 및 유지보수 (XML, SOAP)
- 서버 납품 버전 업무를 맡아서 해외 지사들과의 커뮤니케이션
- Application 서버납품을 위한 설치본 작업 (Install Shield)
첫 창업의 경험
- 온라인 고객센터의 Saas 서비스를 목표
- 펀딩 받아서 진행 (스타트업)
- 스타트업 - 벤처 체제의 3인 팀프로젝트 (기획자, 개발자, 디자이너)
- 개발자 포지션으로 백지에서 기획, 개발, 운영, 마케팅까지 열정을 쏟아부음
- 회사를 운영 한다는 것에 대한 여러가지 많은 것들을 배우게 되어서 매우 뜻깊은 경험
- 그렇지만 실패했던 경험
국내 Top-tier 여행사 참좋은여행
- 참좋은여행 사이트 개발/유지보수
- 참좋은레져 그룹웨어 개발 - 여행 사이트 연동 부분 담당
- 참좋은레져 ERP 프로젝트 개발
- 여행사 비지니스 도메인에 대한 이해
엔토로
Web Developer
2002.01 - 2005.08 (3y 8m)
유아 교육 사이트 - 첫 직장에서의 개발자로서의 경험들
- 자사 서비스 개발 및 유지보수
- 유아 교육 사이트 (베베라인) / 플래시 게임 사이트 (조이월드)
- 개발/결제/운영 등등 가입부터 결제까지 일련의 서비스 과정에 대한 내용을 모두 경험
- 포털 업체들과 Contents Provider 로서의 경험 (네이버, 다음, 야후 등등)
Ability
강점(Strength)
- [파이프라인] 인프라부터 개발까지, 백지에서 서비스까지, 일련의 파이프라인 과정을 잘 이해하고 발전 시킬 수 있는 사람
- [호기심] 트렌드를 놓치지 않고 따라가려고 노력함 / 새로운 단어가 보이면 무엇인지 확인하려함
- [경험] 2002년 (이전)부터 경험한 IT쪽의 직/간접적인 경험
- [스타트업] 한 가지에 특화됨이 아닌 다양하고 자유롭게 일 할 수 있는 스타트업 인재형
약점(Weakness)
- DB쪽은 상대적인 약점 (하지만 개발자 기본적 지식 소양은 갖추고 있음)
- 기술적으로 리딩은 가능해도 사람에 대한 리딩 능력은 적은 편인 것 같다
(사장 되기 힘든 타입)
레거시 시스템 리팩토링/리엔지니어링
- .NET Framework 에서 .NET Core / .NET Migration 및 Dockerized
- 기존 코드 리팩토링 및 개선
- 기존 시스템의 불편함을 개선 하고 자동화 도입(automation)
Client - Server Application 개발 경험
- Authentication Server (Basic, OAuth2)
- Application Release Archive 시스템 (Automation)
- CrashReport 수집/분석/리포팅 시스템 (Google Breakpad)
견고한 데이터 구조 및 애플리케이션 설계
- 글로벌 사이트 라이선스 기반 시스템 설계
- 백오피스 다국적 인보이스 결제 시스템 설계
- AWS SQS를 이용한 메일 서비스 미들웨어 설계
IDC 및 클라우드 인프라 운영 관리
- [AWS] 서비스 수준에 맞춰서 가격 최적화 작업
- 기존 대비 monthly 1/4 수준으로 가격 낮춤 (최종 기존 대비 연 50% 감면)
- [Azure] AWS 서비스가 Azure로 이전하면서 관련된 많은 부분들을 경험
- [Alibaba] 중국 ICP비안 발급 및 Alibaba Cloud Setup, 중국 CDN (AlibabaCDN) 경험
- [IDC] 클라우드 이전 IDC 경험들, 그리고 클라우드 가격 대비, 가격 경쟁력에 의한 그래픽스 서버 구축 (For Rendering Server)
- Cloudflare, Datadog 운영/관리 경험
- 인프라와 연계된 부분은 모든 부분에 자동화 되도록 만들고, 모든 작업들은 자동화를 지향
보안(Security)
- 사내 보안팀과 긴밀한 협력
- 클라우드 보안쪽 담당 (AWS, Azure, Alibaba)
- 코드 보안 및 클라우드 보안 관련 경험
- 클라우드 보안에 대한 인식 및 검증(Audit), 예방 작업 진행
이례적인 경험들
- 머신러닝(ML)을 위한 배포 자동화 작업 (only 인프라/서버 작업)
- AWS EC2 ~6,000대 까지 Spot으로 실행 경험 (c5 - CPU 집약적 인스턴스)
- Docker 기반 ML 프로그램 배포 관리
- RabbitMQ 로 Pub-Sub 형태로 결과를 수집하는 형태
Skill
Backend
현재 업무에 사용중 혹은 사용했던 기술들입니다
-
.NET (2020~) .NET Core (2017~) .NET Framework (2009~) - C#, NodeJS, Python
- MVC, Web API
- MSSQL, MySQL, MongoDB, Redis, RabbitMQ
- Entity Framework, Dapper
- NUnit, MS Test, Mock
DevOps
IDC 경험이 있으며, AWS를 더 오래 사용했고, 2021년부터 Azure 사용 중
- Windows, Linux
- Network Knowledges
- AWS (2014~), Azure (2021~)
- Teamcity, Github Action, AWS Code-*, Azure DevOps
- Docker, Docker Compose, Kubernetes (AWS EKS, Azure AKS)
- Terraform, Packer
Frontend
jQuery 까지 개발 해보고, 그 이후에는 백엔드와 인프라에 올인
- 새로운 것들 나올 때마다 이게 무엇이구나 정도는 보는 수준 (트렌드를 챙기는 편)
- Webpack - package.json 보면서 구동 이해
- 코드 따라가며 간단한 수정 정도는 가능한 정도
Miscellaneous
기타 등등 - 만들거나 경험한 것들
- SalckBot 개발/배포/운영
- Private Nuget Server 개발/운영
- IdentityServer4 OAuth2 기반 인증 서비스
- 인증서(Certificate) 구입/관리/운영