Senior Java Developer,
Aug, 2020 - Present
Refactoring of the full architecture.
Analysis, design, test and implementation of the core business logics using the latests technologies (Graphql, Dataloaders) and latests versions of Spring
Senior Java developer Specialised on Backend design architectures and processes with 5+ years experience in building APIs and Microservices in the cloud.
Senior Java Developer,
Aug, 2020 - Present
Refactoring of the full architecture.
Analysis, design, test and implementation of the core business logics using the latests technologies (Graphql, Dataloaders) and latests versions of Spring
Senior Java Developer,
May, 2019 - Jul, 20201 year 3 months
Specialized in designing efficient solutions for data processing and data delivery using AWS in a practical efficient and cost effective way.
Design a new Backend architecture highly scalable and reliable allowing teams to work independently and faster reducing deployments. Using Appsync with DynamoDB , Mysql with DMS and Lambdas
Design and develop a sync process from Mysql to s3. Allowing our chrome extension to use our core data on a safe and scalable way reaching millions of users. Using Spring, springBoot, Gradle and S3
Develop a internal chrome extension for our employees allowing them to access our data faster and in a more convenient way, increasing productivity. Using TypeScript
Improving Backend software based on JBOSS and Hibernate accelerating processes and query times while reducing the load on the server and making it more light and stable. This was a key improvement in order for the company to increase revenues on the most important period of the year like BlackFriday.
Java Developer,
Aug, 2017 - May, 20191 year 9 months
Improved the efficiency many folds allowing the company to reduce costs
Migrated multiple applications to Microservices in order to allow multiple teams work independently. Using PayaraMicro, Gradle, Docker, CodePipeline, CodeDeploy, API Gateway
Design and develop an authorisation system that allows granular access control throughout all applications in the company. Allowing the company to grant access to our internal tools to freelancers without security risks.
Develop an algorithm to compare words with CosineSimilarity that reduces the complexity from n*n to direct match improving the speed of the process many orders of magnitude.
Develop the core ETL process for the company in order to collect the main data the core business of the company is based on.
Java Developer,
Aug, 2016 - Aug, 20171 year
Created big contributions that allowed the rapid grow of the company to international levels
Develop a Management system for multiple ETL process running in parallel in order to distribute workload. Using AdamBien Porcupine
Develop scraping language and tools using JavaScript emulated in Java in order to speed up the maintenance of hundreds of sources. This allowed the company to grow even faster and into more regions around the world. Using Json and Nashorn
Design and develop a highly efficient scraping tool with an improved Apache HttpClient in order to handle millions of connections and redirections for more than 25 countries collecting millions of entries per hour. The architecture design consist on a cluster of MongoDB and a cluster of Microservices distributed on multiple machines depending on their load. Deployed using Bamboo and AWS code deploy and integrated with SQS, AWS Kinesis, Slack, Gdocs, S3, Jsoup
Java Developer,
Jul, 2015 - Aug, 20161 year 1 month
Started creating bigger projects that impacted the company allowing it to diversify
Develop a machine learning classification program from Python to Java in order to automate the processing of the 9M entries per day on the previous project. Using Weka to generate a model and integrate it with the previous ETL process, we achieved 98% accuracy
Started a new project for a new product that consumed 9M entries a day. Using improved previous ETL process and JDBC, Mysql with TokuDB for fractal tree index and high throughput. Worked with a team of Java developers and Data scientists in order to provide a highly ambitious product.
Develop company's first BI ETL process allowing the company to be faster on reporting and growing. Using Apache HttpComponents, Native Java multi-threading, Google Docs APIs, Jackson and OpenCSV
Build a HR GUI for processing documents and connecting to bambooHR APIs. Saving HR hours of documents processing per month. Using Java Swing, Gradle, Apache HttpComponents.
Developer,
May, 2014 - Jul, 20151 year 2 months
Develop a series of tools to improve efficiency on the overall company work flow
Scraping tool for collecting data on millions of pages. Using Selenium + Selenium Grid and Mysql enabling the company to measure it's position on the market
Created SEO application. Using UBot allowing the SEO team do AB testing
Building Google Spreadsheets scripts in JavaScript for connecting to internal databases allowing our employees to access data faster and automatically
Product Manager,
Sep, 2013 - May, 20148 months
Responsible of product development, organising teams, writing technical specifications for developers, unblocking and improving process, and analysing teams performances.
Building company's first front-end status check for deployments allowing automated QA on all pages. Using Jmeter and Google Spreadsheets
Building automation scripts in JavaScript for interacting with internal tools saving hours of work on management
Developing company's first front-end automation test for content such as meta data and strings
Started as an intern When the company was a Startup
Web developer,
Sep, 2012 - Sep, 20131 year
Develop a full website to help people get ideas for a gift.
Database design in Mysql using PhpMyAdmin
Design backend API for front-end in PHP using Zend framework
Design full front-end in ActionScript flashPlayer
Designed an Android application that uses same backend
Java
JavaScript
TypeScript
ActionScript
Python
Apache Velocity
Mysql
MongoDB
MariaDB
DynamoDB
Redis
Elastic Search
JavaEE
JBOSS
PayaraMicro
Spring
springBoot
Junit
Arquillian
Mockito
Selenium
Selenium Grid
Angular
Gradle
Bamboo
Jenkins
Tomcat
Log4j2
Google Guava
Google Gson
Jackson
Jsoup
SonarQube
Docker
Jmeter
SQS
Kinesis
EC2
Lambda
S3
RDS
DMS
CloudFront
API Gateway
CodePipeline
CodeDeploy
CloudWatch
Cognito
Secrets Manager
AWS AppSync
Telecommunication Engineering, Master, Universidad de Jaén www.ujaen.es
Sep, 2010 - Jun, 2013
4.5Microwaves
Radio Communications
Digital transmission
Antenas
Communications systems
Mobile Communications
Advanced Mysql
BioInformatic
Telecommunication Engineering (Erasmus), Master, Univerza v Mariboru www.uni-mb.si
Jun, 2012 - Sep, 2011
4.5Network Corporations
Security in systems and network Communications
Mobile Network Communications
Web engineering
Radio services and networks
Architecture and management of networks
Technical Engineering in Telecommunications: Esp. Telematics, Bachelor, Universidad de Jaén www.ujaen.es
Jun, 2010 - Sep, 2006
4.0Electromagnetism
Signals and systems
Digital electronics
Analogue electronics
Communications theory
Fields and waves in Communications
Telecommunications networks and services
Electromagnetism
Electronic circuits
Digital systems
Information theory
Optic communications
Business management
Electronic communications
Network computations
Bioengineering
Accesit Final Year Project Award by the AAITT 2010 , Asociación Andaluza de Graduados e Ingenieros en Telecomunicación www.aaitt.es
Awarded on: Jun 01, 2010
3D environment with communications on real time. A live 3D environment developed in Java with multiuser connection, physics simulation and an efficient communication protocol to handle more than 140 users at the same time without server lag.
Java Teacher Volunteer, REDI School
Feb, 2020 - Present
Helping people in need to achieve a professional Java programming level
Transfered lectures to an online course to continue despite the current situation
Sports
Science
Programming
Content creation
Israel is one of the most passionate people about tech that I have ever met. In order to achieve high quality solutions he starts digging into any given problem by asking many questions, challenging requirements, learning about potentially usable new tools quickly and taking everything he knows until he finds and creates a version of the technical design he really is satisfied with.