DevOpsPorto Meetup19: Python as a tool for experimenting by Leonid Kholkine

DevOpsPorto Meetup19: Python as a tool for experimenting by Leonid Kholkine

Talk delivered by Leonid Kholkine

A2c14a1c4e16aa337c7d36abe7d1cf8f?s=128

DevOpsPorto

August 01, 2018
Tweet

Transcript

  1. >> from idea import reality Leon Head of Engineering @

    Tonic App
  2. Who am I? >> Believe that we are still at

    0.01% potential of technology >> A lazy type of engineer >> Love photography >> Ran a marathon >> I code stuff @ tonic app
  3. What are we talking about today? 1. “I have an

    idea for a product, what do I do?” 2. “Cool! But I don’t think that exact idea works :(“ 3. “OMG! That’s the one! What’s next?“
  4. “Tonic App aggregates your most useful medical tools and has

    a secure case discussion platform. “
  5. ” You know what could be great? It’s that if

    I could have all the medical calculators in a mobile app! ” - A Medical Doctor
  6. 1. “I have an idea for a product, what do

    I do?”
  7. >> MVP

  8. MV - Whut?! Minimum Viable Product “Version of a new

    product which allows a team to collect the maximum amount of validated learning about customers with the least effort” -- Lean Startup
  9. None
  10. ” You know what could be great? It’s that if

    I could have all the medical calculators in a mobile app! ” - A Medical Doctor
  11. MV - Whut?! >> Three simple calculators >> Simplest mobile

    design we could think >> Log user actions
  12. MV - Whut?! >> Three simple calculators >> Simplest mobile

    design we could think >> Log user actions … One week & engineer later ...
  13. None
  14. Lesson Learned >> Due to the nature of python, you

    can write code faster;
  15. public class Employee { private String myEmployeeName; private int myTaxDeductions

    = 1; private String myMaritalStatus = "single"; //--------- constructor #1 ------------- public Employee(String EmployeName) { this(employeeName, 1); } //--------- constructor #2 ------------- public Employee(String EmployeName, int taxDeductions) { this(employeeName, taxDeductions, "single"); } //--------- constructor #3 ------------- public Employee(String EmployeName, int taxDeductions, String maritalStatus) { this.employeeName = employeeName; this.taxDeductions = taxDeductions; this.maritalStatus = maritalStatus; } ... class Employee(): def __init__(self, employeeName , taxDeductions=1 , maritalStatus="single" ): self.employeeName = employeeName self.taxDeductions = taxDeductions self.maritalStatus = maritalStatus ...
  16. Lesson Learned >> Due to the nature of python, you

    can write code faster; >> The learning curve is not that big for someone with software engineering experience;
  17. 2. “Cool! But I don’t think that exact idea works

    :(”
  18. None
  19. “Python is the swiss army knife of programming languages”

  20. 3. “OMG! That’s one! What’s next?”

  21. What’s next? >> Develop further your idea! >> Hire software

    engineers >> Ramp-up the engineers into your project
  22. What’s next? >> Develop further your idea! >> Hire software

    engineers >> Ramp-up the engineers into your project >> Python is easy to learn (bigger pool of talent) >> Python is easy to read (faster ramp-up)
  23. Medical Calculators @ Tonic App >> Calculator engine >> Analytics

    >> Tests >> Indexed >> And many more feature to come
  24. "Python where we can, C++ where we must"

  25. "Python where we can, C++ where we must" @ Google

  26. Leonid Kholkine >> @leonidkho >> linkedin.com/in/kholkine >> leonid@tonicapp.com >> http://www.tonicapp.com/jobs