GShock Im

임지혁

소프트웨어 엔지니어

서버 프로그래머

프로필

18+년차 소프트웨어 엔지니어. 주 전문 분야는 게임 서버 개발이며, 모바일, PC, 웹 게임에 대한 서버 개발의 모든 스테이지를 모두 경험해봤다. 모던 C++, C#, 멀티쓰레디드, IOCP, 디버깅, Windows x86/x64에 강하며 주로 스크립트와 툴 개발을 위해 typescript, node.js, python, lua들을 다루었고 SQL, 자료구조, 알고리즘 복잡도, cpu, cache, 최적화, linux, asm, java, ActionScript, TDD에 대한 충분한 지식이 있다.
반복 작업을 자동화 하는 것을 좋아하고, devops, 비동기 remote work에 심취해 있다.

포트폴리오

경력 사항

Senior Software Engineer @ NSUSLAB

09/2018 - 05/2021

mobile game at NSUSLAB

  • Software Engineer - C#
    • .net 4.6, entityframework, aspnet webapp, restapi, websocket
    • https://sentry.io, https://www.datadoghq.com/
  • Server Administrator - ms azure
    • Terraform to Azure
    • webapp, sqlserver, mongodb, redis, vm,
  • TOOLS: vs2018, mssql, jenkins/azure devops, azure, slack, jira, terraform, k8s

Software Architect @ Crossover/Aurea

03/2018 - 09/2018

Enterprise Application Migrations at Aurea

  • Software Architect - C++
    • note: 🚀 100% asynchronous remote work
    • code review
    • adds CI/CD environment
    • adds testcodes to meet requirements(code coverages +80%)

  • TOOLS: vs2017, slack, jira, confluence, git, docker

Senior Software Engineer @ freelancer

08/2016 - 07/2017

mobile action game at M^2 Games

  • Software Engineer - c++
  • Server Administrator - ms azure
    • googledrive to db insert tool
    • telegram bot for server monitoring/admin (screenshot: 1, 2)
  • DB Administrator - mysql
    • db/stored procedures

  • TOOLS: win2016, vs2015, mysql, git

소프트웨어 엔지니어 at M^2 Games

02/2015 - 07/2016

mobile action game

  • 소프트웨어 엔지니어 - c++
  • 서버 관리자 - ms azure
    • googledrive to sql insert tool
  • DB 관리자 - mysql
    • db/stored procedures
  • TOOLS: win2012, vs2015, mysql, git, node.js, redmine

소프트웨어 엔지니어 at GPM

01/2014 - 12/2014

mobile fps/action game

  • 소프트웨어 엔지니어 - c++/c#
    • core/socket engine
    • game/room/cache servers
    • protocol parser generator for c++/c#(unity3d)
    • Tencent billing
  • TOOLS: win2012, vs2013, ms sql-server, git, redmine

프리랜서

06/2012 - 12/2013

reseraching

  • haxe, iphone/android, no-sql

server development consultings

start-up trial

소프트웨어 엔지니어 at NCSoft

11/2007 - 06/2011

poker(holdem) AI research; 2 개월

  • 소프트웨어 엔지니어 - python
    • nash-equilibrium game tree(counter-factual regret minimization)
    • prototype client / server (python 3.1)

3d MMO server engine; 15 개월

  • 소프트웨어 엔지니어 - c++
    • core/socket library
    • refectoring code from L2, GW2
    • per-thread global memory pool
    • seamless server
      • 3d world map
      • transferring server cell to neighbor server
  • TOOLS: win2k8, vs2008, mssql2k5, perforce

flash web game; 15 개월

  • 소프트웨어 엔지니어 - c++
    • core/socket library
    • login/channel server
    • protocol parser generator for c++/action script
  • TOOLS: win2k3, vs2005, mssql2k5, svn, trac(issue-tracker), hudson

소프트웨어 엔지니어 at Pentavision

05/2007 - 10/2007

Duelgate(card-based minion action game)

  • 소프트웨어 엔지니어 - c++
    • technical support for server/client programming
    • data pack lib/tools for client
    • logging lib(console/file/remote connection)
  • TOOLS: win2k3, vs2005, oracle9i

소프트웨어 엔지니어 at EGN Interactive

11/2004 - 04/2006

snowboard racing game

  • 소프트웨어 엔지니어 - c++
    • core/socket engine
    • login/session/messenger/channel/cache/relay servers
    • relay server/p2p network lib for client
  • DB 관리자 - mssql2000
    • db/stored procedures
  • TOOLS: win2k3, vs2003, mssql2000

프리랜서

04/2004 - 10/2004

research project

  • 3d turn-based board game client/server (TIKAL)
  • tool: vs2003, ogre3d, 3dsmax

소프트웨어 개발자 at Softmax

12/2001 - 02/2004

racing game

  • 소프트웨어 개발자 - c++
    • battlenet server
    • relay server
    • 3d client lib for interpolation
    • one source for windows/freebsd
  • TOOLS: freebsd, vs6, cvs

2d board game

  • 소프트웨어 개발자 - c++
    • 2d game client maintainer
    • crash reporter
  • TOOLS: windows, vs6, cvs

소프트웨어 개발자 at Triggersoft

02/2000 - 11/2001

2d game client/server development

  • modified a* path finder
  • TOOLS: win2k, vs6

소프트웨어 개발자 at Applware

07/1999 - 01/2000

2d game client/server development

  • map editor
  • sprite editor
  • network programming
  • TOOLS: win98, vs6

프리랜서 at Samsung Electro-mechanics

2000, 2001

wlan(wireless lan) utility for windows 95/98/ME/2000

  • served with wlan PCMCIA card
  • TOOLS: vs6, mfc

wlan protocol analyzer for win2k (like wireshark)

  • configurable packet format script
  • TOOLS: vs6, mfc

언어

  • 한국어
    100%
  • 영어
    65%

주 기술

  • Solving Problem
    95%
  • Debugging
    99%
  • Multi-threaded
    85%
  • C++14
    95%
  • C#
    90%
  • dotnet
    70%
  • Python
    65%
  • SQL
    65%
  • Devops
    80%
  • Typescript/JS
    55%
  • go/rust
    30%
  • Linux
    70%

학력 사항

인생 타임라인

1977 서울 출생
1991 인생 첫 PC 소유: IBM PC XT 512KB RAM
1991 인생 첫 게임 제작: 텍스트 게임, GWBASIC
1992 안돌아가던 게임하려고 메모리를 640KB로 업그레이드
1996 홍익대 컴퓨터 공학과 입학
1997 대학교 전산실 솔라리스 해킹 (buffer overrun exploit)
1998 나우누리 자바 개발자 동호회 1, 2대 시삽
2000 현역 병역특례 시작(3년)
2002 멘사 가입
2004 달라이 라마 만나러 인도로 배낭여행 하지만 실패
2005 운전면허 취득 실패
2006 중국, 티벳, 네팔, 인도, 태국, 말레이, 라오스, 캄보디아 7개월 육로 배낭여행
2008 WowTCG 한국 내셔널 챔피언
2011 영국 출발, 러시아, 몽고, 중국 육로 4개월 배낭여행
2011 인생 첫 전자 음악 작곡
2012 디지털 노마드를 꿈꾸며 태국에서 6개월 체류 하지만 실패
2012 스쿠버 다이빙 자격증 취득

아마추어 프로젝트

1991 text battle game with GW-BASIC
1997 2d game with Turbo C
2000 AI Chess client with JAVA
2001 some casino game auto-winner in java
    - reverse engineered decompiled java code
2012 some webgame automatic script in python
    - reverse engineered http query
2013 some mmorpg auction/tracking inspector
    - reverse engineered binary tcp data

좋아하는 게임

  • Ultima 6, 7, 8, Online
  • World of Warcraft
  • Tactics Ogre, FF Tactics
  • Master of Magic, Master of Orion
  • Diablo 1, 2
  • Culdcept II
  • X-Com, UFO
  • ADOM, rogue-like
  • Path of Exile
  • Crusader Kings II, Europa Universalis IV, Stellaris
  • Gnomoria, Rimworld, Terraria
  • Mount&Blade

취미/소셜

EDM 음악 작곡: 1, 2 with flstudio
주류 선호도: yegermeister > tequilla > soju > beer