Back End Developer
CurrentAs part of a large development team, I was tasked with design and development of multiple microservices as part of a much larger SaaS. Some of my experiences here include but is not limited to:- Data Import/Export: Provided a solution for secure, offline data exchange between multiple master/slave devices. - Package Cryptography: Provided tools and multiple APIs to sign, verify, encrypt, anddecrypt packages. Used Python’s cryptography library to auto generate keys, accept… Show more As part of a large development team, I was tasked with design and development of multiple microservices as part of a much larger SaaS. Some of my experiences here include but is not limited to:- Data Import/Export: Provided a solution for secure, offline data exchange between multiple master/slave devices. - Package Cryptography: Provided tools and multiple APIs to sign, verify, encrypt, anddecrypt packages. Used Python’s cryptography library to auto generate keys, accept passwords and perform key elongation. Supported AES-GCM, AES-CBC and Camellia encryption standards.- Remote Device Health Monitoring: Used ansible’s internal APIs to gather data about resource usage and system health for the hosts and multiple docker containers running on each host. Provided a caching mechanism to reduce required time for gathering data. Used Redis' internal API instead of the CLI to increase flexibility. - Consumer/Producer: Wrote a custom producer using Redis arrays as the caching backend. The consumer provided retry mechanism and reporting tools and an API to control its behavior. Threading and multiprocessing were used in a non-blocking way to handle IO and CPU bound processes and increase utilization for thousands of devices. - System Maintenance & Features: Added features to existing microservices. Implemented changes for compatibility with newly added features. Performed unit, functional, and integration testing. Show less