Samsung Electronics
Nov, 2006 - Present (8+ years)
Suwon, South Korea
IT Solutions / Printing Business
Senior Engineer
HTML5 UI Prototype (2015)
Technologies:
AngularJS, Bootstrap, Java, Tomcat, Spring, Hibernate, OSGi, Ant/Gradle, JUnit
- Unified development environment for developers running various operating systems created based on Vagrant/Ubuntu/VirtualBox
- Defined Yeoman/Bower/Grunt as basic tools, and AngularJS as a UI framework.
- Started to interact with designers in order to create draft design documents considering responsive web design, usability and consistency previous solutions.
Monitoring Application for Android (2014)
Technologies:
Android, Google Cloud Messaging, Robospice, Retrofit, SyncAdapter Framework, SQLite, Bootstrap, AWS, Gradle, JUnit
- Designed and developed Monitoring Application (aka MoA) for Samsung resellers which allows to receive device alerts notifications almost immediately, view, filter and analyze MFP/Printer state.
- Used Android 5 SDK with SyncAdapter framework for background data synchronization, content provider architecture and Android Support libraries for 4.x Android devices support. Google Material Design guidelines used for UI.
- Organized autobuild system with Gradle and Jenkins server with auto-deploy to AWS instance hosting download page.
- Implemented a server for simulating a large number of devices based on NodeJS, Restify, MongoDB to speed up UI development and to have no dependencies on server-side development schedule.
- An application demonstrated to marketing team and released to customers.
Samsung Cloud Print - Web Portal (2013-2014)
https://www.samsungcloudprint.com
Technologies:
ExtJS 4.x, SenchaCmd, SASS/Compass, Gradle, Java, Spring, Hibernate, JUnit, Karma/Jasmine
- Designed and developed a Web Portal part of Samsung Cloud Print project. Web Portal allows users to view and manage print jobs, change print service settings and organize user permissions via white/black lists.
- Created Gradle-based build system.
- ExtJS 4.x library used as a main UI framework. Developed UI web pages for protected part of the portal as well as common ExtJS components used for both protected and public parts.
- UI internal logic and client-server communications tested with Karma test runner and Jasmine test framework.
- SASS (SCSS) used as a basic styling technique.
- Implemented Samsung Account authentication mechanism integration. Highlighted security issues and potential vulnerabilities related to the authentication scenario.
Remote Management Tools (2013)
Technologies:
ExtJS 4.x, SenchaCmd, SASS/Compass, AWS, SimpleDB, Java, JMS, XMPP, Ant, Karma/Jasmine
- Remote Management Tools is a cloud-based service for Samsung resellers which allows to manage devices remotely even if MFP/Printers are under corporate firewall.
- Designed and developed common UI components like Grid, Window, Panel, Ajax network components, various data stores and network access proxies to simplify client-server integration and make web page look and feel consistent.
- Defined principles of ExtJS-based UI modules development. Created all the required infrastructure for modularization of originally monolithic ExtJS application. Extended ExtJS MVC classes (Controllers and Application) to enable dynamic module loading.
- Enhanced UI build script to support module-based architecture and make application be able to change theme/skin at runtime.
SyncThru Web Admin 6 (2009-2013)
Technologies:
Flex/ActionScript, AMF, Java, Tomcat, Spring, Hibernate, OSGi, Ant/Gradle, JUnit, RIATest, Fitnesse
- SyncThru Web Admin is a printer fleet management solution which helps device administrator to discover devices, update firmware, change/view configuration, create reports and do many other actions remotely using web interface.
- Designed and developed common UI components using Flex Framework 4.x: Wizards, Windows, Panels, Upload Forms, Tree, custom validation, etc.
- Created Ant UI build system for main application, modules, libraries, test automation libraries and skins enforcing clean separation of UI components, themes, network access classes and other parts of the UI.
- Used RIATest and Flex test automation framework to make custom components testing possible for SQA team.
- Defined common error handling at the UI side.
- Consulted other teams on UI component usage and maintenance.
- Implemented annotation-based UI permission management system.
- Created so called Showroom project for demonstrating common components usage samples.
- Took part in SyncThru SDK preparation.
- Established static source code analysis for client-side source code and unit testing. Included those tools into continuous integration builds (FlexPMD, FlexCPD, FlexUnit, etc.).
- Defined Flex module loading domains architecture allowing proper skinning/theming.
SyncThru Web Admin 5 (2008-2009)
Technologies:
HTML/JS/CSS, ExtJS 2.x, Ajax, Java, Tomcat, Spring, Hibernate, OSGi, Maven, JUnit, Selenium
- SyncThru Web Admin has earned a Fall 2009 “Pick” as “Outstanding Network Device Management Solution” by BLI Solutions Center (www.buyerslab.com). Solution provides network administrators with centralized management, maintenance, auditing and support capabilities for networked MFP and printers.
- Worked as a part of task force team with designers creating an information architecture document which describes every aspects of solution UI behavior.
- Wrote information architecture, high level (HLD) and low level (DLD) documents for device management and settings parts of the project.
- Evaluated several UI frameworks and eventually selected ExtJS 2.x as a main UI framework.
- Designed architecture of common UI infrastructure and implemented common components which were used by other developers to create web pages of the modules.
- Developed UI pages gradually extracting common components and making a UI library for internal use.
- Developed device management, user management, settings, dashboard and some other section of the application.
- Defined common principles of the application extensibility: extension points and extensions.
- Developed Enterprise Application Management (EAM) plug-in which covers full stack of used technologies from database to UI. The main purpose of EAM plug-in is batch activation/deactivation of XOA applications running on the devices.
SyncThru Web Admin 4 (2007-2008)
Technologies:
HTML/JS/CSS, C++, Proprietary Web Server, SOAP, XSLT, SQLite
- Designed and developed a Mapping Plug-in allowing user to create and view a floor or building map and place printing device icon onto that map.
- Supported maintained application core.
- Addressed issues from marketing regarding the number of supported devices.
JScribe (2006-2007)
Technologies:
JavaScript, C, Embedded Linux
- Supported JScribe a technology which allows to run JavaScript code directly on MFP or Printer.
- Helped to check embedded objects implementation.
Schneider Electric
Sep, 2003 - Oct, 2006 (3 years)
Moscow, Russia
Programmer
Technologies:
C#, Delphi, MSSQL, Crystal Reports, PLC, Modbus
- Developed EMCS (Energy Management and Control System) an application based on Schneider Electric’s PcVue fully-featured SCADA system.
- Designed industrial data networks for low and high voltage electrical substations for important customers: Gazprom, Rosneft and others.
- Designed and developed an application for making reports and data analysis.
- Created energy management systems collecting information from more than 100 000 sensors.
- Presented the system to customers and instructed technicians.