Software Developer @ - Designed and implemented image processing library and tool for machine vision (C++, Matlab, OpenCV, CUDA).
- Applied the library to machine vision systems in the product line of Samsung Electronics.
- Developed a mobile card game for social community (C#, Unity3D).
- Development tools : Visual Studio, Matlab, Git and JIRA.
- Applied agile development methodology (Scrum). From November 2014 to Present (1 year) Vancouver, Canada.Lead Software Engineer @ - Developed newly designed casino game like Zappit Blackjack (C++, C#, Unity3D).
- Extended the functionalities of game servers (C++, Java) and database (MS-SQL).
- Dealt with communication protocols of XML, JSON and binary data stream.
- Provided world-wide services: USA, Europe and Asia.
- Development tools : Visual Studio, IntelliJ, Flash Professional, Visual Paradigm, SVN and JIRA.
- Worked in a branch company in Spain (2013-07).
- Applied agile development methodology (Scrum). From May 2013 to November 2014 (1 year 7 months) Seoul, Korea.Lead Software Engineer @ - Updated modules for gameplay, UI, AI, sound and networking (C++, Scaleform, action script, lua, python).
- Developed new gameplay type as 'Observation’ mode for E-Sports.
- Improved AI logics of NPC(Bot) in PvE mode.
- Localized to Korea, China and Taiwan.
- Development tools : Visual Studio, Perforce, IncrediBuild, CruiseControl, Hansoft, StarUML, DevTrack and JIRA.
- Applied agile development methodology (Scrum). From August 2011 to April 2013 (1 year 9 months) Seoul, Korea.Software Developer @ - Developed kernel-level file I/O drivers and data encryption/decryption modules(C, C++).
- Dealt with various network communication protocols (TCP, UDP, HTTP, HTTPS, FTP, SMTP and SSL, and database (MSSQL and Oracle).
- Implemented customized GUI controls like window gadget, customized image buttons and menus, and flash animation controls.
- Built the localized version for Korea and Japan.
- Worked in Tokyo branch in Japan (2008.05 – 2010.06).
- Development tools : Visual Studio, Source Safe/TFS and Mantis.
- Applied agile development methodology (Scrum). From February 2008 to July 2011 (3 years 6 months) Seoul, Korea and Tokyo, Japan.Software Engineer @ - Implemented algorithms for automatic detection of defects in LCD-panel images by applying various image processing techniques; smoothing, grid and moire pattern removal by FFT, restoration of background distortion using robust regesstion, anti-vignetting and defect detection by adaptive thresholding.
- Implemented machine learning algorithm that systematically estimated the level of defects in LCD-panels based on human inspectors’ measuring results.
- Experimented with real TFT-LCD images provided by Samsung Electronics.
- Tested by MATLAB and implemented by Visual C++. From January 2005 to December 2006 (2 years) Seoul, Korea.
Ph.D., Computer Science and Engineering @ Seoul National University From 2003 to 2007 Charles Choi is skilled in: C/C++, C#, JavaScript, Lua, Python, ActionScript, HTML5, Gameplay, AI, Client/Server, Encryption/Decryption, Confluence, DevTrack, Hansoft, JIRA, Localization, Mobile Applications, Multipplayer, Multithreading, Object Oriented Design, Perforce, Scaleform, Scrum, SQL, Statistics, Unity, Matlab