Scala Back-end Engineer
2017 - PRESENT
Samsung Strategy and Innovation Center
- Implemented Amazon S3 resiliency across regions for the image storage service, we are not worried anymore if Amazon S3 goes down in a region.
- Implemented TCP and TLS support for the LwM2M (IoT) protocol used for device management (Goo.gl/GmsqaU).
- Contributed to multiple-active regions project where we use multi-master asynchronous database replication across different regions in the world.
- Contributed to the Device Management Approved List, where an organization can whitelist the devices that should be able to connect to the cloud (Goo.gl/NQnCDh), used conflict-free replicated data types (CRDT) to get the data replicated across regions.
Technologies: Scala, Java, MySQL, Cassandra, Elasticsearch, MongoDB, AWS, Akka, Play Framework, Slick, Anorm, Kafka, Scalactic, LwM2M, CoAP, Californium, Leshan, IoT
Software Architect | Developer
2017 - 2017
Ailytic (via Toptal)
- Built authorization and authentication modules.
- Designed a way for applying database migrations for giving disposable versions of the system to users.
- Implemented core modules for UI testing using Selenium.
- Implemented modules for integrating data from CSV files.
- Designed a way for creating integration tests using in-memory database implementations.
Technologies: Java, Tomcat, MySQL, jQuery, jQWidgets
Big Data Consultant
2017 - 2017
- Helped in the architectural design for the core of a big data pipeline processor.
- Designed a domain specific language for type safety while writing Hive queries and Spark transformations.
- Created a code generator for our domain specific language (based on Hive tables).
- Redesigned how to integrate the data pipeline processors.
- Improved team coding practices to get better benefits while using Scala.
Technologies: Scala, Apache Spark, Hadoop, Hive, Cloudera, Oozie, Yarn
2016 - 2017
TekTorch (via Toptal)
- Designed the bases for creating integration tests using the Jersey Test Framework.
- Integrated dependency injections.
- Integrated Stripe and Stripe Connect APIs for handling payments.
- Implemented a feature to store information for auditing purposes of every request.
- Decoupled several existing services.
- Integrated a bcrypt algorithm for storing passwords securely.
Technologies: Java, JPA, Jersey 2, Stripe, JAX-RS, MySQL, Guice, Tomcat, Jersey Test Framework, jOOQ, PostgreSQL, PostGIS
2015 - 2017
- Supported the website Kueski.com.
- Created and maintained scalable internal applications.
- Supported the Android team by providing the required knowledge of the product and doing regular code reviews.
- Encouraged secure coding standards to the engineering team.
- Encouraged good coding practices through regular code reviews.
- Created and maintained asynchronous APIs to control the maximum allowed concurrent requests to certain APIs from external providers.
- Interviewed new candidates for Android positions.
- Designed interview challenges for the new candidates.
2015 - 2015
- Maintained the real application cluster code base.
- Fixed bugs.
Technologies: C, Linux, Bash, Scripting, Assembler, Vim, GDB, Strace
- Developed cryptographic modules.
- Built web applications using Java, Struts, and MySQL.
- Made rich internet applications that uses biometric devices.
- Updated the architectural design of web applications.
- Trained new developers.
- Performed local server administration.
- Managed and assigned tasks to other developers.
- Updated the architecture design of legacy web applications.
Developer | Architect
2011 - 2015
- Created desktop applications based on customer requirements, mostly for automating tasks.
- Built web crawlers mostly for organizing and retrieving specific data based on customer requirements.
- Developed applications using embedded devices based on customer requirements.
- Created web applications based on customer requirements.
- Developed Android applications based on customer requirements.
Technologies: Raspberry Pi, Arduino, Java, C, Ruby, PostgreSQL, MySQL, JavaServer Faces, Spring, PrimeFaces, MyBatis, Git, JUnit, Spring Security, Cloudinary, Android, J2ME, Apache HTTP Components
2013 - 2014
Epic Entertainment Systems
- Created and maintained the KaraOTec application which is a Java-based desktop application for karaoke entertainment systems working in Linux.
- Designed the license key generator for the KaraOTec application.
- Created new projects as required by external customers.
Technologies: Java, Swing, VLCJ, ProGuard, Eclipse