https://igotanoffer.com/blogs/tech/facebook-engineering-manager-interview
- People Management
- Project Management
- Culture Fit
- System Design
- Coding Interview
https://igotanoffer.com/blogs/tech/facebook-engineering-manager-interview
https://sites.google.com/deliveroo.com/tech-leadership/engineering-manager-prep/leadership-growth-mindset
https://sites.google.com/deliveroo.com/tech-leadership/engineering-manager-prep/behavioural
When it comes to creating resolving conflicts a few of these communication skills come in Handy.
Overview of Project
Company had roadmap to create a Financial Data lake. Software engineering team Was tasked with creating infrastructure for this data lake
Data Engineering team which I was leading was tasked with Migrating data pipeline to datalake, using tools developed by Software engineering team. Wireframes on how this tool would look like was shared with team and data Engineering team waited for Software engineering tool to complete
Their work so we can start working on pipeline migration.
STAR Format follows
Situation (Challenges you faced)
Tasks (Decision you took )
Action (How you worked with your team and cross functional peers)
Result (Metrics that was impacted)
Both the Links should be used together
Facillitaor guide is better than slides has detailed description
https://docs.google.com/document/d/16aDChcr2W6r683bCUeOD-4FEP3sx754_n37-bSHPFw4/edit
Manager Handbook For Training
This has Conversion Guide for Getting to know employees
https://prepinsta.com/competitive-advanced-coding/
* Apart from Coaching Googles Project oxygen adds few more points
“Pure” Coaching
Actively listen
Ask powerful questions
Raise awareness around “blind spots”
Challenge thinking and deeply held beliefs
Make requests for new action
Google Project Oxygen Definition
Provide specific & timely feedback
Balance positive (motivational) & negative (developmental) feedback
Understand unique strengths & development areas of each person
Tailor coaching to the individual & situation ( What is coaching refer above)
Suggest solutions
Have regular 1:1s
When working with high-potentials
Coaching fosters their long-term development
When working with knowledge workers
The “expert” leadership role has limitations when workers may be more knowledgeable than the boss
When commitment trumps control
When securing employees’ commitment and intrinsic motivation is more important than controlling them, coaching is the best approach
When the issue is around managing relationships
e.g. stakeholder management, how to motivate others
When dealing with serious underperformers
Coaching is not a performance plan
When you do have the answers. If you know exactly how work must be done, direct instruction is better than inquiry
If a question has just one answer, people feel quizzed
When task control is more important than commitment
In doing routine tasks for example, this may be the case
If the coach believes the coachee cannot achieve the goal
An important aspect of coaching is having a growth mindset. If this is the case, question your assessment before acting.
Be fully present for and focused on the coachee
Be aware of your own mindset and that of the coachee
Practice empathic listening (aka active or reflective listening)
“Focused attention on coaching is more important than the time spent. What matters most is listening so the other person feels heard. Eliminate distractions and cultivate a sense of presence in the moment.”
Agile Manager
- Servent leader - lead by serving team. Create a environment where team can succeed
-- if there are any blockers for team i help unblock it
Adaptive management
- open for change. We have been doign things this way and we always look for ways of improving
Coaching and mentoring
- coach and mentor team so team becomes self organized
Focus on what not on How
--
Build trust in team
-- create environmet where we focus on problem rather than who is raising it
-- more focus on workflows and producing a output
outcome over output
-- what value we have achieved
-- move team from activities to custom focus
sustainable pace
-- team should not be burned out
https://agilemanifesto.org/principles.html
Agile Development Manifesto
https://www.atlassian.com/agile/manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Responsibilities on Team
The formal leader on the team
-- the facillitator
-- Scribe --
-- timekeeper
-- Share the responsibities with team as they mature
Agenda
-- People should come to meeting with clear topics that we cover, What is expected outcome
-- Order of things -- Time allocated to topic
-- recognition since last meeting, you can ask whole team
-- action plan
Performance management
-- Define performance , what you want to achieve
-- then either skill (cant do ) or Motivation (Wont do)
-- Is it a skill -- requires practice training
-- Is it knowledge -- requires education
How to define a skill training
-- Take a skill - Break it into component parts. It has to be pinpointed behaviour
--
Motivations
-- What is the highest form of motivation
- Purpose , Meaningfulness -- focus on society
-- social -- Relationship bonding -- focus on team and community
-- situational - rewards and motivations - Focus on self
-- if you can connect to people with higher purpose , that is highest form of motivation
Facillitations
-- getting collective wisdom
-- given a problem its a group solution, without individual egos
-- so idea is to come up with solution that was not possible with one person
Facillitatins skills
-- Set the agenda
-- tell how many items are in meeting, what we want to do
-- share outcomes
-- share expectations
Decision styles
-- command decisions
-- consultive decisions
-- concesus type decision
Conflict resolution
--Everyone is right in their eyes, idea is for to look at other persons idea
--
Lean thinking
-- focus on values
-- eliminate waste
-- evidence based
-- enpowed people
--
Becoming a Influencing manager
-- maintain a Adult ego state , (Parent,child)
-- ADISCO -- Adult, direct honest and polite , i statement (Take ownership) , solution oriented, calmly expression yourself,
o - ownership of own behavior
Vision
Do you team know what job is Individually
Do they know what a good job looks like
Do they know how to measure good performance. Do they know what a good week looks like
Work ith Smart Goals
- Specific - really clear goals
- M - measurable goal , there is proper metric that tells how far we are from achieving goal
- A - Achievalble goals
-- R - Relevant
- T - Time bound
Involve team in Setting goals
-- involve team in identifying the behaviours
Influencing attitudes
- icek Azben
- Is it the right thing to do (show why its the right thing to do )
- Is everyone doing it ( show all are following it )
- can i do it ( Any blockers for doing this )
Is is the right thign to do
-- has the decisoin come by colloboration
-- State the benifits
- Regular team meetings on why this behaviours are important
- one to ones - repeating the behaviours
- repeatedly stress who these relate to goals
- appeal to personal values
- Reward
What everyone is doing
-- showcase the behaviour
-- dont ignore distructive behaviour
-- Intervene quickly
-- Encourage team to intervene
-- Publicise success
Can i do it
-- provide a good training
-- Support training before and after
-- Ensure processes support behaviour you wont
-- provide authority
-- provide opportunity
Communications p
-- words , Tones , Body language
Influencing your boss
Is it right thing to do
-- what is their kpi
-- what is their personal motivations
-- aligning your goals with their motivationns and Goals
What everyone else is doing
- best practice industry standards
can i do it
-- prevent as evolution than revolution - so that they will adopt
-- look for example that this has happened
-- show a credible plan
Influencing your peers
-- what formed the intentions to behave
-- is it good --- what are their drivers, their own KPI,
-- is everyone doing it
-- can i do it
dealing with dificult people
-- opposing goal or narrative
-- someone having a different goal then you
-- someone havin a different narrative, how they perceive and talk about
-- For narrative - making sure that your purpose is very clear
Personality Clashes
-- individual difference
- extraversion
- Agreeableness -- go along with flow
-conscientous -- how anxious we are to get ti right
- emotional stabiliy
- intelligence
Leadership styles
-- Authoratian - Its my way or highway
-- collaborative - lets work toghether to identify the best way
-- delegative - i will let you make the decision
Heartbeat of role
-- stable and predictable
What do you do on day on day basis
-- Team meeting
-- Management meeting
-- email sessions
-- checking KPI
-- scheduled daily/weekly/monthly checks
-- one to ones
-- Research and personal learning
Managing performance
-- Understanding specific standard and level of performance
-- be clear on required outcome
-- be clear on what the standard is
-- provide tools , training and opportunity
-- provide a clear time frame
-- smart instruction -- specific , measurable , achievalble , relevant, timebound
Feedback when standard is reached
--
Feedback when standard is not reached
-- explain what was below the standard
-- ask for their analysis
-- remind them of what was required
-- explore training and other needs
Delegate
-- Giving authority for someone else to do part of you job
-- example - Get the information and we can decide what to do,involve people in decision making
-- to get delegation right , make sure to match person to task , level of expertise ,
-- set smart goals
https://www.sqlteam.com/articles/detecting-runs-or-streaks-in-your-data
GameDate Result 1/1/2000 W 1/12/2000 L 1/15/2000 W 1/17/2000 W 1/22/2000 W 2/1/2000 L 2/5/2000 W 2/8/2000 L 2/16/2000 W 2/19/2000 L 2/25/2000 L 2/28/2000 L 3/15/2000 L 3/19/2000 W 3/25/2000 W
- Do a self join with table - do a cross join with all the previous dates where result is not matching - count number of rows above a record where record is not matching - This becomes the run group
SELECT GameDate, Result, (SELECT COUNT(*) FROM GameResults G WHERE G.Result <> GR.Result AND G.GameDate <= GR.GameDate) as RunGroup FROM GameResults GR
GameDate Result RunGroup 1/1/2000 W 0 1/12/2000 L 1 1/15/2000 W 1 1/17/2000 W 1 1/22/2000 W 1 2/1/2000 L 4 2/5/2000 W 2 2/8/2000 L 5 2/16/2000 W 3 2/19/2000 L 6 2/25/2000 L 6 2/28/2000 L 6 3/15/2000 L 6 3/19/2000 W 7 3/25/2000 W 7
-- Now we need to group by Result and Run Group and find how many games are played
SELECT Result, MIN(GameDate) as StartDate, MAX(GameDate) as EndDate, COUNT(*) as Games FROM (SQL 1) A GROUP BY Result, RunGroup ORDER BY Min(GameDate)
Result StartDate EndDate Games W 1/1/2000 1/1/2000 1 L 1/12/2000 1/12/2000 1 W 1/15/2000 1/22/2000 3 L 2/1/2000 2/1/2000 1 W 2/5/2000 2/5/2000 1 L 2/8/2000 2/8/2000 1 W 2/16/2000 2/16/2000 1 L 2/19/2000 3/15/2000 4 W 3/19/2000 3/25/2000 2
Leaders define , create that energy.
Why we do what we do, if you cant communicate that you will loose energy.
Manager
- allow people to showcase that how they are making the impact
Leaders are not about controling people,
Managers are not about controlling people but controlling processes..
As a manager i Model people behaviour to our values
- defining Standard of work
- to coach to give feedback
- to motivate both individual and team
Process
- 95% of problems are in process and not in nature of person
- set of activities that lead to tranformation of set of inputs to output
-- process can be measure by output or ratio of input to output
How do you evaluate a team
- Team Purpose
-- Does team has well defined purpose
-- team knows its customers
-- team knows how to run its meetings and general execution behaviour
-- Teams know about its desired performace and how it contributes to company goals
Team meetings
- Does team have regular scheduled team meetings (Monthly)
- Action plans in team meeting have been noted down and worked upon
- Members display truste inside and outside the meeting
Process Management
- Team know the steps in process
- Team has done improvement in process
-- it means teams knows the process clearly
-- can analyze how the process is working
-- can improve the process
- Team knows how to measure a process and can talk about variation in process
Customer focus
- Team has defined its customers and identified improvement areads from customer feedback
-- This means team knows its internal and external customers
-- know how to get feedback
-- how to analyze that feedback
- Team is able to improve customer satisfaction
Problem solving and decision making
-
Team Purpose and Charter 1 Team Purpose
2 Customer Satisfaction
3 Team Norms
4 Performamnce
Team Meeting Management 1 Team Meetings
2 Facilitation
3 Decision Styles
4 Team Trust
Process Management 1 Process Mapping
2 Process Improvements
3 Balanced Scorecard
4 Waste Ellimination
5 Process Variances
Customer Focus 1 Customer Focus
2 Customer Satisfaction
3 Customer Feedback
Problem Solving and DM 1 Problem Solving Tools II
2 Problem Solving
3 Problem Solving Meetings
4 Problem Soling Tools I
Vision
-- Where are we goin
Values
-- What is important
-- what gets rewarded for , what is punished for
-- what companies values are these have to be in line
Values worth considering
- Absolute honesty and integrity
- Respect for people
-- Engaging people in problem solving demostrates respect in people
- Continous improvement of the processes they own
-- Measurement of data using facts
-- learn to look at data , understand the facts ,
-- unity of people and process
-- Challenge
Communication
-- Horizon or vertical is building trust
-- Communiation equals trust
-- Listen more , Always ask for feedback on what has been communicated
-- succesful communication is more about expectation,
--- perception is relative to expectations
Vertical communication
-- You should have key performance measures. You should clarify this with your measure
and team should be responsible for this
-- Any changes in process that may impact output
-- Always present problems with solutions -- partner for solutions
-- Any improvement in process share with your manager
In addition to above the below is responsible for team
-- Company events
-- Stratergy
-- policy changes
Delegation and Assigment of Tasks
-- When delegation is difficult
-- When delegation is easy
-- when delegates are motivated
-- When they are expert in their process
-- time for completion do checkout
Core Guiding principles
-- Respect for Individuals
-- Service for customers
-- Striving for excellence
Disciple and Justice
-- Well disciple team, people know what to do , Behaviour according to desired expectations
Justin
-- justice is fair and equal treatment to all individuals
-- people want others behaving in a manner similar
Human performance analysis
-- provide reinforcement behaviour
-- 4 positive for 1 negetive , recognition vs critisism
Standard work
-- you cannot have continous improvement unless you have standard work
-- Is it bad execution or its Bad standard work
What is standard work for leader , this should be well defined
Teams
-- create a high performing team, Dont lead CATS ( individual people)
-- Having multi skill teams , it becomes easier for team members
Defining structure of your team
--
Optimizing performance for your team
-- What information
-- what skills
-- what tools , Software , computers
-- What motivations - Awards , Rewards , Praise
Stages of Team Development
-- Forming - Figuring team dynamics
-- Storming -- people rebel about responsibilities
-- Norming - People settle into roles
-- performing -- things become fluid , people perform at high level
Who decides and who controls
-- depends on maturity of the team
-- as team has demostrated responsibility , you give the control to the team
-- So first we need to show team what a good behaviour is
Team charter
-- What is the purpose , Who is on the team ( or may be what aare the jobs)
-- who is the sponsor of the team
-- Define process -- what is input , what is output . Set the boundries of the team
-- what are the performance responsibilities of team
-- what is code of conduct -- example showing up on time,
-- what is communication resposibility - who do we communicate and how
Question on Hudi
What is Copy on write and Merge on Read
What is Serialization in Athena table Serde
What happens if we remove or add a column in Glue
- Materialized views and joining tables
-- how hudi knows something is latest record
-- Hudi Snapshot and Incremental API
How data skews are handled in Spark
-- How do we partition table in S3 or HUDI , what partition keys do we use. What are indexes in HUDI
How Parquet stores data -
There are various data streaming platforms
- KAFKA
- Apark Streaming
- Flink
- Glue for Streaming
Amazon Kinesis Data Streams
Understanding AVRO
- https://www.confluent.io/blog/avro-kafka-data/
- Avro has metadata in JSON and data is stored in Binary. Each file has header which is human readable and rest is binary
-- Parquet and ORC - Are both suitable for Write once and Read heavy. ORC is optimized for hive with Hadoop. Both are columunar formas
-- Parquet works best with Spark
How Parquet Stores Data.Good Article - https://www.linkedin.com/pulse/all-you-need-know-parquet-file-structure-depth-rohan-karanjawala/
- Both ORC and Parquet squeeze the data - ORC ( Optimized Row Columunar)
How to Create Data streaming job
https://aws.amazon.com/blogs/big-data/crafting-serverless-streaming-etl-jobs-with-aws-glue/
Blog on Stream Processin
Message Broker / Stream Processor
- Apache Kafka
- Kinesis Data streams
Stream Processing Tools
- AWS Kinesis
- Apache Spark Streaming
- Apache Flink
- Kafka streaming API
- Amazon Kinesis Data analytics allows you to process data in streams and use analytics over it. It uses apache flink
--------------------------------------------
For Loading data
- Kinesis Firehose -Firehose also has some tranformation capabilities . Firehose has dynamic partition capabilities and can partition data based on keys
Kafka Consumer API
-- this is not streaming API
-- this allows to read kafka streams and validate them or apply a logic