Yoav Ben Ishai
Senior Java Developer
A java server developer.with over 15 years experience.
FULL BIO
Primary Skills
skill/years
Expert
- Java 15
- Implementing Data Access Classes 15
- Multi-threading 10
- Data Structure 17
- Generics 5
- Spring 4
- Rest 3
- HTTP 5
- Spring Boot 3
Developer
- 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
- HTML&JavaScript 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
Professional Experience
Java Application @ MedAware
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
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
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
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.