52: Celui qui faillit parler de Docker

Errata

La semaine dernière, j'ai appelé Nucleus l'IDE de FB pour iOS/React Native basé sur Atom. Un auditeur du podcast, un certain Jeffrey Macko, m'a fait savoir que l'IDE en question s'appele en fait Nuclide. Et parce que c'est basé sur Atom, ce n'est pas réellement un IDE, mais un simple plugin/greffon. Voilà, là, on est exact :)

Les liens

  • Il y a quelques jours, Apple a comblé une faille en urgence. 0-day et permettant d'installer des spywares, cette faille, maintenant corrigée, n'a pas pour autant été dévoilée. Stephan Esser, de la société SektionEins, propose un pas-à-pas pour découvrir cette faille en analysant le patch de sécurité d'Apple. Lien
  • Si vous avez du mal à supporter vos collègues dans l'open-space, consolez-vous en pensant à cette équipe de six scientifiquse (dont un français) qui vient de passer un an en isolement total, pour simuler une vie sur Mars et étudier la vie communautaire en confinement. Si ça ne vous impressionne pas, le record pour ce type de mission est détenue par une expérience russe, toujours avec 6 personnes mais ayant duré 520 jours ! lien
  • C'est une news antérieure au vol de la toolbox de piratage de la NSA dont nous vous parlions la semaine dernière, mais ça reste drôle: Microsoft a un mécanisme de sécurité (Secure Boot) intégré au firmware pour vérifier que l'OS qui va être chargé est signé comme il faut. Et bien des chercheurs ont trouvé une faille permettant d'installer n'importe quel OS. Lien
  • L'AppStore se nettoie et c'est tant mieux. Une nise à jour des "guidelines", recommandations, les rend plus claires mais la grande annonce, c'est qu'à partir de mercredi prochain, le jour de l'annonce de l'iPhone 7, Apple procèdera à une inspection des apps sur l'AppStore et contactera les développeurs dont les applications ne sont plus d'une qualité suffisante. Si aucune action n'est entreprise par le développeur, Apple retirera l'application du Store. Lien. Lien
  • Alors qu'on attend toujours Xcode sur iOS, Continuous, un IDE C# et F# existe et semble avoir toutes les fonctionnalités qu'on est en droit d'attendre d'un IDE: complétion de code, debugger et, ça peut sembler bizarre à préciser, sans connexion internet. Car oui, ce n'est pas un truchement utilisant un client VPN pour compiler sur une machine distante, c'est un vrai IDE, complet et fonctionnel. Petit détail intéressant, l'app pèse 132Mo. Facebook sur iOS pèse 260Mo Lien

Le sujet

Docker.
Oui, Breakpoint est un podcast fait par un dev iOS fait pour les devs iOS sur le dev iOS.
Oui, on a déjà parlé de Docker dans l'épisode 45.
Oui, effectivement, les derniers sujets ne sont pas 100% iOS et il y a plusieurs raisons à cela.

Du coup, avant de parler de Docker, je me permets une petite parenthèse.

La première raison, et la plus évidente, est qu'un sujet technique est extrèmement compliqué à traiter dans un podcast audio. Entre le fait que vous soyez dans les transports en commun ou en train de repasser vos chemises, que vous n'ayez pas forcément de quoi noter ou visualiser ce qui est dit ou tout simplement que l'explication n'est pas assez claire ou trop rapide, parler de Protocol Oriented Programming en Swift ou d'expliquer un git bisect, c'est pas facile.

Un podcast vidéo est plus simple car il y a l'image comme support et surtout, un podcast vidéo, ça se regarde, comme disait Lapalisse, et donc cela implique plus de concentration de la part du spectateur.

La deuxième raison pour laquelle je diversifie les sujets est que regarder ce qui se fait à côté ne fait jamais de mal. Qu'on parle de Docker, Android, React Native ou Haskell, au final, ce qui compte, ce sont les concepts. Et si possible, de voir comment les appliquer dans notre code quotidien.

Enfin, troisième raison est que je pense que le dev iOS est en train de quitter son âge d'or. Alors oui, iOS reste une super plateforme, Swift 3 qui vient d'être finalisé nous promet de beaux jours, iOS reste la plateforme la plus lucrative et elle nous permet de travailler avec, en partielle objectivité, les plus beaux appareils au monde (Mac, iPhone, iPad, et Apple Watch). Non, je n'ai pas oublié l'Apple TV dans cette liste, c'est juste que je l'y ai pas mis ^_^

Disclaimer: ceci est uniquement de la discussion de comptoirs, i.e. je n'ai aucun chiffres pour étayer mon raisonnement.

Mais je persiste à penser que l'âge d'or pour les développeurs iOS est en train de se finir. Le nombre de développeus iOS augmente, et pas uniquement avec des ingénieurs en informatique. Que ce soit bien clair, je trouve que c'est une très%s bonne chose que n'importe qui puisse se former, seul ou via un MOOC, et montrer par ses résultats qu'il ou elle peut produire du code solide. Donc l'offre en terme de développeurs iOS augmente. La demande également, mais cette nouvelle demande est captée par des cochonneries telles que les app hybrides, les solutions telles que React, voire carrément ce que propose Xamarin.

On est loin de l'armagueddon. Il continuera à avoir des offres d'emplois pour du pur dev iOS natif mais une autre demande existe et elle prendra de plus en plus d'importance. Et si ce changement dans la demande peut être très rapide (au hasard d'une refonte architecturale ou du lancement d'une nouvelle app), le changemet dans l'offre est beaucoup moins réactif.

Parce que si on est un minimum honnête, càd qu'on n'est pas pas un commercial d'une SSII, on ne peut pas ajouter "React" ou "Scala" sur son CV sur un coup de tête, juste pour avoir un entretien. Ça ne marche heureusement pas comme cela.

Alors là, je n'invente rien, le bouquin Pragmatic Programmer, sorti il y a 17 ans, recommande:

  • d'apprendre un langage par an
  • de lire un bouquin technique par trimestre
  • de lire des bouquins non-techniques
  • de tester des outils différents
  • de faire de la veille

Ceci étant dit, je pense que vous pourrez finir votre carrière pépère en vous contentant du minimun et en restant dans xcode. Mais je pense également que demain, les projets les plus intéressants seront pour les devs multi-compétents. D'où l'intérêt, à mon humble avis, pour un dev iOS d'apprendre Docker, ou du back-end, plutôt que Android ou React. Car Android et React restent malgré tout du mobile.

Et bien que la mode du devops semble s'être calmée, via des outils tels que docker, parce que Swift se met à exister du côté serveur, je ne vois pas ce qui empêchera le dev iOS de demain, donc qui utilise Swift, de déployer l'app iOS sur le Store et le backend afférent dans la foulée.

Du coup, avec cette introduction un peu longue pour le sujet du jour, on arrive déjà à la fin de l'épisode. Je vous re-re-reparlerais donc de docker dans l'épisode 54 de BP.

A vot' bon cœur m'sieur-dame

Le lien du podcast sur iTunes