Primary Skills
Expert
Developing Java Classes
7
Using threads / Cconcurrency Issues
7
Implementing Data Access Classes
8
RX Java
1
Spring Boot
2
Hibernate
7
Spring
7
Spring Data
7
Spring Integration
1
JPA
7
JDBC
5
Hudson / Jenkins
4
Maven2
7
Developer
Lambda Expressions
1
Scala
1
Akka
1
Functional Programing
1
SQL
10
Designing Database Schema
10
Creating ERD
3
Writing SQL Statements
10
Optimization and Tuning (Please Specify Database)
3
Search
Kafka
1
MongoDB
1
Cassandra
1
Redis
1
Spring Batch
Spring Security
2
Linux OS - power user
5
Writing scripts - shell / bash / cshell etc
3
MySQL
10
Tomcat
5
Subversion
7
GIT
1
Docker
1
LogCollector
1
Logback
1
Shell Script
2
AWS
1

Professional experience

Data Architect & Implementer
Behalf

Design and implement an ETL pipeline to stream data from salesforce to Bigquery using apache beam on top of google dataflow. The task included understanding the amounts of data, and the api’s that salesforce supports. The delta changes needs to be transferred every 15-30 minutes across all tables, with configuration options to add tables and columns in the future without code changes.. Apache Beam on top of dataflow was chosen as the data pipeline for it’s abstract sdk for processing data. Google App-Engine was used as the scheduling mechanism, and google app script as the monitoring dashboard.

Java Distributed Architect
AngleSense

Help a startup to re architecture a monolithic application to a micro-service platform. This included breaking up application to multiple services with kafka as the communication bus. Help redesign application for scale by introducing rx-java in the software tier along with clustering of servers, and cassandra as a backend database for scaling data. Help introduce more functional style programing using javaslang framework On the devops side, I helped create the Cloud-formation structure on top of AWS for clustering of servers

Java Distributed Architect
Thomson Reuters

Architect for application that downloads and parses documents from multiple sources. /n Support for big load using Spring Boot architecture in the Scala language on top of Akka. /n Application was then packaged in Docker. Tech leader on legacy product written in scala for text NLP analysis. /n Add framework for streaming data to application lucene indexes from server databases.

Java Developer Amdocs
2014

Tech leader on monitoring team of Amdocs Portfolio. /n My job was to bring the product to next level including enhancements in cluster definitions using zookeeper. /n Introduce and create framework for sending dropwizard metrics to graphite using pickel protocol for optimizations. /n Introduce elasticsearch to product for event analysis. Enhance metrics library embedded in portfolio by creating dynamic proxies for metrics.

Java Developer FIS
2013

Joined a team that just started to build a Spring/Hibernate product on a legacy DB./n Helped as tech lead to solve multiple hibernate issues including nested filters and dynamic cache of metadata not supported by the hibernate model. /n Introduced Spring Integration to team, with full flow using JMS, xml transformations, and web service calls (based on classic integration patterns).

LATEST ARTICLES

tags:
border:

Building Java application over AWS Cloudformation This blog will describe the process that I went through to build a fully auto scale AWS application over cloud formation. The reason I am writing this blog, is the fact that I was surprised at how hard it was. There is a lot...

border:

Batch with Salesforce The task I was given a task that seemed to be very simple. We had some logic that would collect accounts from the CRM so that we could then send Emails and SMS to contacts on the account. Since all the work seemed to be CRM only...

border:

60 Seconds Architecture – Graphite Contents  TOC \o "1-3" \n \h \z \u Overview Data Graphite Components Carbon Whisper Carbon-Cache Carbon-Rely Web API Performance boost Clustering Graphite High Availability Open Issues with graphite Ramp Up Debugging Eat your own dog food Debugging techniques Multi tenet Events Overview...

border:

A great blog to start with for tuning your ElasticSearch server http://www.elasticsearch.org/blog/performance-considerations-elasticsearch-indexing/

border:

JMX, MXBeans – random thoughts and ideas   JMX has been around for a while. A very common use for JMX is to add it as a debug interface to a web application (https://rterp.wordpress.com/tag/mxbean/). The truth is that JMX is much more than that.   The core of JMX is...

border:

We all know how the classic SQL injection works (http://en.wikipedia.org/wiki/SQL_injection). A new novel way to try the technique can be found in the following picture:

border:

We have an application that to fully test it with different phases we would need about 15 jobs (see the following post for simplification of jobs: http://javaandroidandrest.blogspot.com/2014/03/jenkins-multijob-plugin.html).  The problem with this is that once you branch your trunk version you do not want to duplicate all jobs. One solution for...

tags:
border:

My assumption is that you are familiar with continuous integration concepts (http://en.wikipedia.org/wiki/Continuous_integration), and we use Jenkins (http://jenkins-ci.org/) as our build machine. I would like to describe our use of the Jenkins multijob (https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin). I think this plugin simplifies a lot of hassles. Development phases In every project you usually have...

tags:
border:

Maven Profiles Activation per module Maven profiles are very powerful (http://maven.apache.org/guides/introduction/introduction-to-profiles.html). One of the hardest parts of maven, in my opinion, for someone coming from a programing background, is that the flow of maven is not a method call. In a lot of cases we would like to create a...

border:

Micro Services I was at a session for micro services. There were many sessions covering different aspects of micro services (for seeing of the sessions, have a look at: http://www.meetup.com/full-stack-developer-il/events/155911442). I would like to summarize some of the issues raised and to give my two cents on the topic. There...