Argenteuillais démocrate… sans frontière

Aller au contenu | Aller au menu | Aller à la recherche

samedi 5 août 2017

Codeur junior

Quelques mots naïfs sur mon expérience de rookie de la programmation informatique !

J'ai fait l'essentiel de ma carrière dans la "sociométrie", la "modélisation économique", la "méthodologie statistique" et "l'évaluation de politiques publiques", bref, dans des métiers où il faut parler des gens (et aux gens) avec des chiffres, des métiers scientifiques mais où les ordinateurs ne tiennent qu'un rôle secondaire.

Mes connaissances scolaires et universitaires en informatique, un peu superficielles, se sont éventées, et les langages que j'avais appris (assembleur, Basic, Pascal, C, C++, CAML, Prolog) sont presque tous des langues mortes.

Mais depuis 2013, je travaille à temps partiel dans une start-up, où la grande majorité des collègues codent toute la sainte journée. Les schémas papier, explications verbales et autres idées de manoeuvre les laissent froids. Mes maquettes Excel et macros bidouille, mes relectures de code avec questions naïves, étaient tolérées avec charité… Il aurait fallu que je parle la langue commune, celle des machines.

Mais comment trouver le temps et la concentration d'apprendre une nouvelle langue, dans le rythme saccadé de la start-up ?

Le ralentissement de juillet-août m'a enfin permis de me lancer, sur un projet important et qu'aucun collègue n'avait le temps de coder. J'étais au pied du mur !

Voici donc, en vrac, mes sensations.

D'abord la pesanteur, l'inertie énorme du truc. Pour réaliser la maquette Excel du produit, une journée avait suffi ; mais au bout d'une journée dans l'univers de Scala sur Intellij, je commençais à peine à comprendre à quoi servait chaque morceau de l'écran, et il avait aussi fallu ce temps pour que mes collègues informaticiens arrivent à trouver la bonne clé pour que j'accède aux données stockées sur nos bases Cassandra. Le Basic et le Pascal de ma jeunesse étaient des mobylettes qui démarraient au quart de tour ; maintenant, me voilà pilote de tracteur.

Ensuite, la surabondance. Toutes les fonctions développées par des millions de gens à travers le monde sont réutilisables, des "collections", des "libs", des "packages", des machins trucs je n'ai pas encore pigé les différences. Et quand on voit un mot dont on ne comprend pas ce qu'il fait là, Commande-B ouvre immédiatement le bout de code qui l'a défini, et qui, les bons jours, est commenté par l'auteur. Dans mon jeune temps, on programmait en suivant un sentier que l'on traçait soi-même. Maintenant, on active l'un après l'autre les boutons d'un immense cockpit.

Après, la qualité des guides. Les bons guides allient la compréhension profonde du langage, et la compréhension profonde de l'humain qui va devoir l'utiliser. J'ai eu le sentiment de pouvoir faire toute confiance à Nadim Bahadoor et Alvin Alexander. Les mauvais guides abondent. Leur refrain est "Vous pouvez faire tout ce que vous voulez". Ils se reconnaissent facilement, c'est heureux : aux fautes de typographie dans les exemples, ou aux noms de variables bâclés.

Après vient l'exigence. Le sentiment, l'expérience aussi, que le moindre relâchement coûte cher. J'avais appelé vite fait "indexMax" le nombre d'éléments d'un tableau. Quand je l'ai proprement rebaptisé "machinSize", ça m'a fait sauter aux yeux la cause d'un bug récurrent — parce qu'en Scala comme dans d'autres langages, on compte les éléments à partir de 0, si bien que le dernier a le numéro machinSize-1, et l'avant-dernier (auquel je faisais appel) machinSize-2.

J'ai aussi perdu 4 heures, entre avant-hier et hier, à ne pas comprendre pourquoi tel résultat valait si souvent 0 — avant de réaliser que, quand je divisais 1 par 2, cela donnait forcément 0 puisque j'avais défini la variable qui valait souvent 1 comme un entier, avant de voir une utilité à la diviser par 2.

Vers 2014, j'avais travaillé, à temps très partiel, pour un studio de jeux vidéo. Une partie de ce que je concevais (le système d'enregistrement des actions du joueur) était ensuite "codée" par un informaticien du studio (Alexis, si tu m'entends, bravo encore). J'étais surpris par l'ambiance dans les rangées des devs, le calme : écouteurs bien sûr, doigts qui font tourner des crayons, longues minutes passées à regarder l'écran tourner. Je croyais me souvenir que de mon temps, on pissait du code au kilomètre ; que le plus rapide sur son clavier avait un sérieux avantage. Mais avec les langages d'aujourd'hui, je le voyais dans ce studio et je l'expérimente maintenant, on lit et on comprend plus qu'on ne tape. On mange du code, et il faut manger lentement. Une ligne en vaut cent.

C'est pourquoi le terme de code n'est pas si mauvais. Ça ressemble plus à un code (secret, magique) qu'à une langue, ou qu'à un programme au sens commun du terme. Même une formulation aussi simplette que "(aDateTime.getMillisOfDay / seasonDuration).toInt" fait appel à une douzaine de notions, non seulement informatiques mais juridico-physiques (les fuseaux horaires et les changements d'heure) ou économétriques (la saisonnalité).

Quand je fais ma compatibilité, à la fin de chaque ligne, je me sens rassuré d'avoir coché les cases, de ne pas être sorti du cadre. La ligne copiée-collée d'une ligne précédente est la meilleure de toutes, la plus sûre, la plus rassurante. En Scala, au contraire, chaque retour à la ligne me donne le sentiment d'avoir inventé, créé quelque chose, et pris un risque. Copier-coller fait honte. C'est le signe qu'on fait fausse route, que l'on est en train de mal concevoir, de dégrader, de fragiliser l'ouvrage.

Et à l'arrivée, merci les big data : le tracteur tracte. Le programme traite des centaines de milliers de données en un rien de temps — it breaks Excel, comme disait je ne sais plus qui. Comme il m'a fallu, non plus comme avec Excel gérer les données qui étaient sous mes yeux, mais gérer toutes les données qui pourraient arriver demain, j'ai dû prévoir une palanquée d'options et de réglages. Et cette palanquée me donne envie de vendre le truc avec l'argument : "Vous pouvez faire tout ce que vous voulez".

Ah zut, ce n'est pas le bon argument.

Le chemin, à peine, tu débutes, jeune padawan !

samedi 19 septembre 2015

Choc de simplification ? La simplification non, le choc oui

Suite du billet précédent !

Je découvre, épaté / écoeuré, que l'URSSAF nous met la pression, en jouant sur la légalité, pour nous faire accepter ce qui ressemble à une saisie permanente sur nos comptes bancaires !

Désolé si j'ai des mois de retard, mais on me l'aurait dit quand ça a été instauré, je ne l'aurais pas cru.

D'abord la bonne nouvelle : l'URSSAF m'a remboursé avant-hier l'excédent de cotisations versé ! Merci ! Je l'ai découvert en consultant mon compte bancaire ; ils n'avaient pas trouvé utile de répondre à ma demande, ni par mail, ni sur le boîte aux lettres du site urssaf. Peut-être recevrai-je un courrier papier histoire de combler le déficit de La Poste avec celui de la Séc Soc.

BAL_URSSAF_2015-09-19_a_12.00.32.png

Le RSI m'a envoyé le 7 septembre un courrier papier qui commence par "Vous venez de déclarer vos revenus professionnels 2014". Euh, ça fait plus de 4 mois ! Et le RSI (mais pas l'URSSAF) avait déjà pris en compte ma déclaration ! Je suppose qu'il n'y a rien à comprendre.

J'avais fait en août avec un jour de retard ma déclaration TVA désormais mensuelle (celle qui était annuelle auparavant — le choc de simplification) ; boum, 205 € de pénalités ; j'en avais demandé la "remise gracieuse". Je reçois hier un "avis de rejet gracieux" selon lequel :

Malgré un examen attentif de votre dossier, il ne m'a pas paru possible de réserver un accueil favorable à votre demande.

L'examen a dû être sacrément attentif. La preuve : il y a une griffe manuscrite pour signer le papier.

Et je reçois, toujours hier, le mail suivant de l'URSSAF :

(…) Pour nous contacter : Tél : 0811 011 637(0,12 € TTC/min)

Non, on ne peut pas répondre par mail : pas d'adresse de réponse.

Madame, Monsieur,

Les travailleurs indépendants non agricoles, dont le revenu professionnel pour l’année 2013 est égal ou supérieur à 19 020 euros, sont tenus d’effectuer par voie dématérialisée le paiement de leurs cotisations et contributions sociales depuis le 1er janvier 2015 (Décret n° 2014-1637 du 26 décembre 2014 relatif au calcul des cotisations et contributions sociales des travailleurs indépendants non agricoles).

Au regard de votre revenu de l’année 2013, vous êtes concerné par cette obligation que vous n’avez, jusqu’à présent, pas respectée.

Afin de ne pas être sanctionné, je vous invite à vous conformer dans les meilleurs délais à cette obligation en adhérant au télérèglement sur www.urssaf.fr. (…) Je vous rappelle que toute disposition doit être mise en place afin que le paiement intervienne au plus tard à la prochaine date d’exigibilité de vos cotisations.

En cas de non respect, une majoration de 0,2% du montant payé vous sera appliquée.

Votre conseiller est à votre disposition pour répondre à vos questions et vous apporter toutes précisions complémentaires.

Je vous prie d’agréer, Madame, Monsieur, mes salutations distinguées.

Bon. Je vais sur le site urssaf. Pour ça, je retrouve mon mot de passe — l'URSSAF impose des mots de passe cabalistiques, on ne peut pas le changer par un mot de passe mémorisable. J'ai donc dû l'écrire quelque part, bonjour la sécurité. Je cherche partout un menu genre "adhérer au télérèglement". En vain. Même l'article qui présente le télérèglement ne propose pas de lien pour y adhérer. Je trouve bien un lien à côté de mon n° de compte, c'est le petit crayon,

Crayon_Teleregler.png

avec si on passe la souris dessus, la mention "Télérégler les cotisations". C'est peut-être ça ? Je clique et arrive ici :

teleregler_URSSAF.png

N'importe quoi : cette page parle de cotisations sur les salaires, mais je n'ai pas de salarié. "Exigibles au 5 août", mais j'ai déjà payé bien plus que ce que je devais (et l'URSSAF a remboursé entre temps). La déclaration "non encore effectuée" : ??? Et tout ce qu'on peut faire c'est "Fermer" : pas d'adhésion en vue.

Je m'en vais donc vers la boîte aux lettres du site pour écrire à l'URSSAF : l'épisode précédent a montré qu'il y avait quelqu'un au bout de la messagerie (même s'il/elle ne répond pas). Et là, bonheur, il y a une fonction "Adhésion au téléreglement"[1]. Je clique. Saisie de mon RIB que l'URSSAF avait déjà (la preuve, elle m'a remboursé par virement). Le site le reconnaît et me propose, non pas "d'adhérer au télérèglement", mais de "valider le mandat" SEPA.

Valider_le_mandat.png

Zut ! Je n'aime pas valider un mandat sans en connaître le montant. C'est justement la question que j'avais posé à mon AA (à l'épisode précédent) sans obtenir de réponse. C'est vraiment obligatoire, cette affaire ? Petite recherche google, j'arrive sur le site de la CCI, page titrée "Vitement SEPA obligatoire pour le paiement des cotisations sociales"[2] :

Au 1er octobre 2015, les entreprises devront avoir abandonné le téléréglement des cotisations et contributions sociales pour le paiement par prélévement SEPA

Cette nouvelle norme européenne remplace le télérèglement. Toutefois les modalités de paiement restent identiques.

Bon, si les "modalités de paiement restent identiques", tout va bien !

Je poursuis donc sur le site URSSAF, et à la page suivante, voilà ce que je lis :

En signant ce formulaire de mandat, vous autorisez l'Urssaf Ile-de-France (117) à envoyer des instructions à votre banque pour débiter votre compte, et votre banque à débiter votre compte conformément aux instructions de l'Urssaf Ile-de-France (117).

Ce mandat est dédié aux prélèvements SEPA interentreprises. Une fois le montant débité de votre compte, vous n'êtes pas en droit de demander à votre banque le remboursement d'un prélèvement SEPA interentreprises autorisé. Toutefois vous pouvez demander à votre banque de ne pas débiter votre compte jusqu’au jour de l’échéance.

En d'autres termes, et sauf demande spécifique à ma banque de reporter au jour de l'échéance (et pas après), je donnerais à l'URSSAF un droit de saisie sur mon compte, qu'il soit approvisionné ou à découvert ?

Oui, je sais, j'ai accepté ça pour mon opérateur mobile qui prélève 20 € par mois.

Mais mes cotisations URSSAF, elle font les montagnes russes entre du négatif (remboursement), et plusieurs milliers d'euros : je ne vais tout de même pas devoir laisser en permanence sur mon compte chèques des sommes élevées, juste pour anticiper un éventuel prélèvement par l'URSSAF ?! Je suis consultant en ce que vous voulez, statistiques, sociométrie, big data, évaluation, en tout cas le travail que mes clients attendent, ce n'est pas que je passe mon temps à de la surveillance de trésorerie ou de l'optimisation financière. (Ce serait ça, le choc de simplification ?)

Je réécris un mail à l'AA, mais enfin on est le week-end. Je reprends donc ma recherche sur internet. J'arrive à cette discussion sur le site freelance-info :

- Est ce que c'est une autorisation de prélèvement automatique? . • Oui

- Est ce que je dois signé ce mandat ? sachant que je ne veux pas faire du prélèvement automatique, je veux faire du télé-règlement après avoir vérifier le montant à chaque fois.

Ben voilà, moi aussi.

• Le télérèglement n'existera plus à compter du 1er février prochain. Cependant, la mécanique globale devrait rester la même : vous validerez le paiement après en avoir vérifier le montant

"Devrait rester", sauf que non, si c'est l'URSSAF qui décide le paiement !

— Est ce qu'il faut signer quand même le mandat?.

• Comme il a été écrit dans un autre fil de discussion, l'obligation est d'utiliser un moyen de paiement dématérialisé. Vous pourriez très bien payer par virement, à condition d'arriver à obtenir les coordonnées bancaires de l'URSSAF et de mettre ça au point avec eux.[3]

Tiens ! C'est ça la ruse !

Je relis le mail de l'URSSAF : effectivement ! Il est assez habilement rédigé pour m'avoir fait croire que ce mandat SEPA est obligatoire, mais ce n'est pas ce qui est écrit ! Reprenons :

Afin de ne pas être sanctionné, je vous invite à vous conformer dans les meilleurs délais à cette obligation en adhérant au télérèglement sur www.urssaf.fr.

Je vous rappelle que toute disposition doit être mise en place afin que le paiement intervienne au plus tard à la prochaine date d’exigibilité de vos cotisations.

On a le droit de "se conformer dans les meilleurs délais à cette obligation" autrement qu'en adhérant au télérèglement (ce qui est devenu impossible, Cf. ci-dessus) ou en validant un mandat SEPA. Il suffit d'arriver à prendre "toute disposition".

Eh bien je vais écrire à l'URSSAF en demandant une adresse bancaire à laquelle faire un virement (le "à condition d'arriver à obtenir les coordonnées bancaires de l'URSSAF et de mettre ça au point avec eux"). Je vous tiens au courant.

Bien sûr, toute information venant de vous, chères lectrices et chers lecteurs, sera la bienvenue. Et qui sait, elle pourrait aussi servir à d'autres. Si je me suis trompé, merci de corriger, ça me fera économiser l'achat d'un bonnet rouge.

Notes

[1] Faute d'orthographe d'origine.

[2] Faute de frappe d'origine.

[3] C'est moi qui souligne.

mardi 8 septembre 2015

Choc de simplification ? Même pas le choc

Pour un travailleur indépendant (statut "libéral" ou "BNC"), les formalités administratives c'étaient essentiellement 3 déclarations à constituer à partir des journaux comptables :

  • la déclaration annuelle des dépenses et recettes (la "2035") aux Impôts ;
  • une déclaration plus courte pour la TVA, également aux Impôts ;
  • le paiement des charges sociales, lui, relève de 3 organismes : le RSI pour l'assurance maladie, la CIPAV (ou autre caisse selon la profession) pour la retraite, et l'URSSAF pour tout le reste. Leurs calculs pour déterminer les charges à payer est basé sur une 3ème déclaration, à envoyer au RSI, et qui s'appelait la DCR "Déclaration commune des revenus" — sans doute parce qu'elle n'est pas commune avec les Impôts…

Toute cette paperasserie demande, dans mon cas assez simple, 30 à 40 heures de travail par an (donc près de 2% de mon temps rendu improductif), des piles de papiers à conserver, et un coût externe : l'adhésion obligatoire à une "association agréée" (AA), qui ne sert à rien à ma connaissance (environ 300 € par an), et éventuellement rémunérer un expert-comptable, qui facturera, je présume, au moins 1200 € par an, plutôt 1500 ou 2000.

Et tout ça n'apporte évidemment rien à mes clients, à mes partenaires, à mon métier, et n'a aucun intérêt humain ou personnel à ma connaissance[1].

Autant dire que le choc de simplification, je l'espérais avec impatience ! Genre 1 déclaration unique au lieu de 3, tiens.

Et si possible, faire ma compta directement sur le site des Impôts, pour ne pas avoir à payer un logiciel ou un expert comptable ou une AA, et pour voir les impôts et charges calculés en direct ?… avec peut-être même des rendez-vous générés sur mon calendrier pour ne pas rater de date d'échéance ?

Je sais, je plaisante.

Le choc de simplification, dans les faits :

  1. La "2035" n'a pas changé ; elle est devenue un peu plus compliquée d'année en année, mais modérément…
  2. Il fallait faire 1 déclaration de TVA par an ? Maintenant, c'est 1 par mois ! En recettes et en dépenses. Autrement dit, au lieu de faire ma compta 1 fois par an, je dois la faire 1 fois par mois. Il y avait une exception pour 2015 : les 5 premiers mois pouvaient être envoyés en juin. Heureusement, dans mon cas, parce qu'au 9 juin, la fonctionnalité pour le faire n'était toujours pas accessible sur le site des Impôts, j'ai dû écrire pour qu'elle soit activée. Malheureusement, je n'ai trouvé le temps de faire les comptes que le 5 juillet. J'ai donc reçu 5 courriers de 4 pages chacun, me demandant 15% de pénalité sur l’ensemble du montant de TVA, ainsi que des intérêts de retard ; d’ailleurs calculés, pour la majorité, en partant du 19 février et du 19 mars… Nouveau courrier : elles m'ont été gracieusement remises… merci… mais ce soir je reçois un nouveau 4-pages avec 205 € de pénalités pour avoir déposé le 20 août la déclaration due pour le 19 (pas fait attention à la date : en juillet, la date limite était le 20).
  3. La déclaration pour les charges sociales (ex-DCR rebaptisée DSI) n'a pas changé, mais l'administration a l'air grippée. La déclaration que j'ai envoyée en temps et heure au RSI pour le calcul des charges sociales, et que le RSI a bien pris en compte dans ses calculs, n'a pas été transmise (ou reçue) à l'URSSAF. Je l'ai appris en recevant un lourd appel à cotisations, basé sur la déclaration 2013… Jusqu'ici, mes courriers ont été sans effet, et je n'ai pas encore été remboursé.

Il y a une simplification, par contre, pour l'État : il s'est accordé le droit de transformer les autorisations de prélèvement déjà signées, en "mandat SEPA".

Est-ce que cela signifierait que l'État pourrait maintenant taper dans mon compte bancaire à sa propre initiative, qu'il soit alimenté ou non… ou est-ce toujours le professionnel qui enverra un ordre de paiement ?

Pour m'ôter d'un doute, j'ai saisi cette occasion de rendre utile mon "association agréée", à laquelle je n'avais rien trouvé à demander en 19 ans d'activité. Je leur donc posé la question par mail. L'Association m'a répondu, très rapidement, par le scan d'une page de revue professionnelle, qui porte sur les professionnels qui souhaitent modifier leurs coordonnées bancaires. (Je présume qu'il n'y a rien à comprendre).

Bon, l'un dans l'autre, la simplification n'y est pas.

Choc ? Bof. Loin des guerres civiles et cimetières marins… nous avons bien de la chance, ici, de ne connaître que la routine de la rouille.

''La rouille aurait un charme fou
Si elle ne s'attaquait qu'aux grilles."

Notes

[1] Dans le cas d'une entreprise libérale aussi petite et simple que la mienne. Je suis convaincu de l'utilité de tous ces professionnels pour les entreprises qui ont des sujets "financiers", des actifs, des dettes, des opérations internationales complexes, que sais-je… On parle ici du travailleur indépendant dont les dépenses sont, en gros, un ordinateur et des billets de train, et les recettes, une ou deux factures envoyées par mois.

- page 1 de 6