Work
Word files are simply not final documents and should never be sent to anyone unless you are working on a draft.
Send PDF, a format can be open by everyone
Be a good senior dev:
Don't tell; ask
Don't rewrite; pair and refactor
Don't sneer; encourage
Be kind
Quotes
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles.
— Sénèque
Rendre l'expérience utilisateur audacieuse
A user interface is like a joke. If you have to explain it, it’s not that good.
— Martin LeBlanc
pour être efficace, l'important n'est pas de savoir faire tout ce que tu peux faire avec tes outils, mais plutôt de connaître tous les outils existants, leurs avantages et leurs inconvénients; connaître leur utilisation viendra en temps voulu.
je vais chercher l’argent où il se trouve (dans la pub) et je m’achète du temps libre
— Nicolas Barradeau dans une interview de devmag
Au forfait comme en régis, que ton chiffrage soit sanctifié, que ta livraison vienne et que ta facture soit faite. Donne-nous aujourd’hui nos features de ce jour. Pardonne-nous nos bugs,comme nous pardonnons aussi aux projects owner qui nous ont offensés. Et ne nous laisse pas entrer en tentation mais délivre-nous du freelancing. Amen.
Au nom du scrum, du git et du saint projet... Amen
Entreprise lifecycle
Il existe depuis longtemps un cycle de vie pour les entreprises : les jeunes entreprises innovent, sont avides de cash et se cherchent désespérément des financements. Certaines y parviennent, vendent leurs produits et se retrouvent à gagner plus d'argent qu'elles n'en ont besoin. Les grandes entreprises prennent cet argent et l'investissent dans des produits encore meilleurs, emmenant l'entreprise vers de nouveaux sommets. [...]
Mais, inévitablement, les technologies des entreprises deviennent standardisées et banalisées. De nouvelles technologies, plus brûlantes, prennent leur place, et l'entreprise n'attire plus les meilleurs travailleurs, parce que, justement, elle ne représente plus la prochaine chose à la mode. Les nouveaux produits connaissent une perte de vitesse, les vieux produits ne sont plus aussi rentables que par le passé (car les concurrents comprennent comment faire quelque chose de mieux), et les marchés et les consommateurs passent à autre chose.
— Mark Roe Les Echos - Le problème de cash-flow d’Apple - Archives
Fullstack Developper
Aka Full stack or full-stack developper
Being able to do it all vs being able to be talented in all is a huge difference. It's not related to language, frameworks or tools, but concepts like performances, security, accessibility, ergonomy / UX, efficiency (multiple ways to do the same thing, but with diff. impacts), load balancing, design, etc.
It's like a One-man band, can't easily play a Symphony or even not at all.
More a lego player/builder than a brick craftsman/manufacturer
Fullstack dev can create a prototype, but not a large scale project solo
Full stack = for prototypes, MVP, only one dev; frontend, backend, devops Not for team or at least without expertise requirements
Full stack devs originate from startups where you have to get your hands dirty in all the fields if you want to succeed, but as soon as you're able, you have to hire specialists if you want to have your product follow the highest security, efficiency and design standards, packed in a good, presentable but not bloated UI.
A full stack developer is “A developer who can introduce a bug to every layer of the software stack.”
CSS - "faire de l'UI c'est facile, c'est même pas un vrai métier"
HTML - "HTML is not an assumed skill", "Semantic Web"
Roles
Management
See Management
Prioritization
Productivity
Salary
Aka salary negotiation, salaire
Self-employed
Contract
Project security lock
Site off-line Sorry our site is offline as we refused to pay our web developer and he put this here and then changed the passwords! You could always try calling or emailing us but maybe its better you just go to switch as they are much more professional, we suck.
If you are another web developer that has been paid to change this then make sure you get paid up front, trust nobody.
Clients "stupidity"
Project phases
Un devis et bon de commande par phase : découper le projet en plusieurs phase/devis(avenant)/paiement. Ce qui permet 1 paiement (et 1 acompte) par phase. Ainsi, ne pas engager la suite que si la première partie est validée / payée. Cela répond au besoin de flexibilité de paiement dont le client se réclame.
Définition du besoin
Description technique
nouvelle apis / modification api
doc technique partenaire ?
AB test ?
mobile / desktop (responsive)
Wireframe
Spec, Contract interface back/front
Maquette
Price
See Time estimation
Always show prices.
It discourages people who aren’t the target market. It's also about opening a dialogue with your users/customers to learn more about them. But it's maybe not what the target what first.
I always interpret "Request a Quote" to mean "too expensive, find a competitor with pricing listed on their site".
SpaceX or Boeing list prices of expensive vehicles. There's no excuse for the lack of price transparency
Luxury:
If your first question is how much does it cost, you're not the customer we want
— CEO of Timeshare Resorts Inc.
Budget and payment
How much:
Freelance 1Iw04gseI_2mfc4n0UDl93PeRJBi2Us8VP8KLmBptNT8.xlsx
jour/homme -> jour/personne
Projet sous 1000€ : payement avant commencement (évite les ajouts non souhaitable de dernière minutes) -> au dessus prévoir un devis détaillé, cahier des charges
Préférer le taux horaire plutôt qu'un prix global
Négocier le champ d'application, pas le prix
If you meant the following… then it would be X hours. If this is not what you are aiming to do, then could you clarify…
You wouldn’t expect an accurate quote from a contractor if you said “I want a house with a kitchen, bathroom, and living room – how much will that cost me?”
Versement d'un acompte de 30% à la commande
Paiement de 60% a la livraison
versement des 10% restant à la facture
Non-payment
Défaut de paiement
money later, money never
— Julien Moya (Yamo)
Free work or cheap price
Start for free then maybe...
If you pay peanuts, you get monkeys
a reminder that you should never, ever work for free, and never accept propositions like these.
it's a "big" French book publisher, asking for free illustrations to see if I could be a good "fit"... for a book they're making. And if they happen to like it they may hire me for the book. Funny thing is I've done very similar illustrations. but apparently it's not enough. And the book is gonna be a best seller! So why shouldn't I do it?
Prix forfaitaire
Forfais / par engagement de résultat (fixed price, au résultat, service clé en main)
http://fr.wikipedia.org/wiki/Forfait
http://www.marche-public.fr/Marches-publics/Definitions/Entrees/Prix-forfaitaire.htm
Prix unitaire
Régie / prix unitaire / à débours (direct labour hours, timework, sous-traitance en travail à l'heure/jour passé)
http://fr.wikipedia.org/wiki/Contrat_en_r%C3%A9gie
http://www.marche-public.fr/Marches-publics/Definitions/Entrees/Prix-unitaire.htm
Never say no
chiffrer pour effrayer
noter (avoir une trace écrite)
se résigner (met en oeuvre exactement comme il nous l'a demandée, pour lui prouver que ça ne marche pas) (on peut se tromper)
prévenir
Recherche
CABINETS DE RECRUTEMENT, CHASSEURS DE TÊTES, DRH, À LIRE AVANT TOUT CONTACT MERCI :
JE SUIS FREELANCE, et à ce titre ne cherche pas de poste salarié, inutile de m'envoyer vos propositions de CDD/CDI. Par contre j'accueille naturellement les missions freelances avec plaisir.
NE M'ENVOYEZ PAS VOS OFFRES DE MISSION DÉVELOPPEUR ANGULAR (pitié). Je ne fais pas de développement JavaScript (Backbone, Angular, React…), j’utilise JavaScript essentiellement pour dynamiser mes pages (avec jQuery le plus souvent) et non pour traiter de la donnée.
JE NE FAIS PAS NON PLUS DE PHP/MySQL NI DE BACK-END. Inutile de me proposer des missions sur ce type de périmètre, il y 0% de chances que ça colle. Je fais du HTML/CSS/JS et du web design.
NE ME DEMANDEZ PAS DE FAIRE SUIVRE VOTRE DEMANDE « À MON ENTOURAGE ». Chasseur de têtes c'est votre job, pas le mien. Si vous voulez que je le fasse à votre place, payez-moi grassement.
JE NE FAIS PAS DE MISSION SUR SITE À PUTEAUX/MASSY/ETC., je collabore avec mes clients en télétravail depuis Paris et ne vais les voir en personne que quand des réunions sont nécessaires.
JE PASSE RAREMENT ICI. Pour me contacter, préférez un email direct : chris [at] stpo [dot] fr.
Merci !
Time estimation
Aka Chiffrage
Fact: it takes 2 days to hack an idea. 2 weeks to prove it works. 2 months to make it production ready. And 2 years to see it succeed.
f(nombre de codeurs) = Temps pour coder le projet
— http://www.commitstrip.com/fr/2016/06/17/fnumber-of-coders-time-to-code-project/
nine women can't make a baby in one month
— Brooks’ law — https://en.wikipedia.org/wiki/Brooks%E2%80%99_law https://fr.wikipedia.org/wiki/Le_Mythe_du_mois-homme
The 10x engineer myth:
10x Engineer: a developer who incurs technical debt so fast he appears more productive than the 10 developers tasked w/ cleaning his mess up
Can you give me an estimate on how long it will take you to fix this bug? That's like asking how long it will take to find my keys.
— https://twitter.com/_honza/status/758328245355962372
How long will it take to fix that bug?" "Probably as long as it takes to change one char. But it may take hours to figure out which one. Can you give me an estimate on how long it will take you to fix this bug?" "That's like asking how long it will take to find my keys.
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
— Douglas Hofstadter, Hofstadter's law — Wikipedia
Making artwork, on its own, is challenging. If you want to develop the business side of that, it's a whole other thing. You need to be prepared to dedicate time to things like:
Building a website
Ordering prints
Buying shipping materials
Packaging art for shipping
Going to the post office, filling out customs forms
Posting your artwork online on various platforms
Connecting with other artists, supporting them, and learning from them
Doing taxes
Responding to loads of random emails
Photographing your work
Editing photographs of your work
Keeping your work organized, accessible, and backed up
Framing your work (buying materials, cutting mats, etc)
Hanging your work for shows
Talking with folks who enjoy your work during opening receptions, studio tours, interviews, etc.
Sending invoices
Negotiating commissions and licensing deals
Speaking about your work at events
Delivering your work in person
Reading about all the things you don't know about running a business, like marketing, accounting, and sales
Writing about your work, including about a dozen variations of an artist's statement, which is possibly the least fun thing to write
This adds up to a large percentage of your time, often more time than you get to spend creating artwork.
— Reflections on Five Years of Making Art Through Programming — TYLER HOBBS
See Time estimation and Unsolicited reworks
Ton estimation de temps est une blague - Je suis un dev - "Donne toujours une fourchette de temps [...] D’avoir une vue sur les risques de ta tâche [...] toujours donner une mise à jour en temps réel sur ton estimation"
Evidence based scheduling
The estimation system takes 100 velocities calculated from the developers history. Each velocity is the ratio between estimated time and actual time for a given task. [...] It just means that because the interruption affects the velocity for a certain percentage of the tasks, the interruption will be appropriately represented in estimates that are based on 100 random velocities from the developers history.
Break down the milestones as much as possible
Time estimation difficulty
I no longer quantify problems in the length of time it took to solve them, or the lines of code. My new measurement is "Tabs".
This was a 30 tab problem. I had to go in deep.
I solved that one with only 1 tab.
Learning
Last updated