développement logiciel - Offirmo-team/wiki GitHub Wiki
Voir aussi sécurité, open source, programmation fonctionelle, test unitaire, intégration continue, design patterns, concurrence, i18n, développement mobile, développement web, entretien...
Introduction
- https://www.zdnet.com/article/what-is-a-software-developer-everything-you-need-to-know-about-the-programmer-role-and-how-it-is-changing/
- https://quoteinvestigator.com/2021/04/02/computer-science/ Computer Science Is Not About Computers, Any More Than Astronomy Is About Telescopes
- eng levels
- Patreon https://levels.patreon.com/
- https://blog.usejournal.com/10-signs-you-will-suck-at-programming-5497a6a52c5c
- https://en.wikipedia.org/wiki/Computer_(job_description)
- 2022 https://adamj.eu/tech/2022/06/17/mike-actons-expectations-of-professional-software-engineers/
- 2021 https://chriskiehl.com/article/thoughts-after-6-years
- 2021 https://www.netmeister.org/blog/software-engineering-laws.html
Motivation
- 2021 https://mars.nasa.gov/technology/helicopter/status/305/surviving-an-in-flight-anomaly-what-happened-on-ingenuitys-sixth-flight/
- 2021 +++ https://henrikwarne.com/2012/06/02/why-i-love-coding/
- 2021 +++ https://www.wired.com/story/healing-power-javascript-code-programming/
- 2021 ++ https://web.eecs.utk.edu/~azh/blog/makinguselessstuff.html
- 2021 https://blog.llvm.org/posts/2021-01-05-stack-clash-protection/
- 2021 https://developers.slashdot.org/story/21/01/03/1736228/study-finds-brain-activity-of-coders-isnt-like-language-or-math
- 2020 https://www.reddit.com/r/spacex/comments/gxb7j1/we_are_the_spacex_software_team_ask_us_anything/
- 2021 https://gizmodo.com/a-1990s-imac-processor-powers-nasa-s-perseverance-rover-1846380844
- 2020 https://www.inverse.com/science/nasa-brings-voyager-2-fully-back-online-11.5-billion-miles-from-earth
- 2020 VLC https://www.protocol.com/vlc-history-open-source
Éthique
Ne pas être complice:
- tracabilité
- terrorisme, pornographie https://yro.slashdot.org/story/19/11/10/0245220/tech-sites-including-microsofts-bing-criticized-over-child-pornography-policies
- désinformation
- vie privée https://yro.slashdot.org/story/19/11/05/1930219/little-known-companies-are-amassing-your-data-and-selling-the-analysis-to-clients
- banditisme https://yro.slashdot.org/story/21/03/13/0040235/encrypted-messaging-service-cracked-by-belgian-police-followed-by-dozens-of-arrests
- Grosse boîtes: évasion fiscale, abus de position dominante, profits excessifs
- Amazon
- https://www.safetydetectives.com/blog/amazon-reviews-leak-report/
- https://slashdot.org/story/21/05/06/1751205/amazon-drivers-are-instructed-to-drive-recklessly-to-meet-delivery-quotas
- https://news.slashdot.org/story/21/05/04/146232/amazon-had-sales-income-of-53-billion-in-europe-in-2020-but-paid-no-corporation-tax
- https://yro.slashdot.org/story/21/04/16/0023255/amazon-tried-to-coerce-ecobee-into-collecting-private-user-data-the-wsj-reports
- https://slashdot.org/story/21/03/22/1639248/peak-design-says-amazon-ripped-off-its-everyday-sling-bag
- Amazon
Société
Dé-platforming / censorship
- https://yro.slashdot.org/story/21/01/16/041214/eff-cory-doctorow-warn-about-the-dangers-of-de-platforming-and-censorship
- https://tech.slashdot.org/story/21/01/16/2111224/are-tech-companies-ducking-responsibility-for-the-need-to-de-platform
- https://tech.slashdot.org/story/21/01/17/1627256/ask-slashdot-how-should-user-generated-content-be-moderated
- https://yro.slashdot.org/story/21/01/09/0231223/are-google-apple-facebook-and-microsoft-digital-warlords
Stories
- https://en.wikipedia.org/wiki/Engineering_disasters
- 2021 https://science.slashdot.org/story/21/03/08/0051214/remembering-allan-mcdonald-the-engineer-who-said-no-to-the-challenger-launch
- 2019 https://tech.slashdot.org/story/19/11/16/042255/how-google-interferes-with-its-search-algorithms-and-changes-your-results
- 2019
- https://www.bloomberg.com/news/articles/2019-06-28/boeing-s-737-max-software-outsourced-to-9-an-hour-engineers
- https://tech.slashdot.org/story/19/12/11/1837212/internal-faa-review-saw-high-risk-of-737-max-crashes
- https://yro.slashdot.org/story/21/01/08/0333209/boeing-to-pay-25-billion-to-settle-us-probe-of-737-max-crashes
- https://tech.slashdot.org/story/20/12/19/0038232/faa-and-boeing-inappropriately-coached-pilots-in-737-max-testing
- 2019 https://tech.slashdot.org/story/19/08/05/0323200/cloudflare-terminates-8chan?sdsrc=popbyskidbtmprev
- 2019 https://tech.slashdot.org/story/19/12/08/1549222/20-low-end-vps-providers-suddenly-shutting-down-in-a-deadpooling-scam
- 2019 «I was accused of "creating confusion."» https://tech.slashdot.org/story/19/11/04/1720227/i-worked-on-political-ads-at-facebook-they-profit-by-manipulating-us
- https://en.wikipedia.org/wiki/List_of_nuclear_whistleblowers
- 2019 news filtering https://tech.slashdot.org/story/19/10/06/002241/gizmodos-disappearing-story-explains-why-no-one-trusts-facebook
- 2019 tech addiction https://news.slashdot.org/story/19/10/06/2139203/consumer-expert-argues-tech-addiction-is-the-users-responsibility
- 2019 traffic lights https://science.slashdot.org/story/19/10/21/1849215/traffic-lights-worldwide-set-to-change
- 2019 moral resp for companies https://politics.slashdot.org/story/19/10/16/2225242/gitlab-wont-exclude-customers-on-moral-grounds-says-that-employees-should-not-discuss-politics-at-work
- 2019 semver et assumer ses erreurs https://github.com/yarnpkg/yarn/issues/7584
- 2019 respect https://news.slashdot.org/story/19/09/21/0253227/gnus-former-kernel-maintainer-shares-a-reflection-on-the-departure-of-richard-stallman
- 2019 Boeing
- 2021 https://yro.slashdot.org/story/21/03/07/1642258/what-the-truth-is-faa-safety-engineer-slams-oversight-of-boeings-737-max
- 2020 https://tech.slashdot.org/story/20/02/22/0812248/after-inspecting-50-airplanes-boeing-found-foreign-object-debris-in-35-fuel-tanks
- https://tech.slashdot.org/story/19/09/21/2157226/as-criticism-grows-after-crashes-boeing-committee-may-recommend-organizational-changes
- https://tech.slashdot.org/story/19/10/03/2128241/boeing-rejected-737-max-safety-upgrades-before-fatal-crashes-whistleblower-says
- http://virtues-and-tenets.com/
- https://medium.freecodecamp.com/dark-genius-how-programmers-at-uber-volkswagen-and-zenefits-helped-their-employers-break-the-law-b7a7939c6591
- https://www.acm.org/about-acm/acm-code-of-ethics-and-professional-conduct
- https://postmeritocracy.org/
- https://tech.slashdot.org/story/18/11/26/1550211/airlines-face-crack-down-on-use-of-exploitative-algorithm-that-splits-up-families-on-flights
Sûreté
Sécurité
Voir page dédiée Sécurité.
histoire
- https://retrocomputing.stackexchange.com/questions/8946/how-big-is-a-mainframe
- https://en.wikipedia.org/wiki/History_of_computing_hardware
- jargon http://catb.org/jargon/html/index.html
- https://github.com/chrislgarry/Apollo-11
- https://developers.slashdot.org/story/18/11/15/160240/the-internet-has-a-huge-cc-problem-and-developers-dont-want-to-deal-with-it
- https://developers.slashdot.org/story/19/07/22/0426201/is-object-oriented-programming-a-trillion-dollar-disaster
- 1996 https://web.archive.org/web/19970711071555/http://www.cooltool.com/apr96.html
- langage B https://web.archive.org/web/20060225195733/http://cm.bell-labs.com/cm/cs/who/dmr/btut.html
- 1945 https://hardware.slashdot.org/story/20/09/23/2058222/researchers-found-the-manual-for-the-worlds-oldest-surviving-computer
pop
apprendre et progresser
- (non testé) https://aws.amazon.com/fr/training/aws-cloud-institute/
- https://noidea.dog/staff-resources STAFF ENGINEER’S PATH RESOURCE LIST
veille
https://www.thoughtworks.com/radar/techniques
démarrage
- 2019 https://stackoverflow.blog/2019/08/07/what-every-developer-should-learn-early-on/
- 2019 https://stackoverflow.blog/2019/09/05/they-didnt-teach-us-this-a-crash-course-for-your-first-job-in-software/
- https://dev.to/bosepchuk/how-to-crush-it-at-the-start-of-your-new-developer-job-2fm2
- https://dev.to/ellen_dev/ten-things-i-ve-learned-in-six-months-of-being-a-junior-frontend-developer-14n0
tosort
- 2022 ++ https://adamj.eu/tech/2022/06/17/mike-actons-expectations-of-professional-software-engineers/
- 2022 https://github.com/kdeldycke/awesome-falsehood "A curated list of falsehoods programmers believe in"
- 2022 https://github.com/mtdvio/every-programmer-should-know
- 2019 Things I Learnt The Hard Way (in 30 Years of Software Development) https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/
- 2019 senior prog https://m.signalvnoise.com/basecamp-is-hiring-a-senior-programmer/
- 2019 https://github.com/stephhappens/awesome-tools-for-junior-developers
- 2019 books https://github.com/hubtee/awesome-opensource-documents
- https://dev.to/pavlosisaris/how-to-transition-from-junior-to-mid-level-developer-part-1-4gig
- https://dev.to/geekgalgroks/the-introverts-guide-to-professional-development-3408
- https://dev.to/stealthmusic/the-three-stages-of-a-developer-hp4
- algorithmes http://jeffe.cs.illinois.edu/teaching/algorithms/
- https://www.inc.com/jt-odonnell/what-20-somethings-need-to-know-about-complaining-to-hr.html
- pas seulement code https://dev.to/somedood/programming-is-hard-2p87
- rewrites https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Techniques
- https://tom.preston-werner.com/2010/08/23/readme-driven-development.html
- +++ clean code https://github.com/labs42io/clean-code-typescript
Qualité
Some common lines of defense in software development include:
- Requirements Gathering
- Requirements Specification & Review
- Risk Analysis
- Test Driven Development (TDD)
- Software Linting
- Static Analysis
- Software Inspection / Code Review
- Model Simulation
- Formal Methods
- Acceptance Testing
expériences
process
débats
- Software disenchantment http://tonsky.me/blog/disenchantment/
- rewrite or not? https://medium.com/@herbcaudill/lessons-from-6-software-rewrite-stories-635e4c8f7c22
patterns
light
dark
- ...
facts
- https://hackernoon.com/why-senior-devs-write-dumb-code-and-how-to-spot-a-junior-from-a-mile-away-27fa263b101a
- more than 1 thing https://dev.to/karan/being-average-in--1-things-is-easier-and-more-valuable-than-being-excellent-at-1-thing-1epm
- = travail en général https://dev.to/kaydacode/5-things-i-wish-i-could-tell-my-past-self-32e7
- 25 tips for new devs https://dev.to/aspittel/25-tips-for-new-developers-advice-from-a-mostly-self-taught-software-engineer-1ff1
- 1 year to improve drag and drop https://medium.com/@alexandereardon/beautiful-drag-and-drop-a-year-in-review-1febc3fac7ce
- http://en.wikipedia.org/wiki/Unusual_software_bug#Heisenbug
- http://ftp.sunet.se/jargon/html/magic-story.html
- print on tuesday https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161
- static analysis http://www.altdevblogaday.com/2011/12/24/static-code-analysis/
- XP épisode http://www.objectmentor.com/resources/articles/xpepisode.htm
- exemple de difficulté d'évolution des langages : http://blog.xebia.fr/2007/05/10/des-closures-en-java/
- https://linux.slashdot.org/story/18/09/16/172217/the-linux-kernel-has-grown-by-225000-lines-of-code-this-year-with-contributions-from-about-3300-developers
- https://idle.slashdot.org/story/18/09/16/0431250/research-proving-people-dont-rtfm-resent-over-featured-products-wins-ig-nobel-prize
- big migration in python (JS is not the only hard world) https://blogs.dropbox.com/tech/2018/09/how-we-rolled-out-one-of-the-largest-python-3-migrations-ever/
- "slow is fast" “slow is smooth and smooth is fast” "the constraints of the project management triangle." https://medium.com/javascript-scene/why-cutting-costs-is-expensive-how-9-hour-software-engineers-cost-boeing-billions-b76dbe571957
- crashes suivant le jour de la semaine
- 2019 https://news.slashdot.org/story/19/09/17/1750247/firefox-moving-to-a-faster-4-week-release-cycle
tosort
-
https://christianheilmann.com/2018/06/25/developer-relations-revelations-not-all-is-glamour-and-fun/
-
https://mxstbr.com/thoughts/tech-choice-regrets-at-spectrum/
-
https://blog.kentcdodds.com/write-tests-not-too-many-mostly-integration-5e8c7fff591c
-
++ https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
-
coding skills
-
safety
-
security
-
SCM, git
-
premature optim, complexity
-
UTF-8
-
time https://zachholman.com/talk/utc-is-enough-for-everyone-right
-
communication with the manager
-
PIE concept
-
agile / project pitfalls
-
architecturing vs. extending
-
incident management
-
robustness, risk evaluation
-
estimation
-
collaboration skills
-
IDE
-
tech watch
-
priorization
-
how to explain, how to give a talk
-
tooling, scripting
-
CI
-
security
-
certifications
-
presentation skills, explanation skills
-
writing skills
-
QA skills
Other
- https://www.stilldrinking.org/programming-sucks
- https://medium.com/@samerbuna/software-engineering-is-different-from-programming-b108c135af26
Concepts
- terminologie de specs
- licences
- https://codepen.io/tigt/post/why-are-they-called-throttling-and-debouncing-anyway
- Dette technique https://engineering.riotgames.com/news/taxonomy-tech-debt
- O notation https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/
- composition
- «software development is “the act of breaking a complex problem down into smaller problems, and composing simple solutions to form a complete solution to the complex problem.» https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea
- programmation fonctionelle
- incident = An event which is not part of the standard operation of an Atlassian Service and which causes disruption to or a reduction in the quality of services and customer productivity. https://docs.google.com/forms/d/e/1FAIpQLSe6k0Z5yM3jrl9LJYrW0kKPbg2rVE4xlJpFVUOJcoukNRFgRQ/viewform
- langages
- ++ concurrency https://slikts.github.io/concurrency-glossary/
- premature optimization
- Latency Numbers Every Programmer Should Know https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html
Principes
Basics of the Unix Philosophy http://www.faqs.org/docs/artu/ch01s06.html
- Rule of Modularity: Write simple parts connected by clean interfaces.
- Rule of Clarity: Clarity is better than cleverness.
- Rule of Composition: Design programs to be connected to other programs.
- Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
- Rule of Simplicity: Design for simplicity; add complexity only where you must.
- Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
- Rule of Transparency: Design for visibility to make inspection and debugging easier.
- Rule of Robustness: Robustness is the child of transparency and simplicity.
- Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
- Rule of Least Surprise: In interface design, always do the least surprising thing.
- Rule of Silence: When a program has nothing surprising to say, it should say nothing.
- Rule of Repair: When you must fail, fail noisily and as soon as possible.
- Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
- Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
- Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
- Rule of Diversity: Distrust all claims for “one true way”.
- Rule of Extensibility: Design for the future, because it will be here sooner than you think.
SOLID (object-oriented design) http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
- S - SRP - Single responsibility principle
- O - OCP - Open/closed principle
- L - LSP - Liskov substitution principle
- I - ISP - Interface segregation principle
- D - DIP - Dependency inversion principle
Paradigmes
- Six programming paradigms that will change how you think about coding http://brikis98.blogspot.co.uk/2014/04/six-programming-paradigms-that-will.html
- http://know.cujojs.com/tutorials/aop/intro-to-aspect-oriented-programming
OOP
- http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end
- https://dev.to/scottshipp/avoid-getters-and-setters-whenever-possible-c8m
Langages
- https://wiki.theory.org/YourLanguageSucks
- http://stackoverflow.com/questions/1995113/strangest-language-feature
- choix d'un langage, arguments de complexité intéressants https://movio.co/blog/migrate-Scala-to-Go/
Évaluer un langage: http://www.pgbovine.net/what-is-a-programming-language.htm
- Specification
- Implementation
- Run-time environment
- Standard library
- Third-party libraries
- Community
Apprentissage
- http://learncodethehardway.org/
- interactif http://jsrobot.tk/
- http://www.trueventurestec.com/2014/06/26/some-useful-info-for-tech-interns/
- http://play.elevatorsaga.com/
- http://codegolf.stackexchange.com/questions/45285/cod%C3%A9mon-i-choose-you
- https://www.quora.com/What-was-the-one-line-JavaScript-that-president-Obama-wrote-as-part-of-the-Hour-of-Code-2014
- http://dailyjs.com/2015/02/16/tryjs-mightyeditor/
- visualiseur http://pythontutor.com/visualize.html#mode=display
Techniques
- Dependency injection
- regexp
- cache
- date et heure
Bonnes pratiques
Introduire les bonnes pratiques:
- https://www.codeshiftcommunity.com/
- ratcheting
bonner pratiques de gestion de projet
https://github.com/microsoft/vscode/wiki/Development-Process
dev
code review
Nommage
- +++ https://ruudvanasseldonk.com/2022/03/20/please-put-units-in-names
- +++ https://v8.dev/docs/respectful-code
- https://linux.slashdot.org/story/20/07/11/2037250/the-linux-team-approves-new-neutral-terminology
- +++ https://hackernoon.com/software-complexity-naming-6e02e7e6c8cb
Booleans:
- No "onboarding" YES "isOnboarding" "hasOnboarding"
À éviter :
- filterString -> filtre quoi ?
- effets de bord
manager
handler
- double négations
- switch -> "falltrough"
- vocabulaire dédié:
factory
code propre
- bon exemple https://philipwalton.com/articles/untangling-deeply-nested-promise-chains/
- exemples https://dev.to/gonedark/a-month-of-clean-code-tips-709
Divers
- espaces
- commentaires /* */ à limiter, seulement jsdoc (aide à comenter rapidement une partie de code)
- toujours traiter les cas rares en premier
- indentation sur chaînage (.truc) et html
"good taste"
https://medium.com/@bartobri/applying-the-linus-tarvolds-good-taste-coding-requirement-99749f37684a
semver
Exemple pragmatique : https://facebook.github.io/react/blog/2016/02/19/new-versioning-scheme.html
anti-pratiques
- http://us3.campaign-archive2.com/?u=1090565ccff48ac602d0a84b4&id=92902a19e4&e=6dbbf45b40
- http://udidahan.com/2009/06/07/the-fallacy-of-reuse/
Open-source, community
- Rust and the limits of swarm design http://esr.ibiblio.org/?p=7303
Méthodologie
- multi-tâches http://blog.valtech.fr/wp-content/uploads/Multitasking-Name-Game-FR.pdf
- http://xprogramming.com/articles/refactoring-not-on-the-backlog/
Modèle économique
- http://blog.whatsapp.com/index.php/2012/06/why-we-dont-sell-ads/
- Erreur Adobe http://designinthebrowser.com/adobes-epic-fail-sparks-fireworks-and-competition/
Légal
scunthorpe problem
- https://en.wikipedia.org/wiki/Scunthorpe_problem
- https://www.reddit.com/r/gaming/comments/9sl8gp/list_of_banned_words_in_red_dead_2/
- https://tech.slashdot.org/story/18/08/29/2044221/the-scunthorpe-problem-has-never-really-been-solved
- http://en.wikipedia.org/wiki/Seven_dirty_words
- The Battlestar Galactica version of one of the big seven: http://en.battlestarwiki.org/Frak
Culture
- http://fr.wikipedia.org/wiki/Guru_Meditation
- agile http://www.commitstrip.com/fr/2014/03/20/new-dev-model/
- https://en.wikipedia.org/wiki/Hexspeak
commitstrip
- http://www.commitstrip.com/fr/2012/07/20/mise-en-prod/
- http://www.commitstrip.com/fr/2012/08/03/la-fille-codeur/
- http://www.commitstrip.com/fr/2012/08/09/le-dilemne-de-la-reprise-de-projet/
- http://www.commitstrip.com/fr/2012/08/13/un-projet-comme-les-autres/
- http://www.commitstrip.com/fr/2013/08/26/juste-un-hobby-quil-disait/
- http://www.commitstrip.com/wp-content/uploads/2013/03/Ne-pas-pousser-en-prod-le-vendredi-print1.jpg
- http://www.commitstrip.com/fr/2012/09/10/tu-vas-pas-faire-ca-manuellement/
- http://www.commitstrip.com/fr/2012/09/07/looking-for-a-job-level-coder/
- http://www.commitstrip.com/fr/2012/09/18/cest-toujours-une-histoire-de-contexte/
fun
background music
- https://coderadio.freecodecamp.org/
- https://www.sbs.com.au/radio/chill
- lofi hip hop radio - beats to relax/study to https://www.youtube.com/watch?v=5qap5aO4i9A
Divers
Règles de codage
- http://jscode.org/ http://jscode.org/8d1f68 Développeurs marquants (fr)
- https://www.slideshare.net/secret/DpLoHnP4yKHsJc
à trier
- http://en.wikipedia.org/wiki/Programmer
- typologies :
- http://stevenbenner.com/2010/07/the-5-types-of-programmers/
- http://www.techrepublic.com/blog/10things/10-types-of-programmers-youll-encounter-in-the-field/262
- http://www.codinghorror.com/blog/2007/11/the-two-types-of-programmers.html
- http://www.webdesignerdepot.com/2010/05/7-personality-types-of-developers-today/
- http://codeutopia.net/blog/2009/08/09/the-three-types-of-programmers/
- http://members.adug.org.au/2011/12/04/programmer-types/
- http://www.infoworld.com/d/application-development/programmer-personality-types-13-profiles-in-code-185343?page=0,0
- http://www.makinggoodsoftware.com/2010/01/27/types-of-programmer-or-%E2%80%9Cwhy-can%E2%80%99t-we-be-friends%E2%80%9D/
- Tests :
- typologies :
- microservices https://allegro.tech/2019/04/from-php-to-java-and-back-again.html
Blogs
Divers :
-
http://www.einarsen.no/programmer-personality-types-and-why-it-matters-at-all/
-
semantic versionning : http://semver.org/
-
streams : http://howtonode.org/streams-explained
-
logging : http://www.faqs.org/rfcs/rfc3164.html, https://github.com/bevry/caterpillar
-
http://www.dev.gd/20130122-the-joys-of-having-a-forever-project.html
Vu :
- dans une fonction "save" : ifHasBeenUpdated then error. En fait, isHasBeenUpdatedBySomeoneElse
- http://blog.jooq.org/2014/09/12/why-you-should-not-implement-layered-architecture/
- http://colinm.org/language_checklist.html
- http://blog.jooq.org/2014/07/25/top-10-very-very-very-important-topics-to-discuss/
- http://afsy.fr/avent/2013/02-principes-stupid-solid-poo
Techniques :
* no commented code or "useless now but maybe useful in the future" code. If it's WIP, then OK but it MUST have a reference to an issue
* https://hackernoon.com/50-data-structure-and-algorithms-interview-questions-for-programmers-b4b1ac61f5b0
* https://dev.to/jhotterbeekx/my-solution-is-the-best-1pjk
* https://dev.to/aviaryan/why-you-should-do-competitive-programming-even-if-a-little-1hf8
* https://scotch.io/bar-talk/5-tips-to-write-better-conditionals-in-javascript
* https://www.python.org/dev/peps/pep-0020/
* http://www.cs.yale.edu/homes/perlis-alan/quotes.html
* https://dev.to/conw_y/towards-zero-bugs-1bop
* https://dev.to/antjanus/my-top-10-programming-proverbs-2a4d
* https://dev.to/emmawedekind/101-tips-for-being-a-great-programmer-human-36nl
* https://dev.to/taillogs/the-best-book-to-read-as-a-developer-1h4m
* https://dev.to/jamesmh/how-to-become-a-senior-developer-3di3
* https://blog.sapegin.me/all/avoid-conditions/