Summary
Overview
Work History
Education
Skills
Certification
Timeline
Generic

SIDDHARTHA ERRABOLU

Principal Software Engineer
Frisco,TX

Summary

  • 16+ years of experience in designing, developing, and deploying J2EE applications.
  • Passionate about Functional programming. Designed and developed four applications applying these patterns. Applications currently in Prod
  • Open source contribution: Migrating an existing monolithic system to cloud based microservices architecture using Scala and ReactJS. Repos aa and cataloguing in https://github.com/emsiddartha (develop feature branch). Test Driven Development
  • 6 years of Strong Experience in Agile Methodology. Played role of Product Owner and Knowledge resource
  • 5 plus years of experience in NodeJS projects. Implemented Microservices Gateway using ExpressJS, designed regression test framework using Mocha and Chai, UI applications using ReactJS. Aynchronous JavaScript programming using Promises and Futures
  • Strong experience in Java 8 features Streams, and Lambda expressions. Play Framework, Akka and Apache Cassandra
    Strong expertise in designing and coding middle ware using Spring Framework
  • Designed and Developed Android applications and mobile web applications
  • 5 years of experience in coding Javascript frameworks Jquery
    Good experience in Enterprise / Web / Client Server systems using Java, J2EE (JSP, Servlets, EJB, JNDI, JDBC, JCA, Servlets) XML, JSON, DOM, SAX, and RMI on multiple IDE's IntelliJ, Eclipse and NetBeans
  • Expert in Coding database SQL queries, Stored Procedures, Triggers and functions with good understanding of different databases like Oracle, sql server, Postgresql, MySQL
    Experienced in designing Database caches using various caching strategies and patterns in both Mircoservices and Spark using Redis Cache
  • Worked with code version control systems GIT, Subversion and CVS in a team environment
  • Executed multiple projects successfully using Hibernate
    Worked with multiple application servers Apache Tomcat, and Weblogic in enterprise environments
  • Expert in applying Object Oriented Design Patterns at various layers of application to improve the quality of development.
    Designed and coded templates in template engines Freemarker and Apache Velocity
  • Experienced in MongoDB, Swagger(used for documenting the REST API), Docker (used on local environment for quick installation of Postgresql,MongoDB, and Cassandra)
  • Experienced Team Leader
    Lead teams of size 6 to 25
  • Training/mentoring the team members with project domain, architecture, and design
  • For every sprint cycle develop a strategy with team members to achieve its timely completion
  • Assigning tasks to team members and also taking their feedback for improvements to subsequent sprints

Overview

1
1
Certification
4
4
years of post-secondary education
21
21
years of professional experience

Work History

Principal Software Engineer

Ziddos Inc
Dallas, TX
01.2020 - Current

WWEX (Client) is a logistics company. As part of their migration from their legacy system to a modern Microservices based system, I played a critical role in the migration, design and development of Invoice Services. Invoice Services include processing of vendor invoices, generation of customer invoices and the payment processing

  • Designing and coding the functionality for various REST APIs for Vendor Invoice Management, Customer Invoice Management and Payment gateways
  • Designing and Coding Camunda(BPMN) flows
  • Convert business requirements to BPMN flows using Camunda Modeler and take business approval for the flow
  • Designing Functional Services (Service tasks, Parallel and Sequential), Spring Services (used within Camunda Service), and necessary Script Tasks
  • Stitching all the Service and Script tasks to build Flows, Sub Flows, Service classes (Java Delegates) with necessary Input and output parameters
  • Coding, deploying and testing all the Service and Script tasks and flows
  • Attend meetings with Payment gateway providers, middleware team and UI team on API designs, schema, and availability
  • Creating microservice containers to run the module and its dependencies
  • Migrated an existing Security system(similar to OAuth2.0 token system) to JWT based system. Used Jose API for the JWT
  • Developed libraries (part of VendorManagement System) using Java 8, Scala 2.13, SBT, Akka Typed Actors, and SpayAPI
    Coding the Junit test cases
  • Peer reviews and code reviews
  • Agile development

Expert Application Developer

Royal Bank Of Canada, RBC
Toronto, ON
07.2018 - 12.2019

Worked as Expert Application Developer, New Product Innovation Team

  • Coding Dockerfiles for the team’s products. Publishing the Docker Images in Artifactory. Installation and setup of Kubernetes on 10 Vms and deployment of Docker images on the Kubernetes Cluster. Coded Dockerfiles and Python script file to suit the deployment of both Statefulsets and Deployments. Also coded Jenkinsfile to trigger the building and publishing of Docker Images. Developed Docker Images for Java Server Applications, Spark Statefulset Cluster. Environment: Linux, Docker, Kubernetes, Python, Jenkins, S3 file system, HDFS, GIT, IntelliJ IDE, AWS
  • Designed Scala ETL Framework for all the ETLs being developed currently
  • Java Application Development of GeoSpatial Data. Design, Development and Deployment(on Kubernetes Cluster) of Java Application that processes GeoSpatial Data. Goal was bring down processing time from 3 days to less than 15 mins. Environment: Amazon S3 file system, Java 8, Kafka Streams, Pivotal Cloud Foundry(PCF), Cassandra database, Maven, GIT, IntelliJ IDE, AWS
  • Design and Development of Microservices. Design, Development and Deployment of Microservices for Consumer 360 degrees view. Throughput bench marking set to 8 Million requests per day. Environment: Spring WebFlux(Reactor Java), Reactive Java, Java 8, Vavr Functional library, Cassandra, Redis, Netty, Datastax Graph Database, GraphQL, Kafka, Elasticsearch, Pivotal Cloud Foundry, OpenAPI 3.0/Swagger, APIGEE, Maven, GIT, IntelliJ IDE, AWS
  • Design and Development of Encrypter/Decrypter Microservices. Design and Development of Mircoservices that would Encrypt or Decrypt different types of Data. Throughput bench marking set to 10 Million requests per day. Environment: Spring WebFlux(Reactor Java), Reactive Java, Java 8, Vavr Functional library, Guava API, Netty, Pivotal Cloud Foundry, OpenAPI 3.0/Swagger, APIGEE, Maven, GIT, IntelliJ IDE, AWS
  • Design, Development and Unit Testing of ETL (Extract Transform and Load). Design and Development of Spark applications to convert Big data to Graph Database. Environment: Scala, Spark, HDFS, IntelliJ IDE, GIT, Maven.
  • Designed and Developed 2 regression test suite frameworks for REST API Testing. One based on NodeJS, Mocha, Chai. Second framework based on TestNG and RestAssured
  • Designed and developed POCs comparing GraphQL and REST using Spring WebFlux / Spring MVC using Java Concurrency / Akka Framework. POCs were tested under high loads
  • Implemented and streamlined Test Driven Development. Unit test cases developed using Scalatest and ScalaMock libraries

Backend Technical Lead

Rogers Communications
Toronto, ON
02.2017 - 07.2018

Worked as Backend Technical Lead. Rogers has numerous MicroServices applications that run behind the scene while using Rogers web, Mobile Apps and Customer care Apps. These MicroServices in turn interact with other microservices, SOAP Services, REST Services, SQL and NoSQL Databases. The MicroServices provide CRUD operations for Permissions, Data-usage, Promotions and Offers, Billing information, and User Experience.

  • Study the DDD(Detailed Design Document) and convert the DDD into Low Level Design
  • Developing non-blocking code with Play Framework Promises, Java 8 CompletableFuture and Akka Actors
  • Coding various functionalities in the project
  • Designing Cassandra Database Tables
  • Junit Testing and testing code with simulated end points using SOAPUI or Mockable.io
  • Merging feature branches into dev/release branches, retrofitting feature branches with Master using GIT. Experienced with GIT Commands, GIT GUI tools like GIT Karen and SourceTree
  • Create builds using Bamboo and raising Deployment requests to Devops team for deploying the builds
  • Support the QA team
  • Investigate, Analyse and fix Production defects
  • Assigning tasks to Off-shore and On-site team members
Environment:

Play Framework, Apache Cassandra, Akka, Spring Framework, Java 8 Asynchronous Programming, Functional Programming, Microservices, REST Services, GIT, IntelliJ IDE, Eclipse IDE. Worked on the below Server Applications

Genesis Server: Services consumed by Rogers.com, Fido.ca, Fido Native Mobile App, and Rogers Native Mobile App

Totes Server: Services consumed by Rogers.com, Rogers Hybrid Mobile App

CNE Server: Backed Deamon Server for Rogers.com

Zeus Server: Legacy Authentication server

Senior J2EE Developer

CIBC
Toronto, ON
09.2015 - 02.2017

Worked as Senior J2EE Developer. ECIF-UI is a web based client application. ECIF-UI is a CIBC bank users database interface used by bank employees and telephone banking personnel. Knowledge Resource in Agile Project Team

  • Converting the UID document into Class design
  • Coding UI according to Wireframes using JSPs and Jquery
  • Developing and Coding Business Process Classes
  • Debugging problems in application
  • Developed web services simulators for third party services. These simulators were used by developers and DIT/SIT testers
  • Developed Junit test cases
  • Development and maintenance for ECIFUI statistic reports application. Production logs are migrated to Oracle database to generate these reports
  • Level 1 Product Support on behalf of the team. Analysed production logs for analysing time delays and application performance
  • Handpicked for Pilot Agile team in the Department
    Preparing DIT(Developer Integration Testing) test cases. Uploading them on HP ALM
  • Execute test cases and test other developer’s DIT test cases

Team: 2 Business Analysts, 12 Developers and 1 DIT Tester
Environment: Weblogic Application Server, Spring Framework, Spring Portlet Framework, Spring Boot for Simulators, JAXB, XML Digester, Junit, Web Services, Oracle database

Principal Software Engineer

Verus Solutions
Hyderabad, Telangana
05.2003 - 08.2015

NGL Open Source is the flagship product of Verus Solutions. NGL is an Information and Library Management System. NGL Open Source has clocked 200,000 downloads across globe till date and has 3,000 plus active clients using the system.

  • Designing System Architecture and integration with third party applications
  • Designing the application using OO Design Principles and Patterns
  • Documenting analysis and design using use case diagrams/documents, sequence diagrams, state diagrams and class diagrams
  • Designing XML and JSON schemas
  • Coding the Servlets, JSPs, Freemarker templates, XML templates for Open Office
  • Coding the UI using JavaScript, JQuery, HTML and CSS
  • Performing Code reviews
  • Coding Unit test cases using Junit and regression test cases using TestNG/rest assured

Team size: 25

Environment: Java 1.6, PlantUML, Tomcat, JBoss, JDOM, Freemarker, Subversion

Lead Java Developer

Modelsoft
Hyderabad, Telangana
09.2000 - 04.2003
  • Designed, developed and implemented software applications for website based on analyzed requirements and understanding of industry technical standards.
  • Participated in complete software development lifecycle, including performance analysis, design, development and testing.
  • Worked with quality assurance team to set up scripts, test case and automation protocols.
  • Adjusted design parameters to boost performance and incorporate new features.
  • Participated in requirements gathering and design development meetings.
  • Diagnosed and corrected errors within Java, HTML and PHP codes to allow for integration and utilization of proprietary applications.
  • Reviewed code and debugged errors to improve performance.
  • Wrote, modified and maintained software documentation and specifications.
  • Investigated issues and defects to determine problem root cause and formulate corrective action recommendations.
  • Recognized as subject matter expert for LibEra library application.
  • Performed troubleshooting, diagnostics and analysis to uncover root malfunctions.

Java Developer

Modelsoft
Hyderabad, Telangana
09.1999 - 08.2000
  • Consulted regularly with internal customers on application development project status, new project proposals and software-related technical issues.
  • Investigated new and emerging software applications within Banking system to design, select, implement and use administrative information systems effectively.
  • Interfaced with cross-functional team of business analysts, developers and technical support professionals to determine comprehensive list of requirement specifications for new applications.

Education

Bachelor of Engineering - Electrical, Electronics And Communications Engineering

Bangalore University
Bangalore
10.1994 - 10.1998

Skills

Java 8

undefined

Certification

Java SE Certification

Timeline

Principal Software Engineer

Ziddos Inc
01.2020 - Current

Expert Application Developer

Royal Bank Of Canada, RBC
07.2018 - 12.2019

Backend Technical Lead

Rogers Communications
02.2017 - 07.2018

Senior J2EE Developer

CIBC
09.2015 - 02.2017

Java SE Certification

07-2003

Principal Software Engineer

Verus Solutions
05.2003 - 08.2015

Lead Java Developer

Modelsoft
09.2000 - 04.2003

Java Developer

Modelsoft
09.1999 - 08.2000

Bachelor of Engineering - Electrical, Electronics And Communications Engineering

Bangalore University
10.1994 - 10.1998
SIDDHARTHA ERRABOLUPrincipal Software Engineer