Primary Skills
Expert
JavaScript
9
JAVA
14
Spring
8
jQuery
7
SQL
10
JDBC
10
Tomcat
8
NoSQL
4
NodeJS
4
Developer
Hibernate
5
EJB2/3
5
MongoDB
4
Redis
3
MySQL
5
AngularJS
2
Android
3

Professional experience

Tech Lead @ Recongate
2016

As a tech lead I was responsible for developing a modern web application with a React/Redux stack, including Server side Micro-services and APIs with NodeJS RabbitMQ and Socket.io.

Participated in building the main application for Demisto Enterprise
2016

Demisto Enterprise is a startup that provides a Security Operations Platform that combines intelligent automation and collaboration into a single ChatOps interface The major technologies that I worked with were:

  • Golang
  • Rearc + Redux
Help build one of the major services in a multi-service environment for ADP
2015

The project started as a monolithic platform application for building business applications and work ows. I took part in the e ort of breaking the application into multiple micro-services and went on to helping develop one of the core services of the platform. The technologies we use include:

  • NodeJS
  • React
  • Docker and Swarm to launch and manage the service instances * MongoDB
  • Jasmine, Mocha, Selenium
Help to move product from concept to Production Budgetao
2014-2015

Budgetao is a startup that develops an IT budget management system. My role was to help the startup go from concept to production. As the project chief architect I was responsible for choosing the technology stack, setting development milestones, data modelling, deployment strategy, and development workflows. The technology stack consists of:

  • SailsJS - a full blown application framework based on NodeJS and ExpressJS
  • MongoDB - Main persistency
  • Redis - Object cache
  • AngularJS - Client app
Establish a new server-side infrastructure for Tabtale
2014

The goal of the project was to set up a server side support for a large scale mobile games production operation with hundreds of client apps and millions of active users. My role was the Architect of the project and my responsibilities included:

  • Architectural design of a service oriented server and administration portal
  • Technical design and choosing the technology stack
  • Building a team of 3 developers and team leader
  • Boiler-plating the projects and environments
  • Set up the CI and deployment procedures

The tecnologies we used included:

  • Java with Spring 4
  • NodeJS with Express
  • MongoDB & Redis
  • AngularJS
  • Logstash with Elasticsearch & Kibana
Hands on technical leader @ IDI Ventures
2013

led a team of UI engineers, and development of Web-Mobile-Client . Update the development and deployment process of the company’’s CMS. I Creating a scalable and up-to-date system with cutting edge (NodeJS, ExpressJS, AngularJS, Grunt, Jasmine, MongoDB, Redis). and made technology improvement such as:

  • Introduced NodeJS server side technologies
  • Added code testing and continuos integration
  • Added Jenkins managed deployments
  • Introduces SCRUM methodology.
Cross-browser mobile client optimization for Amobee
2012-2013

Developing JS for Mobile. Fixed and stabilised the mobile web advertisement framework. Including Cross browser (mobile browsers) support for native JS code.

Re-factoring a monolithic application for YouAppi
2012

Lead a process to improve the applications scalability and performance. The process included:

  • Re-factoring a monolithic application into several service oriented applications.
  • Better usage of Redis as an object cache and pub-sub system.
  • Converting blocking tasks to asynchronous jobs.
  • Integraation

LATEST ARTICLES

by assafg
tags:
JS
border:

"Micro frontends" is a new trend in large single page applications (SPA). Single page applications have become increasingly large and resemble in behavior and life-cycle the server side monolith. Just as there is a movement to split server side monolithic applications into multiple robust micro-services, there is also a movement...

by assafg
tags:
JS
border:

Following my lecture, I’d like to share the video & slides with you. In this session we will go over the fundamentals of functional programming and see how functional programming can help make our code more reusable, stable and scalable. Enjoy, Hope to...

by assafg
tags:
border:

Getting started with Yarn Facebook has recently released a new JS package manager that sets out to fix / improve some of NPM's weaknesses - Yarn. If you have ever used NPM you may have experienced it's weaknesses - slow, versioning issues around shrinkwrap, and semantik versioning that often updates...

by assafg
tags:
border:

What is Functional programming exactly? Functional programming is a programming style that implements application logic and structures by applying functions... da... you can checkout the Wikipedia definition for a more formal in-depth description but if you want to cut to the chase - read on. The Problem with OOP For...

by assafg
border:

I recently cloned the React tutorial source code to get started with ReactJS. I immediately noticed that FB added 7 (!) different server implementations to support the 'comments' example app: NodeJS, Go, Lua, PHP, Python, Ruby and Haskell. All of the bellow server codes implement a GET and a POST...

by assafg
border:

Docker is one of the most popular deployment tools available today for application developers. There are many books and tutorials about Docker out there, but docker is basically a tool to package your app as an image and run it in isolation as a container. In a micro/multy service environment...

by assafg
tags:
border:

Debugging Jasmine Node tests One of the things that frustrate me the most is failing tests with no apparent error message. A nice thing about Jasmine-node is that it can be run as a regular NodeJS process and as such can be remotely debugged. Here is a short 'How to'...

by assafg
border:

Here are the slides and video from the talk I gave the other day at the Fullstack Developers Israel Meetup. Most Service Oriented Applications and applications that want to scale quickly, provide a rich client interface and provide support for multiple client platforms will eventually neet to seperate the client...

by assafg
border:

Writing apps should be fun. This is a statement I try to keep in mind when approaching any application development. When I first realised that a full stack of Javascript can be used to create an application I was very happy, since for me coding in Javascript is a lot...

by assafg
border:

Our goal, in the Javascript group, for this Fuse Day was to get our hands dirty with a bunch of javascript technologies for end-to-end application development. The application is a remote teaching & presentation tool where a single "session owner" shares a code editor, canvas, presentation and more with other...