Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Courage to create a career in Mobile Development

Courage to create a career in Mobile Development

My personal journey and some of the lessons I learned along the way. I emphasize best practices in building Android apps, Kotlin's advantages, writing Clean Code, and creating an achievable learning plan.

Magda Miu

April 24, 2021
Tweet

More Decks by Magda Miu

Other Decks in Programming

Transcript

  1. @magdamiu About me • Squad Leader Developer @YOXO • Android

    Google Developers Expert • Trainer & Speaker • Co-organiser GDG Pitesti & WTM Bucharest
  2. @magdamiu Employment history Web Developer Aug 2010 - Oct 2010

    Android Developer Nov 2010 - Aug 2015 Android Technical Lead Sept 2015 - Dec 2019 Squad Lead Developer Jan 2019 - Present GDE Android Feb 2019 - Present
  3. @magdamiu • DRY - Don’t Repeat Yourself ◦ Applicable whenever

    we copy / paste a piece of code • KISS - Keep It Simple and Stupid ◦ Whenever we want to implement a method to do all things • YAGNI - You Ain’t Gonna Need It ◦ Don’t write code which is not yet necessary • SOLID ◦ Single responsibility (SRP) ◦ Open-closed (OCP) ◦ Liskov substitution (LSP) ◦ Interface segregation (ISP) ◦ Dependency inversion (DIP) Design Principles
  4. @magdamiu • General-purpose • FP + OOP • Open source

    (Apache 2.0) • Developed by JetBrains • Static typing What is Kotlin?
  5. @magdamiu *.kt *.java Kotlin compiler Java compiler *.class *.jar App

    Kotlin runtime Kotlin is 100% interoperable with Java
  6. @magdamiu System System Command Query Output System Changed state Output

    (result) Changed state Output (result) Command Query Separation
  7. @magdamiu Android Jetpack UI Jetpack Compose Foundation AndroidX, Android KTX

    Architecture LiveData, ViewModel, Lifecycle, Room, Navigation, Paging, Hilt Behaviour Slices, Security, Permissions
  8. @magdamiu The “process” SWOT Where I am now Retro How

    it was and what’s next OKRs What I want to achieve Review What I achieved 01 02 04 03
  9. @magdamiu Personal SWOT Analysis Strengths Advantages like: skills, achievements, certifications,

    education, connections Weaknesses Skills that should be improved (technical or work habits) Opportunities Events, conferences, new role/project, industry growing Threats Impediments at work, changes, weaknesses lead to threats S O W T Here you can evaluate your profile
  10. @magdamiu OKRs (Objectives and Key Results) OKR 1 OKR 2

    Key Result 1 Key Result 2 Key Result 1 Key Result 2
  11. @magdamiu Superpower Focus and commit to priorities Superpower Align and

    connect with your goals Superpower Track for accountability 1 2 3 OKRs superpowers 4 Superpower Stretch for amazing
  12. @magdamiu OKR sample Learn Kotlin for Android Development 6 months

    / weekly review Quantity Goal Quality Goal Result 1 Kotlin Koan per week Learn specific features of the language => 1 feature / week Exercise often and on a set of Koans proposed by JetBrains Write one detailed article about a specific topic per month Improve my writing skills and learn by teaching to others Learn new things, help the community and get feedback 3 code samples runned per week Get a repo with samples that I can re-check (use ktlint) Gain real experience in programming using Kotlin
  13. @magdamiu • Score your results • Keep notes of your

    accomplishments • Look for feedback because development is continuous • Surround yourself with people who motivate and inspire you • Find a mentor Review process
  14. @magdamiu • Did I accomplish all of my objectives? ◦

    YES => what contributed to my success? ◦ NO => what obstacles did I encounter? • Understand what is your WHY • Repeat the process Retrospective
  15. @magdamiu How to stay up to date 📃Official Documentation from

    Google 🌐Blogs and Websites 💻Code Examples (Codelabs & GitHub) 📰Newsletters 📚Books & Online Courses 🎞Videos & Youtube Channels 📻Podcasts 󰞵󰠁Twitter 🎤Conferences & Meetups 🚨Troubleshooting
  16. @magdamiu What Guides Me • Set objectives and track the

    progress • Focus on your strengths • The best gift is confidence • Find a mentor to boost your career • Learn to say NO • Good enough is better than perfect • If it’s difficult, take a break, and start over Lessons Learned