My role includes working with version control and issue tracking applications to meet customer requirements by providing software solutions for the telecommunication industry. On a continuous basis, I perform the following:
- Investigate & collaborate with peers to find the best way to implement solutions.
- Review code to learn from more experienced programmers and make suggestions to improve software.
- Inspect execution flow, refactor, and write tests as part of our test-driven development process.
- Document development procedures for ease of access by other members and teams.
- Present & demonstrate my work to other teams and managers.
- Train & mentor new hires of different seniority, and present architecture overview and code walk-through.
More recently, I have been working on the analytics component of our product. My work involves developing algorithms to implement new requirements, ensuring feature parity with older releases, identifying bottlenecks in the pipeline and improving the scalability of our apps.
Prior to that, I worked on three large scale customer projects where I had the opportunity to contribute to our code base by modifying existing and new micro-services as well as replacing legacy code and updating the UI to reflect the back-end functionality.
Throughout this experience, I have worked with tools and services from the Clojure family (Clojure, ClojureScript, Datomic) and the Apache family (Zookeeper, NiFi, Kafka, Solr, Cassandra, Spark). I have also been exposed to orchestration tools such as Docker.