View on GitHub

Notas de aprendizajes

Notas tomadas durante mis experimentos y otras cosas

Codemotion 2017 notes in English

Talks

Let’s be hipsters, let’s think Serverless

Serverless = do not think about the infraestructure (isn’t it a IaaS, PaaS or a SaaS?). Infraestructure is managed and admin by a third party, usually event oriented.

Azure serverless services: cognitive (machine learning,…), storage, databases, event bus, functions

Azure functions are made of:

Clean architecture

He explained evolution is server architecture: monolith, 3 layers, N layers, MVC, CQRS, Clean,…

Clean architecture is basically the Hexagonal architecture. The most important concept is Dependency Inversion and Inversion of Control.

He showed a new architecture: space-based architecture. It looked like a distributed one. I didn’t understand the concept really well.

Component oriented Progressive Wep Apps with Vue.js

He explained what PWAs are, and what they’re made of: https, responsive design, service workers, web push notifications, web app manifest, offline first, caching,…

App Shell concept: the minimum resources for your app to work offline. Dynamic content might be loaded from server or browser cache.

Web Push Notifications: use the browser API to show push notifications to users as if they were native in mobile devices.

There is a template using Vue.js that includes the code to create a basic PWA (service workers, some data caching, webpack config,…) (https://github.com/vuejs-templates/pwa)

Comfort zone awakes

She talked about several phases to go out of the comfort zone:

Workshop: easy testing with docker, manage dependencies and unify environments

I learn a little bit about how to use docker: commands (docker run, docker images, docker ps, docker rm) and parameters:

With docker you do NOT pollute your environment (you can have different versions of your tools: php, apache,…)

Some issues with docker: user rights (it’s executed as root), docker-in-docker Vs docker-siblings, share files, share results

We should start using Pipelines in Jenkins

Jenkins plugin: Docker pipelines plugin: makes really easy use docker from Jenkins: it manages user rights, create/delete containers, share files,…

What rules should be broken to make your dev team the fastest

He talked about three (kind of) velocities:

  1. Hackathon: go as fast as possible (where qualilty is the least important issue)
  2. Banks: slow, with lots of resources, known direction (overengineering, overcomplicating problems, enterprise,…)
  3. Startup: where people is opening the road in the jungle, with a more or less clear objective, but without a known path

All products should have a Product Manager, who decides what to do and where to go (road-map). The target should be clear for all the people in the team.

Do the bare minimum to go to the target. No meta-work. Be practical, be aware of abstractions, don’t make up them.

I would like to highlight some quotes:

The user is more important than: optimize, abstract, reuse, automate.

Time-suckers: we should solve the root cause of the problems, not (only) their consecuences

Coordination requires transparency. Everybody in the team must know about what others are doing

Ship, ship, ship: release as soon as possible to production, get feedback as soon as possible

Everybody should have the user in mind

He finally talked about motivation, slack time, research, small projects to experiment

What’s a senior developer?

First, he started with what’s NOT a senior dev? It’s not if a title says so, or if the developer is expensive, or if she writes code nobody understand, or if she works for the company for a long time.

A senior dev doubts about processes, practices and dogmas, she speaks outloud, she provides data that prove her theories.

Senior means maturity

Personal principles:

Useful rules to work withing a team: listen to and learn from everybody, lead by example (be proactive), teach others, offer for help, doubt about processes, provide solutions, not just problems, help improving the company culture.

Senior plan their carrer, the chose the next step in their carrer paths.

The IT worker

With IT worker he means not only developers, but anybody that works with information.

There was nothing to learn specifically in this talk, because it wasn’t a technical one. It could be seen as the closing talk of the event. It was that kind of talks, with more questions than answers:

New ideas to (think about) “implement”