1. resep menjadi Rockstar Developer
Rendra Toro
Intel Innovator Software Developer
BlackBerry Elite Developer
Application Development Manger OLX Indonesia
rendrat@gmail.com
rendra@olx.com
1
2. 2
Pendidikan Formal
• SMA 5 Bogor, jurusan IPA, lulus 1997
• Politeknik Universitas Indonesia Jurusan Teknik Mesin, konsentrasi Mechatronic
lulus 2002
• STMIK SWADHARMA Jakarta, Jurusan Teknik Informatika, lulus 2011
3. 3
Pendidikan Non Formal
• Mulai Belajar Coding kelas 5 SD menggunakan QBasic
• Training FESTO DIDACTIC Mechatronic 1999
• Training BlackBerry Enterprise Server Essential and Comprehensive 2010
4. 4
Definisi RockStar menurut
Wikipedia
• Seorang anggota dari band rock, atau artis solo di genre, terutama satu
orang dengan status selebriti.
• (Kiasan, kadang-kadang digunakan sebagai atributif) Seseorang yang
terkenal atau dihormati di bidang prestasinya.
6. 6
Coder VS Developer
! Semua orang bisa coding.
! Sebagian dari kita bahkan brilliant coder.
! Sebagian dari kita itu GEEKS.
! Sebagian dari kita mampu memecahkan masalah komputer yang sulit.
! Tapi tidak semua dari kita adalah developers.
Coders code
Developers Deliver
7. 7
Delivery Matters
! Berapa orang dari kita yang membuat project tapi tidak menyelesaikannya ?
! Berapa pula yang mengerjakan project tapi tak pernah di deploy atau di
publish ?
! Berapa pula yang project nya sudah di deploy atau publish namun tak
pernah di gunakan oleh user atau orang yang membutuhkannya ?
You will never learn to deliver until you join the industry
BUT
You may not learn to deliver even after joining
8. 8
A Software is delivered
when it
! Works under worst case scenario
! Provides user a comforting User eXperience (Ux)
! Solves the actual business problem
! Can handle scalability
! Has proper and detailed documentation
! Can be iteratively improved
! Can be changed with less cost
! Can be modified and maintained by a person who did not originally
developed it
9. But
may not look like this
A RockStar Developer deliver with Style
12. 12
Train your brain
! Learn algorithms as many as you can. Implement a
few.
! Can you run a multiple recursion in your brain?
! Sit and think before writing code
! Read complex stuff, make an habit to digest things
that are hard to swallow.
13. 13
OOP and Design Pattern
! Industry runs on OOP.
! Learn to think in objects not in methods
! SOLID principal, get a strong hold on it. SOLID is Single
responsibility, Open-closed, Liskov substitution, Interface
segregation and Dependency inversion.
! Read GoF (God of Four) “Design Patterns: Elements of Reusable
Object-Oriented Software"(Erich Gamma, Richard Helm, Ralph
Johnson and John Vlissides). Build a pattern vocabulary.
14. 14
Refactoring and Code Smell
! Love coding, not the code. Code rots. Code smells.
! Refactor codes to get rid of code smell
! Refactoring is a technique, it’s a skill. You have to
learn it by practicing it.
! Its vocabulary, learn to talk in the language of patterns
and refactoring.
15. 15
Maintainable Code
! Use coding standard. Use IDE plug-in that enforce
standard.
! Use understandable descriptive naming.
! Write less comment, explain “why” not “what”.
! Follow one of style code for your platform.
16. 16
Source Control
! Never, ever work without a source control. Not even
when you are working alone.
! Learn to merge.
! Use a distributed version control such as Git or
Mercurial.
17. 17
Unit Testing and
Continuous Integration
! This is a decisive line, Rockstars writes tests.
! Use a CI system, let the compiler do the hard work
every time you commit.
18. 18
Pick a side and dig deep
! Choose a technology platform, become an expert on
that.
! Know very deeply how that platform works, how it was
built, how it works internally.
! If you work on Tizen, go deep and proof yourself as a
master on Tizen
20. 20
User Experience
! Accept the fact that you cannot do the UI yourself.
! Learn about Ux and usability
! Read About Face 3: The Essentials of Interaction
Design
21. 21
Read Daily and Adopt early
! At least follow 5 blogs
! Know all the famous people in your platform, follow
them, read them.
! Adopt any new technology in your platform as soon as
it is released as alpha or preview.
22. 22
Kenyataan di lapangan
! Belajar menjadi RockStar tidak bisa dirumah saja
! Bekerja pada sebuah perusahaan yang ada RockStar
nya
! Banyak RockStar yang susah diajak kopi darat
23. 23
It’s a mine field out
there
! MOST of the Companies does not give a damn about your
! Career
! Knowledge
! Personal Growth
! Social Life
! Family
They just want you to get their job done.
Period.
24. 24
You are on your own
! You have to keep learning
! New technology
! New practices
! New standards
! New language
25. 25
7 questions to ask before you
join a company (other than how much salary they pay you)
! Do you use source control? Which one?
! Do you use any methods such as Scrum to develop?
! Do you have a CI system?
! Do you have senior developers who will work as my mentor?
! Do I work alone or in a team?
! Do you have Quality Assurance team?
! Do I have to work over hours? In weekends?
26. 26
Freelancing damage your
career
! Do not decide to freelance only. Becoming a
Rockstar developer is all about working with other
Rockstars .
! Freelancing does not have commitments, does not
allow you to execute best practices.