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

visiting Codemotion 2018 (tech talk for colleag...

Marianna Diachuk
November 30, 2018
32

visiting Codemotion 2018 (tech talk for colleagues)

In terms of this tech talk for my colleagues, I spoke of the experience of visiting Codemotion 2018 and tools and practice we could use in development.

Marianna Diachuk

November 30, 2018
Tweet

Transcript

  1. “Classic development revolves around if / else clauses and loops.

    Machine Learning revolves around hyperparameters and data pipelines”. AI with devops mindset
  2. “Continuous Integration and continuous deployment in Machine Learning is necessary

    and it's not easy. But continuous evaluation is more important than CI / CD”
  3. Continuous evaluation of ML models • Daily (?) time series

    charting of used metric (AUC, Gini and etc.) - to track model performance, seasonality trends • Constantly compare distribution of features to initial dataset • A/B testing • Data aggregation runtime, model runtime, deploy bugs
  4. “Sometimes, the model training procedure may use a different metric

    than the evaluation. This can happen when we are reappropriating a model for a different task than it was designed for.”
  5. ML extra problems • Data pipeline won’t scale • Local

    development & local data & lack of versioning • A lot of rework “Local data science is dead.”
  6. Pitfalls in microservice integration “System failures are not customers problems

    so they require concise message”. synchronous message - for user, asynchronous error message for the system
  7. Pitfalls in microservice integration • Idempotency of services - calling

    the service several times in a row is ok • Using messages like “don't close browser, window etc” is bad practice
  8. Deadly sins of web security • Penetration testing is a

    must! (especially with big data) • Developers should be attentive as well https://snyk.io/ - check libs & packages versions for vulnerabilities
  9. Has anyone else seen your code? “Do not rely solely

    on senior dev code review. Encourage juniors to review your code, you may learn something too.”
  10. Code reviews ++ • Code reviews make everybody know the

    code, improve coding culture, status updates get faster with time • Code reviews provide shared responsibility - when something happens blame is spread and you can go straight to fixing the problem
  11. Technical leadership “Never compromise culture and quality in hiring new

    employees, better to be slow than that.” • Transparency and trust is a must - the team should know what goes wrong • Distributed responsibilities - frequent releases but from different teams, n% of time for refactoring and side projects • All team members are part of a road map for being involved in creating a real product
  12. Diversity & technical leadership “Diversity is about being invited to

    the party. Inclusion is being welcomed here”. Diverse teams bring more broad perspectives to problems solutions. Diversity is not only about HR team it’s about everyone in the company. Quotas for hiring women are just the means for the goal but it doesn’t mean that diversity is completed.
  13. Additional resources (DS & ML) Data pipelines for data science

    projects from scratch Data pipelines in Serverless Era Evaluating ML model 3 ways biased data can ruin your model Dashboards analytics Building DS team
  14. Additional resources How to implement business transactions using Microservices. Saga

    pattern Tech blog about microservice architectures Idempotency in service-oriented architecture How diversity makes us smarter