Eyal Liebermann

Experienced software team lead & system architect. Managed agile teams of software engineers and QA professionals. Developed and maintained large scale systems in the cloud serving hundreds of millions of end users. Focused on maintainability and business value. A fast learner with great analytical skills.

Experience

Federation Services Team Lead

Gigya

Developing and maintaining a scalable, secure Customer Identity Management (CIAM) services. Managing over a billion consumer identities, using numerous services running on hundreds of servers, in an hyper concurrent environment. We develop in C# and interacts with a plethora of technologies including MySQL, MongoDB, HBase, Elastic Search, Flume, RabbitMQ, Memcached & Javascript. My team was the first to experiment with docker, and the first to deploy a production service using our new micro-service platform working closely with the account people in a record time, less than a single iteration, from first contact with R&D, to delivery.

System Architect

NCR Retail - Retalix

Took part in an ambitious rewrite of Retalix retail management system. Analyzed requirements based on behavior of existing code and discussion with product management. Negotiated a multiphase solution that would enable fast delivery without contaminating the new design with legacy implementation constraints. Guided & supervised software engineers and team leads during development.

Server Development Team Lead

NCR Retail - Retalix

Managed a scrum team of eight developers and QA engineers communicating with product in the UK and an offshore team. Developed customer specific features for a strategic partner as part of the company's leading retail product. Used C# .NET with nHibernate over SQL database and WindsorCastle for IoC. Managed quality relying on C# unit tests, Fitnesse functional tests and our own QA lab.

Recording Decisions Server Development Team Lead

NICE Systems

Recruited and built a team of six developers . Developed and maintained a few business critical recording servers with a wide installation base over multiple live versions. Introduced quality methodologies that were adopted by the entire development groups and have led to substantially improved quality. Put a clear plan for a gradual rewrite of a system, adding features, simplifying usage, and cutting on code. Increased both performance and capacity in two orders of magnitude, to meet IP-Telephony requirements. Used C#, C++ CLI, C++, COM, SQL, WinForms Windows Server, onsite debugging tools.

Technologies

MongoDB

NoSQL Document-Oriented Database

We've migrated the entire identity base, some billion users over a few thousand tenants, into a sharded multi-indexed mongodb database. We gained insite as two how to do sharing effectively and how to search with multiple global indexes in a sharded environment. I later took an online course to solidify my knowlwdge.

OpenID Connect (OIDC)

Federated Identity Authentication on top of OAuth 2.0

We've developed a series of services, OpenID Provider, Relaying Party, and JWT service that enable sites which do not share a database, to create a seamless SSO experience for the end user. I actually came to appreciate this protocol.

C# Programming Language

From dispose pattern to TPL

I admire the pace in which it evolves. We were using TPL, lambdas, Object LINQ, and even some yield return.

Javascript Programming Language

You-Dont-Know-JS

You-Dont-Know-JS and neither do I fully know it. It's complex and amazing and it's the fastest innovating language at the moment. We've used as a switchbaord on the client side in order to check session state and call on the server endpoints. I've been learning it and using it sparsly over the last two years, developing in Node and React.

SAML - Security Assertion Markup Language

Rich XML based Federated Identity Framework

We've developed both Single-SignOn and Single-LogOut, as both IdP and SP. This protocol is complicated. We had the challenge of integrating it with our existing authentication flows. Our partners were required to intgrate with existing third party servers. We had to become experts in analysing complex intgrations.

Amazon Web Services

The public cloud

We were working on a hybrid cloud. Private cloud in the US and Russia and pubic cloud for data recovery and the EU AU regions. I'm taking a few courses specifically on the public cloud. This site is hosted and serverd by AWS'

Docker Containters

Light weight virtualization in the cloud

I've led the effort from the R&D side to deploy our microservices within container. I've learnt it used it, gone down to the Dockerfile to understand how we build our image layers. And then we dumped it because C# on a linux docer was premature the time. Still it's the most exciting piece of techonlogy I've met recently.

Memcached

Distributed In-memory Object Caching

The two most complex issues for developers are cahcing anf naming :-) We've used it as a caching layer to ease the burden on our database. We've used it for shared counting across all web server to achieve rate limit management. We've used it as a session store.


Hello Lambda!