> For the complete documentation index, see [llms.txt](https://mmems.gitbook.io/calepin/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mmems.gitbook.io/calepin/work/work.md).

# 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

* Burnout, [Rekindling Your Passion For Web Design – Smashing Magazine](http://www.smashingmagazine.com/2015/05/22/rekindling-your-passion-for-web-design/)

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.
>
> — [Les inconnues inconnues – HTeuMeuLeu](http://www.hteumeuleu.fr/les-inconnues-inconnues/#comment-3545)

> 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](http://devmag.fr/nicolas-barradeau-le-dinosaure-des-creative-dev-parisiens/)

> 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
>
> — [noredine69 on Twitter: "@gregalexandre @neur0nia 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." / Twitter](https://twitter.com/noredine69/status/1295077783593418756?s=12)

### 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](http://archives.lesechos.fr/archives/cercle/2013/04/19/cercle_70889.htm)

### 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.”
>
> — [Dimitar Christoff ✩ sur Twitter : "A full stack developer is “A developer who can introduce a bug to every layer of the software stack.”"](https://twitter.com/D_mitar/status/727643751552815104)

* [The Rise And Fall Of The Full Stack Developer | TechCrunch](http://techcrunch.com/2014/11/08/the-rise-and-fall-of-the-full-stack-developer/)
* [Existe-t-il encore des développeurs « Full Stack » ? Pour un senior, la pile de technologies utilisées dans des projets est devenue importante](http://www.developpez.com/actu/78962/Existe-t-il-encore-des-developpeurs-Full-Stack-Pour-un-senior-la-pile-de-technologies-utilisees-dans-des-projets-est-devenue-importante/)
* [Coluncher une application IOS pour trouver des déjeuners d'affaires par centre d'intérêt. | Développeur iOS iPhone, iPad, Apple Watch, Mac OS X, Android, indépendant, freelance, ](http://pereira-da-silva.com/developpeur-full-stack-le-cas-du-mvp-coluncher/)
* [Ingénieur Full Stack : mythe ou réalité aujourd'hui ? Peut-on vraiment avoir un haut niveau d'expertise du back-end au front-end ?](https://www.developpez.com/actu/212916/Ingenieur-Full-Stack-mythe-ou-realite-aujourd-hui-Peut-on-vraiment-avoir-un-haut-niveau-d-expertise-du-back-end-au-front-end/)
* [I Don’t Believe in Full-Stack Engineering • Robin Rendle](https://robinrendle.com/notes/i-dont-believe-in-full-stack-engineering/)
* [Développeur full stack — Wikipédia](https://fr.wikipedia.org/wiki/D%C3%A9veloppeur_full_stack)
* [CSS](/calepin/development/css/css.md) - "faire de l'UI c'est facile, c'est même pas un vrai métier"
* [HTML](https://github.com/mems/calepin/blob/main/Developement/HTML/HTML.md#choose-the-right-tag-and-attribute) - "HTML is not an assumed skill", "Semantic Web"

### Roles

* [Front-of-the-front-end and back-of-the-front-end web development | Brad Frost](https://web.archive.org/web/20220425074402/https://bradfrost.com/blog/post/front-of-the-front-end-and-back-of-the-front-end-web-development/)

### Management

See [Management](https://github.com/mems/calepin/blob/main/Management/Management.md)

### Prioritization

![Bi Dimensional Priority Matrix](https://github.com/mems/calepin/blob/main/Work/bi-dimensional%20Priority%20Matrix.png)

* [Prioritization - Wikipedia](https://en.wikipedia.org/wiki/Prioritization)
* [test management - How to categorize defects? - Software Quality Assurance & Testing Stack Exchange](https://sqa.stackexchange.com/questions/7530/how-to-categorize-defects)
* [agile testing - Does anyone know of a good bug matrix or defect management process? - Software Quality Assurance & Testing Stack Exchange](https://sqa.stackexchange.com/questions/17386/does-anyone-know-of-a-good-bug-matrix-or-defect-management-process)
* [manageevents - risk](https://manageevents.wikispaces.com/risk)

### Productivity

* [5 tips for dealing with meeting overload | The Way We Work, a TED series - YouTube](https://www.youtube.com/watch?v=Mp3Msfw90BE)
* [The Way We Work, a TED series - YouTube](https://www.youtube.com/playlist?list=PLOGi5-fAu8bFhSzuOjTmHJwLHUxxIoGr4)

### Salary

Aka salary negotiation, salaire

* [Time estimation](#time-estimation)
* [Salaire brut/net - Code du travail numérique](https://code.travail.gouv.fr/outils/simulateur-embauche)
* [Salaire brut / net : le convertisseur Urssaf - Mon-entreprise](https://mon-entreprise.fr/simulateurs/salaire-brut-net)
* [The 10 commandments of salary negotiation - by Lenny Rachitsky - Lenny's Newsletter](https://web.archive.org/web/20211010073846/https://www.lennysnewsletter.com/p/negotiating-comp)
* [How to sabotage your salary negotiation efforts before you even start](https://web.archive.org/web/20230824180031/https://interviewing.io/blog/sabotage-salary-negotiation-before-even-start)

### Self-employed

#### Contract

* [contract( )](https://docontract.com/)

#### 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"

* [Clients From Hell](http://clientsfromhell.net/)
* [Mon maçon était illustrateur.](http://monmacon.tumblr.com/)
* [WebAgencyFail › Anecdotes authentiques de web agency, de boîtes de com’ et de travailleurs du web en général](http://www.webagencyfail.com/)
* ![Pour les petits cabochons, il nous les faudrait en A3 — Mon maçon était illustrateur](https://github.com/mems/calepin/blob/main/Work/Pour%20les%20petits%20cabochons,%20il%20nous%20les%20faudrait%20en%20A3%20—%20Mon%20maçon%20était%20illustrateur.jpg)

#### 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](#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".
>
> — [Kyle Drake sur Twitter : ""](https://twitter.com/kyledrake/status/728990900076969984)

SpaceX or Boeing list prices of expensive vehicles. There's no excuse for the lack of price transparency

* [Capabilities & Services | SpaceX](http://www.spacex.com/about/capabilities)
* [Boeing: About Boeing Commercial Airplanes](http://www.boeing.com/company/about-bca/#1423232138406)

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:

* [Freelances, portés, quels tarifs (TJM) pour vos missions ?](https://web.archive.org/web/20181012083814/http://www.portageo.fr/blog/newsletters-portageo/freelances-quels-tarifs-pratiquer-pour-vos-missions/)
* [Comment négocier le prix de votre mission ? - conseil 2/3 | ACPI](http://www.acpi.fr/actualites-portage/3-conseils-pour-bien-negocier-votre-mission-en-portage-salarial-23.html)
* [Tarifs jour de facturation des freelances informatique TJM - Freelance-info.fr](https://www.freelance-info.fr/tarifs/)
* [Simulation ‟salaire” freelance : calculez votre TJM, taux journalier moyen et CA](https://kob-one.com/calcul-salaire-freelance/)
* [Tarif graphiste freelance, webdesigner indépendant, designer, motion](https://www.kob-one.com/tarifs)
* [How to calculate your freelance rate | Web design | Creative Bloq](http://www.creativebloq.com/web-design/how-calculate-your-freelance-rate-61515318)
* [Web Development Project Estimator](http://astuteo.com/estimator/)
* [Dis tonton, pourquoi est-ce si cher un indépendant ? | Carnet de notes](https://n.survol.fr/n/dis-tonton-pourquoi-est-ce-si-cher-un-independant)
* 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
* [Guidelines for Small Project Pricing « Build Internet](http://buildinternet.com/2011/08/guidelines-for-small-project-pricing/)

> 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)

* [Work for Fame](http://workforfame.instapage.com/)

**Free work or cheap price**

> Start for free then maybe...

> If you pay peanuts, you get monkeys
>
> — [if you pay peanuts, you get monkeys - Wiktionary](https://en.wiktionary.org/wiki/if_you_pay_peanuts,_you_get_monkeys)

> **a reminder that you should never, ever work for free, and never accept propositions like these.**
>
> <img src="https://github.com/mems/calepin/blob/main/Work/Renaud%20Forestié%20-%20email%201.jpg" alt="Renaud Forestié - Email 1" data-size="original"><img src="https://github.com/mems/calepin/blob/main/Work/Renaud%20Forestié%20-%20email%202.jpg" alt="Renaud Forestié - Email 2" data-size="original"><img src="https://github.com/mems/calepin/blob/main/Work/Renaud%20Forestié%20-%20email%203.jpg" alt="Renaud Forestié - Email 3" data-size="original">
>
> 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?
>
> — [Renaud Forestié](https://twitter.com/Reuno/status/827180680995934208)

* [Compétition = Rémunération](http://competitionremuneration.metiers-graphiques.fr/)

![No money - Chèque Passion](https://github.com/mems/calepin/blob/main/Work/chèque%20passion.jpg)

**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
* [Je suis développeur et je ne dis jamais non — Olivier Servières — Developpement web, agilité, cinéma](https://www.deudtens.com/je-ne-dis-jamais-non/)

#### Recherche

> CABINETS DE RECRUTEMENT, CHASSEURS DE TÊTES, DRH, À LIRE AVANT TOUT CONTACT MERCI :
>
> 1. 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.
> 2. 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.
> 3. 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.
> 4. 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.
> 5. 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.
> 6. JE PASSE RAREMENT ICI. Pour me contacter, préférez un email direct : chris \[at] stpo \[dot] fr.
>
> Merci !
>
> — [Christophe ANDRIEU | LinkedIn](https://www.linkedin.com/in/christophe-andrieu-9901575)

### 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.
>
> — [Inigo Quilez](https://twitter.com/iquilezles/status/716475533836455936)

> 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
>
> — [Sam Bhagwat](https://twitter.com/calcsam/status/652360672827674624)

* [The mythical 10x programmer - \<antirez>](http://antirez.com/news/112)

> 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>

* [development process - How to respond when you are asked for an estimate? - Software Engineering Stack Exchange](http://softwareengineering.stackexchange.com/questions/648/how-to-respond-when-you-are-asked-for-an-estimate)
* [debugging - Time estimating of a complex bug investigation (not a straight-forward one) - Software Engineering Stack Exchange](http://softwareengineering.stackexchange.com/questions/285592/time-estimating-of-a-complex-bug-investigation-not-a-straight-forward-one)

> 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.

* [Combien de temps vous faut-il pour changer un « s » ? – HTeuMeuLeu](http://www.hteumeuleu.fr/combien-de-temps-vous-faut-il-pour-changer-un-s/)
* [How many Microsoft employees does it take to change a lightbulb? – Fabulous Adventures In Coding](https://blogs.msdn.microsoft.com/ericlippert/2003/10/28/how-many-microsoft-employees-does-it-take-to-change-a-lightbulb/)

> 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](https://en.wikipedia.org/wiki/Hofstadter%27s_law)

> 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](https://tylerxhobbs.com/essays/2019/reflections-on-five-years-of-making-art-through-programming)

See [Time estimation](#time-estimation) and [Unsolicited reworks](#unsolicited-reworks)

* [project management - How to respond when you are asked for an estimate? - Software Engineering Stack Exchange](https://softwareengineering.stackexchange.com/questions/648/how-to-respond-when-you-are-asked-for-an-estimate)
* [Ton estimation de temps est une blague - Je suis un dev](https://www.jesuisundev.com/ton-estimation-de-temps-est-une-blague/) - "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"
* [Always Multiply Your Estimates by π - 推酷](https://web.archive.org/web/20170603123809/http://www.tuicool.com:80/articles/7niyym) - [Always Multiply Your Estimates by π (2013) | Hacker News](https://news.ycombinator.com/item?id=28667174)
* [Ça vaut le coup ?](https://cvlc.fr/15-secondes-5-fois-par-jour)

#### 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.
>
> — [Misunderstanding about "Evidence Based Scheduling" in estimation tasks - Software Engineering Stack Exchange](http://softwareengineering.stackexchange.com/questions/291553/misunderstanding-about-evidence-based-scheduling-in-estimation-tasks)

> Break down the milestones as much as possible
>
> — [project management - Evidence-Based-Scheduling - are estimations only as accurate as the work-plan they're based on? - Stack Overflow](https://stackoverflow.com/questions/540816/evidence-based-scheduling-are-estimations-only-as-accurate-as-the-work-plan-th)

* [Evidence Based Scheduling - Joel on Software](http://www.joelonsoftware.com/items/2007/10/26.html)
* [What do you mean ‘we need more time’?? | Dropbox Tech Blog](https://blogs.dropbox.com/tech/2015/10/what-do-you-mean-you-need-more-time/)
* [How One Startup's Engineering Team Cut their Engineering Release Times in Half](http://tomtunguz.com/engineering-predictability/)
* [Excel spreadsheets for Evidence Based Scheduling as described by Joel Spolsky](https://github.com/mjwade/spolsky-sheets)
* [Feature #3595: Evidence Based Scheduling - Redmine](http://www.redmine.org/issues/3595)
* [Evidence-based Scheduling - evidence-based\_scheduling.pdf](https://www.csie.ntu.edu.tw/~hsinmu/courses/_media/ada_11fall/evidence-based_scheduling.pdf)

#### 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.
>
> – [Uncle Cal on Twitter: "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. " :)"](https://twitter.com/calevans/status/1024371268118872070?s=12)

### Learning

* [Developer Roadmaps - roadmap.sh](https://roadmap.sh/) - [GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in their careers.](https://github.com/kamranahmedse/developer-roadmap)
