Node.JS Web Apps

Node.js is a very powerful JavaScript-based framework/platform built on Google Chrome’s JavaScript V8 Engine. It is used to develop web and mobile applications. Node.js is open source, completely free, and used by thousands of developers around the world. Node was built with JavaScript so it helps if you have some understanding of how JavaScript actually works. Also having some understanding of other web technologies such as HTML, CSS, AJAX is useful.

Angular 4

Angular 4 is the next version of Google’s massively popular MV* framework for building complex applications in the browser (and beyond). Angular 4 comes with almost everything you need to build a complicated frontend web or mobile apps, from powerful templates to fast rendering, data management, HTTP services, form handling, and so much more.

React JS

React is an open-source JavaScript library for building user interfaces. React allows developers to create large web applications that use data which can change over time, without reloading the page. Its main goal is to be fast, simple and scalable. In this course we will learn how to use ReactJS and the Redux library to create next gen web applications. The course covers all the practical aspects of developing with React and managing data and server communication with Redux

Python Programming

In this Python course you will learn how to program with the popular development language. Some of the topics that this course covers throughout the ultimate Python for beginners training include installing Python, data types and creating variables, input and output, decision making and repetition, iterators, list comprehension and functions. He also covers variable scope, modules – creating and using pre-built ones, object oriented programming, inheritance, exception handling and using data structures.

Angular 2

Angular 2 is the next version of Google’s massively popular MVC framework for building complex applications in the browser (and beyond). Angular 2 comes with almost everything you need to build a complicated frontend web or mobile apps, from powerful templates to fast rendering, data management, HTTP services, form handling, and so much more.

Maintaining Elasticsearch in Production

This 1-day course is aimed at developers and operations people who need to be able to maintain Elasticsearch clusters in production. In this course you will learn about the various parts that make up a cluster, how it operates, and many do’s and don’ts learned by experience over the years.


The goal of this course is to make sure you can maintain a stable cluster regardless of the load you put on it.

  • Performance, sizing, scaling out and multi-tenancy
  • Designing the right cluster topology
  • How to monitor the cluster health
  • Understand the various configurations behind the cluster
  • Maintenance and troubleshooting
  • Integration with clouds (AWS, GCP, Azure)
  • Security

Elasticsearch for Developers

The goal of this course is to provide an experienced developer with all the tools to succeed with integrating Elasticsearch into any type of project. You will learn:

  • How to use Elasticsearch for full-text search purposes, and query it for other usecases as well
  • Define and maintain Elasticsearch indexes, and index your data into them
  • Perform aggregation queries to drill-down into time-series data and other types of data
  • Understand where Elasticsearch shines and how to use it correctly

Atlassian JIRA Basics

The purpose of this workshop is to introduce the students to Atlassian JIRA – the leading project \ issue management tool. The participants will acquire the understanding of JIRA basic principles, entities and learn the skills of using and configuring the tool for maximum productivity and ease of use.

JIRA Agile Workshop

The purpose of this workshop is to introduce the agile software development methodology support in Atlassian​JIRA ­ the leading project/issue management tool. The participants will acquire the basic understanding of Agile project management with the use of JIRA issue types, workflows and boards.

BigData on Amazon Web Services (AWS)

Big Data on AWS introduces you to cloud-based big data solutions such as Amazon Elastic MapReduce (EMR), Amazon Redshift, Amazon Kinesis and the rest of the AWS big data platform.

In this course, we show you how to use Amazon EMR to process data using the broad ecosystem of Hadoop tools like Hive and Hue. We also teach you how to create big data environments, work with Amazon DynamoDB, Amazon Redshift, and Amazon Kinesis, and leverage best practices to design big data environments for security and cost-effectiveness.

Scalable Data Processing with Apache Spark

Scalable data processing with Apache Spark introduces you to the popular, open-source processing framework that took over the Big Data landscape. From basic concepts all the way to configuration and operations, you will learn how to model data processing algorithms using Spark’s APIs, how to monitor, analyze and optimize Spark’s performance, how to deploy and build Spark applications, and how to use Spark’s various APIs (RDD, SQL, DataFrame and Dataset).

Serverless Fundamentals Workshop

Serverless, or more specifically Function-as-a-Service (FaaS), is one of the hottest topics in the cloud world. It enables teams to run backend execution without maintaining any servers.

In this workshop we’ll get our hands dirty and understand what’s all the buzz about. We’ll implement various use cases such as a serverless REST API, file processing and more. We’ll be using AWS and the Serverless Framework.

This workshop is intended for software architects, development managers, developers and operation team members. The workshop can be delivered using Python/Node.js/Java/.NET.

Introduction to Predictive Analytics

Traditional data analysis is about describing the data we have. Some more advanced models are used to explain why we get what we see. However, with advances in technology and statistical theory, most companies now employ (or can employ) a new statistical paradigm: predictive analytics: instead of finding characteristics of customers, predictive models can predict which one is likely to leave, or which lead is most likely to convert.

This change in paradigm benefits decision makers and managers as it provides more precise insights that lead to focused and valuable actions. But it also requires new statistical capabilities. It turns out that the best explanatory models are not always the best predictive models, and analysts now need to develop, evaluate and interpret their models differently.

In this workshop we will get an overview of the world of predictive models and analytics, enter into this new “mindset”, and learn the basic considerations and evaluation techniques. In a “hands on” manner we will learn to classify, estimate, cluster and predict outcomes in real world settings, using the R statistical environment.

The workshop is modular and built as a mix of interactive demonstrations of key topics, in-class exercises based on real business settings and “open audience consultations” in which participants bring their own data and receive advice on how to accomplish their goal. The typical workshop takes 3-4 full days, and specific topics can be tailored to the needs and background of participants. Some background in using R is required.

Introduction to R

R is probably the best environment for data analysis, and is the choice of many data scientists and business analysts. This 3 day workshop will introduce R to these audiences and provide the basic skills needed for conducting data analysis projects independently in R. The workshop adopts a hands-on, interactive approach.

It is comprised of a few “interactive demonstration” modules that introduce key concepts. In these modules we follow a well documented R script, occasionally deviating from it to answer questions and deepen our understanding of the material presented. Interspersed between these demonstrations are in-class exercises in which participants have the opportunity to solve real (sometimes a bit simplified) business cases, using R by themselves. Finally there is always room for participants to bring their own data to the class, and discuss how to perform their task in R.

This modular structure enables to cater for the specific needs of participants and their organization. The typical workshop takes a minimum of 2 full days (2×8 hours), but 3 are advised. More “open audience” consultation time can be added as well as more modules to cover additional topics and statistical methods.

Developing Data Web-Apps with R-Shiny

Say good bye to the traditional tables and graph reports on printed paper or excel sheets. Today’s way of communicating the outcomes of an analytics project is a data application – an application that dynamically and interactively presents various aspects of the data, and highlights key insights. It allows the end user – typically managers – to quickly go through results, to browse through various graphics, dynamically creating tables and visualizations to answer questions as they arise, and create predictions based on new data.

The shiny package of R is a true innovation in this aspect of the analysis. It allows analysts to easily create reactive and interactive websites, display interactive graphs and much more – all this without the need to deal with HTML, JavaScript and other web technologies. All you need is to know R, and R will automatically generate those scripts and run your application on a server so that everybody can use it using a simple browser over the internet. This is a great way to create dashboards and reports, present interactive and complex visualizations and much more.

In the workshop we will learn how to build such web applications from scratch. We’ll learn how to develop a great UI with R, and how to fill it with content dynamically. We will discuss different aspects of reactivity, learn how to create interactive graphics and much more. This is a hands-on workshop and we will actually develop a few data oriented websites.

AWS DevOps with Python and boto3

This workshop is focused on gaining DevOps skills and culture. In this workshop we’ll gain hands on experience w/ AWS core services as well as w/ automating AWS tasks using AWS SDK for Python (Boto3).

At the end of this workshop you will be able to perform the following tasks using scripts you will write:
–Starting instances in single click
–Stopping servers at night to save on budget
–Searching non unused resources such as unallocated elastic IPs, available volumes
–Cleaning S3 repositories

Clean Code

Most of the code we write will accompany us for years. And everything we write for the first time is a draft. If that’s the case, why not make it better? Make the code clean for our future selves to fix bugs and add features without slowing down, or fearing touching it?

Clean code is something that is hard to describe, but there are effective ways to achieve it. In this workshop, we’re going to discuss and practice these methods.

Python Programming

Python is an easy to learn and powerful programming language that is used in many computer science areas. This course concentrates on the Python programming language and libraries. From basic procedural syntax to sophisticate object-oriented programming techniques, delegates will learn how to write Python scripts and applications with code that is robust, maintainable and efficient.

The course is presented as a mixture of lectures and hands-on exercises. Practical sessions follow each topic, designed to reinforce the points covered. Additional information is provided in appendices to extend the learning experience after the course has been completed.

Java 8 Workshop: Lambdas and Streams

With the release of Java 8 and planning already underway for Java 9, the entire Java community is eager to learn more about the latest additions and exciting new features added to the Java platform and ecosystem.

The new language features include lambda expressions and method references, both of which support programming techniques known from functional languages.  Now that Java has multiple inheritance via default interface, methods programming techniques similar to mixins and traits are possible.

Mastering lambdas is the prerequisite for successfully using streams.  Streams are an extension to the JDK collection, which experienced a major renovation in Java 8.  Streams provide a functional API for sequential

Maintaining Elasticsearch in Production

This 1-day course is aimed at developers and operations people who need to be able to maintain Elasticsearch clusters in production. In this course you will learn about the various parts that make up a cluster, how it operates, and many do’s and don’ts learned by experience over the years. The goal of this course is to make sure you can maintain a stable cluster regardless of the load you put on it.

Course Objectives:
* Performance, sizing, scaling out and multi-tenancy
* Designing the right cluster topology
* How to monitor the cluster health
* Understand the various configurations behind the cluster
* Maintenance and troubleshooting
* Integration with clouds (AWS, GCP, Azure)
* Security

Node.js Workshop

JavaScript is the most used programming language on the planet today, listing 300K+ code-libraries and over 1 billion packages installed per week. You are invited to find out why your team should join this never-ending list of companies using Node.js in production

This 1 day seminar will give you an overview of Node.js fundamentals used to build scalable, user-facing, lightweight, real-time, full stack web-applications with Node and the Express framework. Node.js is a software system designed for writing highly scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Unlike most JavaScript programs, it is not executed in a web browser, but is instead a server-side JavaScript application.

Elasticsearch for Developers

–  Are you looking for ways to gather insights from the data and logs your system emits?
–  Would you like to join companies like Twitter and LinkedIn in providing your own tailor made search that
.   will enable your users to drill-down and auto-complete features?
–  How about creating shiny dashboards to visualize your system and the behavior of the data you gather?

In this intensive 2-day workshop on the leading open-source product Elasticsearch and it’s related technology stack you will learn both the basics of full-text search and information retrieval and how to unleash the power of the inverted index, using the powerful ELK stack: Elasticsearch, Logstash and Kibana.

Through hands-on exercises, lectures and by discussing real-world challenges, you will learn how to achieve a better user experience by incorporating your own search engine in your products. You will also learn how to use the ELK stack to monitor your data real-time, to create live dashboards and to visualize your data.

MongoDB Workshop for BI and Data Analysts

MongoDB is a leading document database that changes the world developers known so far: no schema constraints, instant object persistency, rapid high availability, amazing performance and scale out support for the cloud generation.

This course provides a BI and data analysts hands-on practice with MongoDB data structure and query language as well as with advanced analysis skills using the aggregation framework.

Note: This course can be adjusted to additional programming languages (except for Java) and other target audiences including DBA, DevOps and Software engineers – based on customer request.

Hadoop Analysis

Hadoop is an Apache framework that allows distributed processing of large datasets across clusters of servers using simple programming models. Hadoop was designed to scale to thousands of machines, each offering local computation and storage.

In this training students learn what Pig, Hive, and Impala have to offer for data retrieval, storage and analysis. Students will also understand how to implement real-time, complex queries on different datasets. This course also covers the fundamentals concepts of data ETL (extract, transform, load) using Pig, and explains how to import/export data using Sqoop.

Angular 2 Workshop

Angular 2 is a brand new web development platform created by the AngularJS team.

During this one day workshop we will explore the Angular platform, gaining solid understanding of how it’s work and how we can work with it, from the development environment stack up to rendering layer.

Advanced SQL – Practical Techniques and Tricks

This training, unique of its kind in Israel, focuses on complex queries, and entirely composed of advanced “real-world” problems and solutions.

This course is based on a decade of experience working with various databases, challenging job interviews questions, and many complex SQL problems Ram has encountered during his line of work. In this course, students learn approximately 100 different practical applications and “real-world” problems.

Cross Platform UX Design

The “Cross Platform UX Design” training is a comprehensive course for characterizing user experience across all platforms – mobile, PC and everything in between. Participants will learn techniques, practices and tools, for creating effective user experience.

DevOps and Continuous Delivery (CD) with Jenkins, Docker and Kubernetes

DevOps represents the integration between Software Development and Operations Engineering. Developers need to understand more on how their application will be deployed, while systems administrators need to have some developer-based knowledge in order to design the optimal infrastructure to fit the application’s needs.

In this course you’ll learn how to improve the Software Development Lifecycle by applying techniques to improve software delivery. During the course you’ll dive into DevOps techniques and practices by building your own Continuous Delivery (CD) environment using GIT, Jenkins, Docker, Kubernetes and AWS.

Learning Go by Writing Microservices

Learn how to code in Google’s new exciting language – Go.

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It’s a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. (from the website)

In this workshop we’ll write some microservices and learn Go along the way.

Java Now – for Future Cutting Edge Technologies

Needless to explain how important is to keep your workers up to date with all the new technologies: JavaScript, spring, Devops, Big Data, Cloud. Easy to see how big is the learning curve to be a quality developer in the open source environment today using all the latest technologies in JAVA. But, even if you run around a bit more out of date, you should know that many of the tools and innovative technologies that fit even older projects and your good programmers do not want to be left behind.

Send your leading programmers for this course, you can also renew and ventilate the development and frameworks in which you use and maintain your quality employees.

.NET Performance and Debugging

The .NET Performance and Debugging Workshop is a practical workshop for experienced .NET developers willing to develop high-performance .NET applications and debug them in the development and production environments.

In this eight-day workshop, you will obtain practical knowledge about the performance characteristics of the .NET framework and common language constructs; learn about the relevant internal details of the .NET type system, garbage collector and synchronization mechanisms; and practice debugging scenarios that arise in the development or production environment of .NET applications.

This workshop is limited to 8-12 participants to ensure that instructor attention is properly distributed during the practical labs, and to provide an opportunity for specific questions to be brought up after classroom hours.

Introduction to Apache Cassandra

The Cassandra (C*) NoSQL database is one of the most powerful and widely used non-relational databases available today. It is a fault tolerant, highly scalable database with tunable consistency that meets the demanding requirements of the “can’t fail, must scale” systems driving growth for many of the most successful enterprises of today. However, along with that capability comes a new data and programming model that many organizations lack the expertise to use in an optimal fashion.

This course provides a technical introduction to all the conceptual and practical areas needed to use Cassandra successfully. It is written expressly for the new capabilities in the C* 2.0, including CQL3.1 and the new DataStax Java driver V2. The course provides a solid foundation in the architecture and data model of C* and how to work with it. It covers CQL3 in detail, as well as important data modeling techniques to optimize your usage of the database. It includes in-depth coverage of the new Java driver for C*, as well as a full-scale application based on a stock-trading system (StockWatcher) that uses the driver.

After taking this course, you will be ready to work with Cassandra in an informed and productive manner, including using CQL3 and the new Java driver. You will be aware of some common pitfalls as well as best practices for creating your data model and applications. You will gain a clear understanding of how C* works, and be fully prepared to use it in production systems.

Developing SQL Server Databases

This training allows you to get familiar with table creation and design, managing indexes, and retrieving details about the database execution plans. This course also focuses on the creation of views, and TSQL programming units such as Stored Procedures, Functions, and Triggers. Other common aspects of database development, such as concurrency and XML management, are also covered in this course. In this course, each module is reinforced with structured hands-on exercises.

C++14 New Features

C++14 is the new standard that revolutionizes the already best language for native development. With the approved C++14 standard the language is even more powerful and expressive while maintaining its power as the language of choice for system and native development.

This course covers the new and updated features of the language and includes intensive exercises.

Oracle SQL Tuning

This training explores different methods for tuning and identifying inefficient SQL queries. In this course students learn how to retrieve details about the Oracle database execution plan, and to determine the root causes of inefficient SQL statements. In this course, each module is reinforced with structured hands-on exercises.

Data Networks – Advanced Routing

In this course, Network Admins will learn to use advanced routing to provide scalability for Cisco routers that are connected to LANs and WANs. Participants will learn how to implement and verify EIGRP routing in large-scale internetworks, OSPF routing in a complex enterprise network, Layer 3 solution using BGP to connect an enterprise network to a service provider, and more.

Target Audience:
The Advanced Routing course designed for network administrators who wish to correctly implement routing-based solutions and enhance their knowledge with 2nd and 3rd layer technologies.

Test Automation BootCamp

One of the challenges of being a professional tester in an agile team is being able to contribute to the general automation effort of the QA. However many testers are lacking the skills that are required in order to do that. This training is aimed to close the knowledge, and in this 5 days journey, participants will learn the needed test automation tools and skills that will enable them to become active contributors to the automation effort.

Docker Fundamentals

Docker is an open-source project that automates the deployment of applications inside software containers. Docker provides an integrated technology suite that enables development and IT operations teams to build, ship, and run distributed applications anywhere. Docker lets you build an app in any language, and run it on any platform that supports Docker containers.

This course is for developers and IT operations teams who wish to build and deploy distributed applications easily to the cloud using Docker. Participants should be comfortable with the Linux command line and using a text editor. Prior experience in developing web applications will be helpful but is not required

Elasticsearch, Logstash and Kibana (ELK stack) Deep Dive

The ELK stack comprised of Elasticsearch, Logstash and Kibana, is a powerful combination of open source tools. The ELK creates an end-to-end stack that delivers actionable insights in real-time from almost any type of structured and unstructured data source. The ELK stack makes searching and analyzing data easier than ever before.

By the end of the course, participants will have a solid understanding of the role of each of the ELK components, and be able to develop full-fledged data pipeline using the ELK stack.

MongoDB for Java Software Engineers

MongoDB is a leading document database that changes the world developers known so far: no schema constraints, instant object persistency, rapid high availability, amazing performance and scale out support for the cloud generation.
This course provides a developer level introduction along with more advanced and useful features. The course will include hands-on practice with MongoDB and Java, creating a complete system from data design to implementation using Java and integration with BI and dashboard tools.

Note: This course can be adjusted to additional programming languages (except for Java) and other target audiences including DBA and DevOps based on customer request.

Developing Mobile Apps with Android

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

This course introduces mobile application development for the Android platform. Students will learn skills for creating and deploying Android applications, with particular emphasis on software engineering topics including software architecture, software process, usability, and deployment.

Agile Requirements – Writing Effective User Stories

Too many organizational books dictate a one-size-fits-all approach to organizational improvement, or are centered on American or European social values. Instead of delivering hollow promises, organizational patterns deliver tools suitable to analyzing your organization’s strengths and weaknesses and building on small, simple, but sound and proven practices, as a foundation for improving an Israeli software development organization.

The course introduces the source of organizational patterns in popular use today, and engages students in a mock organizational study to deepen their knowledge of the patterns. We then debrief these studies and investigate applicable patterns one by one. All in all, the course covers over 30 crucial organizational patterns. The day ends in practical, concrete conclusions for each student and an action plan to continue the process at home.

Advanced Java Topics

This course is designed for experienced Java programmers looking to expand their knowledge in the Java language. The course covers advanced topics, like concurrency in Java: threads, pools and synchronizations, database connectivity, unit testing with JUnit, and more. After completion of this course participants will be able to develop high-performance and efficient Java applications.

Advanced C++ Topics, Tips and Pitfalls

The main goal of the course is to provide deep understanding of C++ internals – the look on some C++ features from the compiler point of view; how these features are implemented in compiler and why. We’ll discuss the cost of C++ features and the ways to decrease resources needed for application (memory, time), and we’ll present tips and pitfalls in C++ programming.

Large Scale Scrum – Certified LeSS Practitioner

practitionerThe Certified LeSS Practitioner Principles to Practices course provides the most practical and actionable approach to creating value through the scaling of Scrum related Agile in global enterprises and distributed teams.  Click here for

LeSS is packed with proven advice and practices for achieving value fast on large and complex projects. It provides a start-to-finish approach for large initiatives across the entire project spectrum and lifecycle, starting from sprint planning to retrospective.

The LeSS framework enables the scaling of:

• Scrum for large-scale projects
• Requirements, planning, and product management
• Design and architecture
• Management of defects and interruptions
• Scrum across multisite and offshore projects
• Change strategies and organizational designs

Design Patterns with Java

Start designing and developing applications and systems utilizing the design patterns and avoiding anti-patterns knowledge accumulated and proven throughout the industry. The course is specially geared and adapted toward Java implementation and considerations.