Michael Elkabetz has over 8 years of experience in hi-tech industry working with micro-services, cloud, and containers. He currently manages a team of 13 software engineers. Some of his achievements include developing processes for onboarding new team members, conducting performance reviews, creating templates for design documents, and establishing development workflows. Additionally, he has experience leading the development of several mobile and web applications to address different problems.
2. “ Proven track record in the Hi-Tech industry for
more than 8 years have a vast experience in
micro-services, cloud, and container
development. Developed several E2E solutions in
my free time and nowadays managing software
development group (13 engineers).
2
Hello
8. 4 pillers on-boarding plan
8
INVOLVEMENT
INTERACTIVE
HANDS-ON
THEORTICAL
Focused training
Training development task
Live lectures by feature owners
Group confluence Wiki
10. 10
Training Development Task
Goal:
Hands-on task forces trainee to work with our solution, have it installed, communicate with
our services. review trainee development skills.
Training Final Task:
– PaymentsDesign and build a micro service, which is handling costumer payments
requests.
The system should receive REST requests using Spring boot web servers and handle them
using RabbitMQ.
The system should receive 4 GET commands:
payCard – Payment request was done using credit card.
payPurchase – Purchase order was done.
payCash - Payment request was done using cash.
declareQueue – Define a new queue (With subject and routing key as you wish) in the
RabbitMQ.
The system should handle those different requests and produce messages about those
payment requests using RabbitMQ.
The RabbitMQ broker should contain topic exchange and 3 queues and 3 consumers:
directConsumer – consume credit and cash payments.
purchaseConsumer - consume purchase orders.
allConsumer - consume all orders.
Define the relevant broker configuration (Exchange, Queues and Routing Keys etc.)
•Write the RabbitMQ interface and configuration for using Spring plugin. (http://docs.spring.io/spring-
mqp/reference/htmlsingle/)
•Pay attention to the a-synchronization of the messages sent to RabbitMQ.
•Choose a data structure, which will be used to store the ID of produced messages and count the consumers, which
consume the messages. Pay attention to concurrency.
•Write Unitests to check your system.
•Docker:
• Create an image of your program and upload it to the Global Docker (Do not forget to
delete it afterwards).
• Use RabbitMQ image in the Global Docker.
•Comments:
• Use RabbitMQ management plugin (https://www.rabbitmq.com/management.html).
• Write a high quality code -
Clean, simple, and readable, logically partitioned and designed, correctly modeled and
objected, correctly follow common Java conventions and best practices, and correctly follow
relevant design patterns.
• Embed Java8 abilities in your code.
• Use Spring Boot framework
11. 11
Focused Training
Goal:
Each trainee shall understand in depth and explain
several components.
Expectations:
Required expertise for each component:
▸ What it the role of the component?
▸ How it is deployed, upgraded, undeployed
▸ Place in VM boot sequence
▸ Configuration files
▸ Storage/DB
▸ Backup/Restore implications
▸ Interfaces with other components
▸ Understand code in high level (Code repository, code walkthrough)
▸ Commands/APIs
▸ Troubleshooting
DoD:
1.Understand the component given the expected expertise KPIs
2.Update flow/architecture in Confluence
3.Present a PPT for the component to a small forum
12. 3. Performance Review
Goal: Provide effective feedback and have a plan a future valuable year for company & employee
13. Performance review example - I
13
2020 Goals
a. Self-evaluation
i. centralize logging - give valuable information for tier3 and developers on logs
1. 1. meet tier3 guys and understand what they expect from system logs
2. Meet application teams and see what they expect.
3. Sit with our system engineer and explain what our users expect to have.
4. Get the requirements and implement.
ii. Field & Customers support
1. Field & Customers Provide fast and solid support for Tier 3 and issues arising from the field. Improve methods and give good solutions with clear guidance for Tier 3 and field engineers
2. Support our tier3 guys in Bharthi with paas 2.7 on field lab.
iii. Help app team to work with PaaS
1. Collaboration Improve cross-sites collaboration. Improve collaboration between Apps & PaaS groups Reduce misalignment with system engineer and with application developers on delivery
b. Manager’s evaluation
i. NP Offline & IM
1. You did a god job in adding a lot of troubleshooting features which reduce tier3’s interrupted
2. You collaborated well with several teams and entities.
3. Innovation – You suggested a new solution with Gal.
Eldar – It is very important to promote the innovation related to NP that we suggested, it will provide a solid and stable approach and the developers will get something interesting to develop.
i. Support & Troubleshooting
1. You handled a lot of PRs and improved your experience and knowledge in HA failure points, MongoDB and Elastic search.
2. Because your sense of urgency is so high, so sometime you lose focus because of handling multiple issues at the same time
i. Central Logging and ELK upgrade
1. You leaded this epic from the beginning, gathered the information from groups, defined the requirements, wrote HLD, defined technical tasks and DD, implemented and delivered the solution on time, well
done!
Eldar - It will be better to check what’s new from time to time in newer versions
i. Took the lead of BS team
1. We dropped you into the water and you handle it well, the team already fill your managing and technical capabilities, the team has an amazing atmosphere and the new team members are filling as part
of the group generate deliverables.
Eldar – it looks good, people getting know each other and learn about PaaS eco system and they already start contribute our solution.
14. Performance review example - II
14
2021 Goals
Field, Support and Customers
WHAT: Provide fast and solid support for Tier 3 and issues rising from the field.
HOW: Improve methods and use your team members wisely.
HOW: Provide a bright picture to management about issues and their status.
HOW: Be responsive to app developers and QAs, try to assist when it possible.
KPI: Being able to provide deep technical explanation about all epics handled by your team.
WHEN: H1 + H2
Hands On & Innovation
WHAT: Preserve your SW development capabilities and specifically JAVA, Springboot2 leverage your knowledge in Python.
WHAT: Come up with innovative technological solutions for PaaS features such as Scale out, Monitoring, evolving PaaS as an ALM solution etc.
HOW: Using your team, provide a creative initiative maybe as part of Technothon '21
HOW: Take an active part in development tasks, handle PRs.
KPI: Handle at least 1 PR each sprint.
KPI: Take at least 1 Technical task each sprint.
KPI: Participate in Technothon '21
WHEN: H1 + H2
Leadership & Collaboration
WHAT: Lead development epics, communicate needs and goals effectively to team members and to external groups, make sure team commitments deliver on time, plan for and adapt influence strategies to best fit the audience.
HOW: Lead your SCRUM team smoothly, make sure that all tasks and stories will be ready by the end of the sprint.
KPI: Plan the sprints, lead the dailys, invest in retro perspective meetings, provide bright status and raise flags when needed.
KPI: Meet due dates with no more than 10% delay.
WHEN: H1 + H2
Develop your team
WHAT: Contribute from your experience and coach your team members by helping them in creating and implementing their development plans. Delegate responsibility and coach others to develop their full capabilities.
HOW: Deliver positive and constructive feedback to motivate, encourage, and support others in their development.
KPI: encourage at least 2 team members to perform knowledge transfer session to the group
WHEN: H1 + H2
Career Development
• Participate in a TL course in ECI.
• Bring Innovative ideas to the group and develop them with our collogues
• Become Kubernetes expert - Take hands-on course and active part in K8S development.
• Increase your technical knowledge in PaaS and in the infrastructure eco system. Participate in HLD DR and CRs.
Summary
You are a great team player, you build an atmosphere of trust within your team. You maintain a good standard of work aligned with a high level of productivity.
Your sense of urgency is beyond our expectation, however sometimes it makes you to lose a bit focus. This year is going to be very challenging from technical perspective and management perspective however we are sure that you will lead your team in an
extraordinary way and you will deliver you commitments on time.
15. 4. HLD & Mini-HLD Templates
Goal: Define a HLD template for big features and Mini-HLD concept & template for small features
22. SHEROT
22
Small & medium businesses can’t afford developing a dedicated delivery solution for clients
The Problem
SaaS DIY platform for helping small & medium managing delivery processes
The Solution
Web control panel, iOS and Android Native apps, server side, design, architecture.
23. Isyncya
23
Repeated casual meetings are being coordinated via Whatsapp in a very inefficient way
The Problem
Mobile App for reoccurring events
The Solution
iOS and Android Native apps, server side, design, architecture.
24. Cityeye
24
Local authorities and residents communication is bad and based on phone calls
The Problem
Social network for residents and smart cities
The Solution
Web control panel, iOS and Android Native apps, server side, design, architecture.
25. Appiryon
25
Difficult to locate “Minyanim” at new locations and it’s hard to know if there are 10 prayers
The Problem
Mobile apps for locate and join remotely to “Minyanim”
The Solution
Web control panel, iOS and Android Native apps, server side, design, architecture.
26. Other Stuff
26
▸ Cityeye Development Blog
▸ Discord Bot Development Blog
▸ [PPT] R&D Battlegrounds
▸ [PPT] Cloud Revolution
▸ “Tehilim Memokad” App