Yoav Ben Ishai
Senior Backend Developer
Senior Backend Developer with over than 20 years of experience
- Follow Yoav
- Backend group
- Java 15
- Implementing Data Access Classes 15
- Multi-threading 10
- Data Structure 17
- Generics 5
- Spring 4
- Rest 3
- HTTP 5
- Spring Boot 3
- Using threads 15
- SQL 5
- Designing Database Schema 5
- Writing SQL Statements 5
- Optimization and Tuning 5
- Hibernate 5
- JDBC 5
- JSP 5
- Struts/Struts2 3
- Ajax 3
- jQuery 2
- Tomcat 5
- Bugzilla 5
- Subversion 5
- Lambda Expressions 1
- Spring Data 5
- MySQL 3
- Oracle 3
- Maven 1
- Gradle 1
- Python 1
- Docker 1
- Linux Superuser 1
Senior Backend Developer @ Setoo (Aug 2017-Jul 2020)
Setoo is a SAAS Platform that automates the process of creating and distributing insurance and protection products.
I was involved in developing and building from scratch setoo platform using microservice architecture.
Technology stack included: MySQL, Redis, Spring boot, Spring Cloud, spring security, spring batch, JPA, Hibernate, AWS, Jenkins, Kibana and more
Java Application @ MedAware (Oct 2016-Aug 2017)
MedAware is a medical startup that identifies prescription errors with greater precision than other products in the market. Currently moving from a POC state (on Sheba hospital) to larger customers. I was involved in several projects:
- Developing a tool for replaying medical scenarios overtime – this was important to understand false positives alarms. Work required deep understanding of internal flows and subtle refactoring
- identifying medical flaws from raw medical data – new customers brought an alternative type of data that needed to be investigated, analyzed and adapted to core data structutures
- selecting and assimilating mature development tools: selecting logging framework (log4j2), mentoring team about junit-mockito-power mock stack Technology stack consist of: web app on tomcat, MySQL, core java, Python, AngularJS
Java Application @ Passportcard (Apr 2016-Oct 2016)
Building from scratch passportcard next generation travel insurance application.
- implementing soft delete support by writing custom repository implementation
- application auditing capabilities using both enverse and jpa auditing
- payment provider integration
- setting up optimistic locking support
- messages and exceptions infrastructure
- range id generator - support id ranges in a single table
- setting up multi-tenant environment Tech stack: mysql/spring/spring data/hibernate/cxf (jax-rs implementation)
Java Application @ Trackimo (Dec 2015-Mar 2016)
The purpose of the project was to translate Trackimo’s payment procedure written in PHP to Java as well as simplify these processes. In trackimo users buy a device, then they need to activate. they device is activated by selecing a plan: prepaid, paypal or braintree. if a prepaid plan is selected to payment is required and device is activated immediately and user can start receiving data. in paypal and braintree payment phase is required before the device can be activated (paired to a user). application needs to specify webhooks to receive updates from paypal or braintree (i.e cancellation). application also needs to provide activation REST API for UI clients. Stack and Technologies Client AngularJS- Spring MVC- Spring Data – MySQL
Java Application @ Surecomp (Aug 2015-Dec 2015)
The purpose of the organization was to split an existing web application business layer and web layer into two servers: front server and core server respectively. this split was required by a customer for security reasons.
- The job was to design and implement the required split. We checked two web services technologies to implement communication between front and core server. first we tried AXIS 1.4 as requested by customer, but we got into problems serializing existiing objects. I suggested using REST services and the suggestion was eccepted.
- All existing services where implemented in front server to delegete requests to core server using spring RestTemplate.
- All existing services where implemented in core server as spring REST controllers.
- REST controllers called the existing implementations on core server.
- The client use ANGULARJS-Spring-MVC-JPA. most of my work was arround the middle layer (Spring-MVC - specifically Spring REST controllers.
- Main technologies used: Spring, REST services also used: JACKSON,MAVEN.
- Main challenge was to seperate dependencies of the front server module on core implementation. this required using Spring profile based configuration. A second challenge was to serializeq/deserialize exiting objects to JSON objects - because not all where ready for this.