Professional
Software
Engineers
Puja Pramudya
Sr Engineering Manager Bukalapak
Agenda
Story about Spaceship
What is Professionalism
Onboarding: Your First 90 Days
Become Professional Software Engineers
Discussion
Engineering Quality Matters
Professionalism
It’s a lot easier to be a
nonprofessional
How to be Professional ?
● Do No Harm to Function
● Do No Harm to Structure
● Work Ethic
90 Days Plan for New Software Engineer
This page intentionally left blank
Practicing
Musicians rehearse scales. Football players
run through tires. Doctors practice sutures
and surgical techniques. Lawyers practices
arguments. Sodiler rehearse missions.
When performance matters, professionals
practice.
Coding Dojo
Broadening Your Experience
1. Open Source
2. Practice Ethics
Time Management
Eight hours is remarkably short period of time
It’s only 28.800 seconds.
We expect that we will use those few precious seconds as efficiently and
effectively possible
Meetings
Meetings cost about $200 per hour per attendee
Meeting:
1. Meetings are necessary
2. Meetings are huge time wasters
Do not attend every meeting. One of the most
important duties of your manager is to keep you
out of meetings.
Pomodoro Technique
You set a standard kitchen timer for 25 minutes
While that timer is running, you let nothing interfere with what you are doing
After 25 minutes, take a break of five minutes
It could be 14 time slot each day
Acceptance Testing & Testing Strategies
Communicating Requirement
Acceptance Test: communication, clarity and precision
Professional developers test their code.
QA should find nothing
Test Automation Pyramid
100% coverage is not practical
TDD is a powerful discipline
Pressure
How do you want a surgeon to behave ? Appear calm or want him sweating &
swearing ?
Professional developer is calm and decisive under pressure.
Avoiding pressure:
1. Commitments
2. Staying Clean : Don’t leave technical debt
3. Crisis Discipline, don’t change your behaviour when the crunch comes
Collaboration
Most software is
created by teams.
Apprenticeship
Medical profession has developed
a discipline of intense mentoring.
It’s true that there are relatively few
death caused by software bugs.
But there are are significant
monetary losses.
Somehow, the software
development industry has gotten
the idea that programmers are
programmers, and that once you
graduate you can code.
Apprenticeship
School can teach the theory of computer
programming. School does not and cannot
teach the discipline, practice, and skill of
being a craftsman.
Those things are acquired through years of
personal tutelage and mentoring.
Long Term Guidance
Guiding the next batch of software
developers to maturity will fall to us, not to
the universities.
It’s time for us to adapt a program of
apprenticeship, internship, and
long-term guidance
#FinoAllaFine
Professional
Software
Engineers
Puja Pramudya
Sr Engineering Manager Bukalapak

Professional software engineers

  • 1.
  • 2.
    Agenda Story about Spaceship Whatis Professionalism Onboarding: Your First 90 Days Become Professional Software Engineers Discussion
  • 3.
  • 4.
    Professionalism It’s a loteasier to be a nonprofessional How to be Professional ? ● Do No Harm to Function ● Do No Harm to Structure ● Work Ethic
  • 5.
    90 Days Planfor New Software Engineer This page intentionally left blank
  • 6.
    Practicing Musicians rehearse scales.Football players run through tires. Doctors practice sutures and surgical techniques. Lawyers practices arguments. Sodiler rehearse missions. When performance matters, professionals practice.
  • 7.
  • 8.
    Broadening Your Experience 1.Open Source 2. Practice Ethics
  • 9.
    Time Management Eight hoursis remarkably short period of time It’s only 28.800 seconds. We expect that we will use those few precious seconds as efficiently and effectively possible
  • 10.
    Meetings Meetings cost about$200 per hour per attendee Meeting: 1. Meetings are necessary 2. Meetings are huge time wasters Do not attend every meeting. One of the most important duties of your manager is to keep you out of meetings.
  • 11.
    Pomodoro Technique You seta standard kitchen timer for 25 minutes While that timer is running, you let nothing interfere with what you are doing After 25 minutes, take a break of five minutes It could be 14 time slot each day
  • 12.
    Acceptance Testing &Testing Strategies Communicating Requirement Acceptance Test: communication, clarity and precision Professional developers test their code. QA should find nothing
  • 13.
    Test Automation Pyramid 100%coverage is not practical TDD is a powerful discipline
  • 14.
    Pressure How do youwant a surgeon to behave ? Appear calm or want him sweating & swearing ? Professional developer is calm and decisive under pressure. Avoiding pressure: 1. Commitments 2. Staying Clean : Don’t leave technical debt 3. Crisis Discipline, don’t change your behaviour when the crunch comes
  • 15.
  • 16.
    Apprenticeship Medical profession hasdeveloped a discipline of intense mentoring. It’s true that there are relatively few death caused by software bugs. But there are are significant monetary losses. Somehow, the software development industry has gotten the idea that programmers are programmers, and that once you graduate you can code.
  • 17.
    Apprenticeship School can teachthe theory of computer programming. School does not and cannot teach the discipline, practice, and skill of being a craftsman. Those things are acquired through years of personal tutelage and mentoring.
  • 18.
    Long Term Guidance Guidingthe next batch of software developers to maturity will fall to us, not to the universities. It’s time for us to adapt a program of apprenticeship, internship, and long-term guidance
  • 19.
  • 20.