Abhiram Kadiyala
Software Engineer
Chicago, IL
*******@*****.***
Highlighted Skills
Experienced Software Engineer in delivering software applications utilizing Object Oriented and SOLID principles and design patterns.
Experience in the full life cycle of the software design process including gathering requirements, implementation, testing, deployment, and maintenance (defects).
Utilize Java 8 Lambdas as well as other Java 8 features (default interfaces, optionals) in order to enhance code to prevent null pointer exceptions as well as to enhance current implementations of code.
Took ownership of modules developed and provided support to others who required to use or interact with them.
Developed and Deployed Spring Boot Microservices utilizing Java 8 and Angular 6 onto a SaaS cloud platform (GE’s Predix). The platform provided services which were interfaced with the java code such as database management and message queueing with RabbitMq.
Developed unit and integration tests to increase code coverage and automate the system.
Designated Scrum Master on various project to promote the practice of scrum which helped the teams to deliver features iteratively in a fast changing environment.
Designed and developed user-interfaces and functionality for web and mobile applications using IntelliJ, Android Studio, and Xcode.
Utilized Grade/Maven to assemble software projects to deploy onto application servers including Cloudfoundry and Tomcat in order to test functionality.
Maintained version control of code using tools such as Bitbucket and GitHub in order to deploy a single source of code written by many developers.
Queried large database tables with SQL in various database environments including Hive, Oracle SQL, and Postgres.
Used CA Rally, Jira for requirements gathering and issue tracking in order to start development.
Participated in SAFe & Agile training by CA Technologies.
Certified in Hadoop Development
Education:
BS in Computer Science, University of Illinois at Chicago (UIC)
Certifications:
1.Hadoop Developer (Hortonworks, 2014)
Technology
Programming Languages: Java (8 and earlier), Javascript, Typescript, Python, HTML, CSS, SQL
Frameworks: Spring, Spring boot, Jackson (JSON Serializer), Jersey/Spring (Rest APIs), Hibernate, Lombok, AngularJS, PolymerJS
Unit Testing: Junit, Mockito
Behavioral Testing: Cucumber, Rest Assured
Platforms: Cloudfoundry
Data: SQL (PostGres, Oracle SQL Developer, DB2), Hive, Hadoop, RabbitMQ
Tools: IntelliJ, Eclipse, Vi Editor, DB Visualizer, Terminal (Putty, Cygwin), Git, SVN, Junit, PgAdmin4, Postman, Sublime Text, Slack, Confluence Wiki, Chrome developer tools.
Build Tools: Gradle, Maven
Continuous Integration: Jenkins, Grafana (Dashboard UI)
Methodology: Agile (Rally, Jira)
Experience (Most recent listed first)
JP Morgan Chase – Chicago, IL (July 2018 – Present)
Implemented enhancements / new features on a web-based application designed to handle for 5 million trades open and closed per day.
The technologies consist of:
oa UI component in Javascript, HTML, CSS for the front end
oJava/Spring for the middleware
oOracle DB for the backend
Implemented enhancements in JavaScript to improve the Front end behavior of the application.
Agile/SCRUM environment which consists of daily standups, planned backlog refinement meetings as well as sprint reviews.
Collaborate with Business Analysts and Production support team to integrate the new features and enhancements developed into the production environment for the new functionality to be used.
Supported release events during the weekends to help test or release new versions of the application so that delivery meets expectations.
Refactored the server side portion of the web component, utilizing dependency injection techniques for allowing extensibility as well as easily testable.
Implemented a tool that allows for daily download of uat envrionment logs in order to verify that the correct amount of trades were being processed for testing purposes.
Utilized JUnit and Mockito to add unit tests across the entire application to increase the code coverage from 0 to 100% as well as to cover all critical and edge paths of the code.
Railcar Management LLC – Chicago, IL – Software Engineer / SCRUM Master (May 2016 – July 2018)
Worked on 2 projects which were applications based on a micro-service architecture deployed onto Predix – an industrial IOT cloud Paas (Platform as a Service)
Worked with a team to set up and start a legacy application rewrite from scratch.
Collaborated with Architects and QA team to come up with designs for implementation and testing.
Led the effort to establish coding standards and guidelines (git-flow).
Helped on a POC to integrate Polymer components onto Angular 2 webpages in order to set up the front end framework for the rest of the project.
Built a test framework using Junit Mockito for TDD and Cucumber for BDD practices.
Wrote Java code to retrieve data for business related purposes by interfacing with Spring JPA in order to fetch data in a code-friendly way.
Developed an entity micro-service to represent a business task (Adding an entity to the data store)
Microservices consisted of REST API’s and business logic utilizing the Jersey and spring rest template to interact with the data store.
Used Java 8 Streams to enhance use of collections while setting up data for automated/unit testing as well as data loading from legacy system.
Developed a component in Typescript to communicate with the microservice above to add functionality to the UI to add the entity.
Acted as SCRUM master in a Scaled Agile Framework environment (SAFe) with over 6 scrum teams.
Developed Java classes to communicate with redis to cache business logic data to enable faster retrieval of data during runtime.
Used software design patterns such as strategy and factory to implement different behaviors for data translation per business requirements.
Interfaced java classes with rabbit mq to listen and publish json messages to persist data across entity microservices.
Worked on a system level feature to map unique work orders across the legacy and new system.
Provided support to Customer
oFixed customer – defects
oTested features along with customer
International Business Machines (IBM) – Dublin, OH – Big Data Developer (July 2015 – May 2016)
Retrieved 7 TB of client data from a landing windows server and stored into a Big Insights HDFS cluster.
Wrote a script to dynamically load the structured data onto Hive by using command line arguments to automatically load the headers and table name/data.
Created a user/password account on linux to have restricted access to the cluster to only be able to SFTP data onto the cluster so that we can load the data into HDFS.
Installed the SPSS server and client software to connect to the analytic node to retrieve the Hadoop data.
Performed setup and connection of SPSS client to server by maintaining contact with the solution architect team.
Technologies: BigInsights, SAS, SPSS, Linux, Hive
Tata Consultancy Services (TCS) –Hadoop Developer (October 2014 – July 2015)
Worked in an agile environment and production 750 Node pivotal cluster consisting of 5 years worth of customer transaction data.
Designed the process of the project through a flow chart depicting all the steps, layers, and blockers of the components.
Wrote a Java application to generate metrics for customer attribute data..
Delivered a Shell Script, which automates the entire project consisting of a java program, and a script (also developed) that loads a high volume of rows into a Hive external table.
Presented the project as a technical demo in front of the business customers.
oGave a Keynote Presentation which covered the background information.
Modified a web application to include production inventory data alongside sales data.
oCreated factories in Javascript to represent the new data types for inventory.
oCoordinated with senior developer to implement security layer on top of webservice responses from the backend.
oModified existing applications in the website to retrieve data from multiple URLS.
Technologies: Java, Hadoop, Job Tracker, Hive, SVN, Linux. Python, JavaScript