1 of 56

@gabornadai

6 THINGS I LEARNED�AS A LEAD DEVELOPER

2 of 56

Hello!

  • Gábor Nádai, but you can call me Mefi
  • Engineering Manager at Bitrise
  • Mostly into traveling, tech leadership and cats
  • @mefiblogger almost everywhere

2

3 of 56

THIS WON’T BE A TALK ON HOW TO WRITE GOOD CODE.

Rather by the hard skills, I’m going to talk about the equally

important yet sometimes hardly underrated soft skills.

3

4 of 56

BUT WHY?

4

5 of 56

BECAUSE AS A LEAD DEV, YOU DON’T GET THE BIGGEST IMPACT WITH YOUR CODE.

5

6 of 56

YOU’LL MAKE IMPACT MOSTLY BY HAVING CONVERSATIONS.

6

7 of 56

WHICH REQUIRES SOFT SKILLS THAT ARE HARD TO LEARN.

7

8 of 56

Grace Hopper

Pioneer of Computer Programming

YOU MANAGE THINGS,

YOU LEAD PEOPLE.

8

9 of 56

YOU’D LIKE TO BE

A GOOD LEADER?

You must become a great manager first.

9

10 of 56

Lead Programmer, Lead Software Engineer, Team Lead, Development Lead, Technical Lead, Lead Software Engineer, Software Design Engineer Lead, Software Development Manager, Software Manager, Lead Application Developer, …

LEAD DEVELOPER

10

11 of 56

Wikipedia

A lead developer’s exact responsibilities vary from company to company, but in general he or she is responsible for the underlying architecture for the software program, as well as for overseeing the work being done by any other software engineers working on the project. A lead programmer will typically also act as a mentor for new or lower-level software developers or programmers, as well as for all the members on the development team.

11

12 of 56

WHAT DOES A

LEAD DEV DO?

12

13 of 56

What my Mom thinks I’m doing...

14 of 56

What my friends think I’m doing...

15 of 56

What my manager thinks I’m doing...

16 of 56

What I’ll try to do is...

17 of 56

WHAT DOES A

LEAD DEV DO?

17

Constantly helping the team

in achieving their goals.

18 of 56

BUT HOW?

18

19 of 56

BUT HOW?

19

Different companies, different roles,

different rules. But here’s the point.

20 of 56

By joining forces

  • Making team from a group of people.
  • Having a deep understanding of the business model.
  • Speaking openly and respectfully.
  • Talking both of stakeholders’ and teammates’ languages.
  • Making new connections.

20

21 of 56

By motivating people

  • Being compassionate about team health.
  • Understanding what motivates people.
  • Knowing when to go or when to slow.
  • Showing example in many ways.

21

22 of 56

By having a plan

  • Knowing what’s next.
  • Has a long-term vision for the codebase.
  • Understanding why and how to get there.
  • Being prepared for the worst case scenario.

22

23 of 56

By keeping things tidy

  • Moving obstacles away before the team gets there.
  • Maintaining a good team health with others.
  • Saying no for spooky user stories.
  • And saying no for unacceptable deadlines.

23

24 of 56

By helping others grow

  • Helping juniors on their way to be seniors.
  • Helping POs, PMs or any non-technical people.
  • Making decisions together with stakeholders.
  • Answering questions.

24

25 of 56

Here are my 6 most important lessons.

I’VE LEARNED MANY THINGS WORKING AS A LEAD DEV.

26 of 56

I have to make time for plenty of things which

needs a great time management skill set.

I AM THE BOSS OF

MY OWN CALENDAR

27 of 56

A group of people is almost always making a better decision than an individual one.

I MUST ENCOURAGE TEAM DECISIONS

28 of 56

But it is a must have skill to learn.

SAYING “NO” IS MIGHT BE THE HARDEST THING

29 of 56

I definitely don’t work for my boss.

I WORK FOR MY TEAM

AND MY USERS

30 of 56

For what’s next and for what’s not.

I ALWAYS HAVE TO

BE PREPARED

31 of 56

I SHOULD NOT BE A…

32 of 56

That’s really cool! Here are a few tips.

YOU ARE GOING TO BE�A LEAD DEVELOPER?

33 of 56

Trust me, you can easily find yourself in the situation of spending your days in meeting rooms.

SPEND AT LEAST 50% OF

YOUR TIME CODING

34 of 56

35 of 56

If some code is ugly, but is working just fine and doesn’t get in the way of anything, don’t change it.

REFACTORING SHOULD NOT BE YOUR MISSION

36 of 56

37 of 56

Usually just before you arrive to the office on Monday.�Or Friday evening after you had a few drinks.

BEWARE: IF IT CAN BREAK, IT WILL BREAK

38 of 56

Most viable products are good, but do it right.

Start it with small. If it works, make it better. Repeat.

AN MVP IS ONLY GOOD

IF IT’S A REAL MVP

39 of 56

40 of 56

Especially on legacy code. Changing one small thing in the code could cause huge problems.�So be careful and write tests. Lots of them.

BUTTERFLY EFFECT

IS A REAL THING

41 of 56

99 little bugs in the code,

99 little bugs.

Take one down, patch it around…

127 little bugs in the code!

42 of 56

Your job is to understand what business needs

and figure out a solution that works for everyone.

42

BUSINESS IS YOUR FRIEND, NOT YOUR ENEMY

43 of 56

WHAT ARE THE METRICS OF SUCCESSFUL LEAD DEV?

43

44 of 56

WHAT’S THE METRICS OF �A SUCCESSFUL LEAD DEV?

44

Well written code, green builds, smooth releases, motivated team…

45 of 56

WHAT’S THE METRICS OF�A SUCCESSFUL LEAD DEV?

45

…but most importantly:

a resultful team with people proud of their work.

46 of 56

HOW TO BE SURE, YOU’RE DOING IT THE RIGHT WAY?

46

If you can monitor code quality,

you can monitor team health as well.

47 of 56

SQUAD HEALTH CHECK

48 of 56

DON’T BE AFRAID

TO ASK FOR FEEDBACK

49 of 56

For Lead Developers, for soon to be Lead Developers and for anyone who want to know more about what the hack does

a tech lead with any kind of title doing.

A FEW BOOKS I RECOMMEND

50 of 56

Michael Lopp

50

MANAGING HUMANS

51 of 56

Patrick Kua

51

TALKING WITH

TECH LEADS

52 of 56

Josh Tyler

52

BUILDING GREAT SOFTWARE ENGINEERING TEAMS

53 of 56

  • Don’t neglect soft skills. Those are important and hard to learn.
  • You should helping your team creating value for your users.
  • It is easier to win one step at a time.
  • Fixing everything should not be your mission.
  • Time is always the most valuable “thing”.
  • Sometimes, you have to say no.
  • Be open.

SO HERE ARE THE KEY TAKEAWAYS

53

54 of 56

Theodore Roosevelt

26th President of the United States

THE ONLY MAN WHO MAKES NO MISTAKES IS THE MAN WHO NEVER DOES ANYTHING.

54

55 of 56

Thanks!

Questions?

mefi@mefi.be / @mefiblogger

Template from Slidescarnival, photos are mine,

except on #21 which is from Pixabay.

55

56 of 56

I WORK HERE

  • Hungary’s market leading real estate listing portal
  • I’m working with a very talented group of 50 engineers.
  • Our goal is simple: help people finding their new home.
  • I was working as a lead developer for 3 years.
  • Currently leading a team of 7 people including�Engineering Managers, Architects and Scrum Masters.

56