40 KiB
Table of Contents
Productivity 💻
See also Dotfiles / Aliases and Shell aliases
News
- Itamar Turner-Trauring - Become more productive ; articles about being more productive as programmer without necessarily working longer hours
Learn
- 🔥 Sonkeng Maldini/Best-websites-a-programmer-should-visit - Best websites programmers should visit
- Java Code Geeks - (2013) 10 Productivity tips for software developers
- ⭐ J. B. Rainsberger - Avoiding Distractions While Programming
- Moran Danieli-Cohen - 3 Effective Ways to Maintain High Energy Levels at Work for Software Engineers
- Alex Thunder - Don't wake up the programmer
- Marcos Placona - That "5 minutes chat" with a developer
- Paul Graham - How Context Switching destroys Developers Productivity and how to fix it.
- Dan Richman - (2016) Just shut up and let your devs concentrate
- Clean Coder Blog - (2016) Blue. No! Yellow! Comparative Productivity of Programming Languages
- Nick Janetakis - Who Else Wants to Boost Their Terminal Productivity With tmux?
- Aurore Malherbes - (2017) Become a better developer with an efficient technical watch
- Joseph Kahn - Ansible or: How I Learned to Stop Wasting Time Setting Up My Computer and Script It
- Dwijadas Dey - 6 Tools to Search Source Code for Developers in Linux
- ⭐ sindresorhus/awesome - Curated list of awesome lists
- Gregg Caines - (2015) We're in the Stone Age of Software Engineering Management
- Gregg Caines - (2011) Agile: The Good Parts
- Evan Hahn - Install a list of Atom packages from a file
- Habitica - improve your habits by making a game of your life
- jamb0ss/awesome-ambient-noises - A curated list of awesome ambient noises for listening while programming
- DΛTΛSSETTE - music for programming
- /r/dailyscripts - late-night hacks lazy people made when too annoyed by a task's length or difficulty
- Atom on Slack - Slack community for Atom Text editor
- Automations Tools Bootcamp on Slack - Development tools that enable automation of software projects
- Code search for Developers - search for code snippets
- ⭐ Command line fu - a place to find those command-line gems that you return to again and again.
- NanoDano - "I know how to program, but I don't know what to program"
- URL Encoded Characters - mapping table of encoded characters in URLS (%20, %22, %7D, ...)
- mehcode/Awesome Atom - A curated list of delightful Atom packages and resources
- MorganGeek - some programming and life lessons, collected from various sources including myself
- Bash One-Liners - Bash one-liners, and best practices in Bash shell scripting
- Andrew Gallant - ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}
- jq Docs - online manual for jq (a lightweight and flexible command-line JSON processor)
- Online syntax highlighting - Online syntax highlighting for multiple languages
- Codeanywhere - cross platform Cloud IDE
- Coderwall - programming tips / learn something new
- Atom - All packages
- Jessica Kerr - Growing Your Tech Stack: When to Say No
- Heather Knight - What Writers Can Teach Programmers
- Tom Limoncelli - troubleshooting : a list of dumb (and not so dumb) things to check
- Ask Ubuntu - How to navigate long commands faster?
- Whitson Gordon - Become a Command Line Ninja With These Time-Saving Shortcuts
- Daniel Miessler - A tmux Primer
- Daniel Miessler - How to Connect to a Local Port on a Remote SSH Server
- Stack Exchange - Has Stack Overflow saved billions of dollars in programmer productivity?
- John D. Cook - (2009) Where does the programming effort go?
- Scott Davis - (2014) From LAMP to MEAN : Introducing the MEAN stack
- Slant - this community of enthusiasts provide recommendations on lot of things / useful to find best tools for the job
- Repo you may like - Select some GitHub repository and see what recommendations comes up
- Andrew Bosworth - Say No
- Andre Meyer - (2014) Software developer’s perceptions of productivity
- Jeff Geerling - (2017) dockrun oneshot — quick local environments for testing infrastructure
- BurntSushi/ripgrep - ripgrep combines the usability of The Silver Searcher with the raw speed of grep.
- sharkdp/fd - A simple, fast and user-friendly alternative to find.
- Rachel Andrew - (2014) Developing Robust Deployment Procedures
- pre-commit/pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
- Umer Mansoor - (2016) Do Experienced Programmers Use Google Frequently?
- kdeldycke/awesome-falsehood - Curated list of falsehoods programmers believe in
- braydie/HowToBeAProgrammer - A guide on how to be a Programmer
- Meghan Hebel - Why You Don’t Deserve That Dream Developer Job
- Meghan Hebel - Stop Sabotaging Your Code…Before You Even Code
- Artem Stepanenko - How to become a better Stack Overflow user in five simple steps
- freeCodeCamp/how-to-contribute-to-open-source - A guide to contributing to open source
- Awesome Repos - the top of awesome repositories
- Devhints - collection of Rico's cheatsheets about programming, DevOps, etc.
- Itamar Turner-Trauring - (2017) The Programmer’s Guide to a Sane Workweek
- Recalll - search engine for programmers, to search programming queries from sites such as stackoverflow
- Hemanth HM - Functional Programming Jargon
- DEV - collaborative list of time saving UNIX pipeline commands
- tomnomnom/gron - Make JSON greppable!
- Super User StackExchange - git : avoid being asked “Enter passphrase for key ” when I'm doing ssh operation on a remote host
- Philippe Bourgau - (2017) 13 Tricks for Successful Side Projects
- Yegor Bugayenko - (2014) How Much Do You Cost?
- James Routley - (2017) Using a logbook to improve your programming
- Raymond Rutjes - (2017) Pragmatic Releasing: Less Worry, More Shipping
- BubuAnabelas/awesome-markdown - A curated list of delightful Markdown stuff.
- mezod/awesome-indie - Resources for independent developers to make money
- ripienaar/free-for-dev - list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev. Website : Free for developers
- nvbn/thefuck - Magnificent app which corrects your previous console command.
- tldr-pages/tldr - collection of simplified and community-driven man pages.
- accatyyc/tldr-man - A Makefile that creates manpages from all the tldr-pages/tldr.
- Joël Spolsky - (2007) Evidence Based Scheduling
- Joël Spolsky - (2001) Human Task Switches Considered Harmful
- Software Engineering Stack Exchange - What is the single most effective thing you did to improve your programming skills?
- Joël Spolsky - (2005) Making Wrong Code Look Wrong
- Joël Spolsky - (2000) Painless Bug Tracking
- Joël Spolsky - (2009) The Duct Tape Programmer
- Joël Spolsky - (2000) Things You Should Never Do, Part I | About rewriting code from scratch
- Alex Ott - Functional programming books overview
- Pekka Väänänen - (2017) Desktop compositing latency is real and it annoys me | about input latency on Windows 10 vs Windows 7
- FoundersGrid - (2014) How 50+ Startups Manage Their Code
- Michael Lynch - (2017) How to Do Code Reviews Like a Human (Part One). Bonus : Part Two
- Jessy Bernal - (2017) Handling bugs at Doctolib
- Chris Hermansen - (2018) Two great uses for the cp command: Bash shortcuts
- Angie Jones - (2018) 6 reasons to co-locate your app and automation code
- Andy Zaidman - (2015) Old Habits Die Hard: Why Refactoring for Understandability Does Not Give Immediate Benefits
- Paul Johnston - (2017) Serverless is about Automation, not Functions
- Emily Yu - (2018) How I Coded Everyday for 365 Days
- Chris Harris - (2018) Yearly lessons learnt by a freelance developer concerned with holistic productivity.
- Matt Fletcher - (2018) Today’s Code Is Tomorrow’s Legacy Project – Make It Easy to Resurrect
- Safia Abdalla - (2018) Tips for reading new codebases
- Antonio Bello - (2017) Learning Techniques for Programmers, by Programmers
- Coda Hale - (2017) Virtual Machines Are Fleeting Things | In which the pain of attachment is avoided.
- Dan McKinley - (2017) You Can’t Have a Rollback Button | The internet is a big truck. It’s really hard to drive it backwards.
- Steve McConnell - (1998) Dealing With Problem Programmers
- Steve McConnell - (1996) Classic Mistakes
- Gregg Caines - (2015) Reclaiming Value From Bugs and Outages: Thoughts on Post-Mortems
- Lemi Orhan Ergin - (2017) [Slides] Fighting with Waste Driven Development : Lean Thinking. Bonus : Video
- ⭐ Pierluigi Vernetto - (2015) End of my 3.2 years contract on a OSB integration project.... lesson learned. | some good lessons learned for developers / project management
- Maxime Thirouin - 🇫🇷 [FR] (2013) Automatisez votre workflow front-end
- Zach Holman - (2012) Unsucking Your Team's Development Environment
- Markus Harrer - (2017) What prevents you from doing software development effectively?”
- Markus Harrer - (2015) Video: Modern Software Development Antipatterns
- fkingma@xebia - (2017) Purpose : What are we doing? And why?
- Dave Nicolette - (2016) 5S for Software Teams
- Gregg Caines - (2014) I Don't Miss the Sprint | about team productivity in Scrum
- Zach Holman - [Slides] move fast & break nothing | a talk about code, teams & process
- Zach Holman - [Slides] (2011) How GitHub Uses GitHub to Build GitHub
- Addy Osmani - [Slides] (2014) Front-end Tooling Workflows | 198 slides on tools to help you stay productive on the front-end
- Mandi Walls - (2017) Configuration Management is Old and Boring
- Lewis Menelaws - (2018) How to Fix Burnout as a Developer
- Jeffrey Ventrella - (2013) The Case for Slow Programming | “Slow down, son. You’ll get the job done faster.”
- Nathen Harvey - (2017) The Journey to Continuous Automation
- Libraries.io - discovers millions open source libraries accros +36 package managers
- Increment Staff - (2017) What it’s like to be a developer at …
- Jerome Kehrli - (2017) Periodic Table of Agile Principles and Practices
- tamar Turner-Trauring - (2016) Less stress, more productivity: why working fewer hours is better for you and your employer
- Itamar Turner-Trauring - (2016) Work/life balance will make you a better software engineer
- Itamar Turner-Trauring - (2016) Improving your skills as a 9 to 5 programmer
- Itamar Turner-Trauring - (2016) Still stuck at the end of the day?
- Itamar Turner-Trauring - (2017) Technical skills alone won’t make you productive
- Itamar Turner-Trauring - (2016) Code faster by typing less
- William Shawn - (2017) How to Read Code (Eight Things to Remember)
- Tyler Hoffman - (2017) Code Reviews as a Tool to Boost Productivity
- Alex Zurek - (2017) TODO Comments Don’t Work
- Itamar Turner-Trauring - (2016) More learning, less time: how to quickly gather new tools and techniques
- Nick Humrich - (2017) Yes, Python is Slow, and I Don’t Care | A rant on sacrificing performance for productivity.
- repl.it - Online REPL, Compiler & IDE : Boot up a programming environment for your favorite language | including JavaScript, Python, Ruby, Java, Node.js, Go, Scheme, C, C#, C++, Lua and many more.
- Itamar Turner-Trauring - (2016) Don’t get stuck: 6 ways to get unstuck and code faster
- Itamar Turner-Trauring - (2016) From 10x programmer to 0.1x programmer: creating more with less
- Gregg Caines - (2017) The All-or-Nothing Principle
- John Cutler - (2018) We Can’t Do That In One Sprint
- Shaun Finglas - (2015) Waste: Write Less Code
- Lieven Vaneeckhaute (denshade) - (2015) Fail fast, spend less time in root cause analysis
- Software Engineering Radio - (2018) SE-Radio Episode 317: Travis Kimmel on Measuring Software Engineering Productivity
- Ashton Kemerling - (2012) The Myth of the Lone Hacker | without the effort of countless other engineers, part and full time, their projects would have never made it off the ground.
- Michael Hoffman - (2013) How to be Stuck - Learning to learn to code on the internet
- Robert Ecker - (2017) The Problem With High Test Coverage
- Max Kanat-Alexander - (2013) The Secret of Fast Programming: Stop Thinking
- Thomas Peham - (2016) How to be a faster programmer: 7 helpful tips for being faster & more successful.
- Michael Lynch - (2018) Why I Quit Google to Work for Myself
- Steven A. Lowe - Code faster: 53 tips from the pros
The only way to go fast is to go well. Every time you yield to the temptation to trade quality for speed, you slow down. Every time. Robert C. Martin
- Christian Maioli Mackeprang - (2018) 35 programming habits that make your code smell
- Christian Maioli Mackeprang - (2018) How terrible code gets written by perfectly sane people
- Software Engineering Tips - (2010) Communication Tips
- Nir Cohen - (2016) Trained Engineers - Overnight Managers (or, The Art Of Not Destroying Your Company)
- ezekg/git-hound - Git plugin that prevents sensitive data from being committed.
- dxa4481/truffleHog - Searches through git repositories for high entropy strings and secrets, digging deep into commit history
- rondy - Effective Engineer - Book Notes. Bonus see also The Effective Engineer website and Effective Engineer Blog
- Brandon Sheffield - (2017) Developers share their most memorable dirty coding tricks
- Dan Kelch - (2017) Git Good: Improve Your Version Control Skills
- Ben Thompson - (2017) 2017 Software Developer Productivity Survey
- Ben Thompson - (2016) 6 causes of code churn and what you should do about them
- Brian Graham - (2017) What slows development teams
Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. – Douglas Hofstadter
- RegExr - is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
- Joël Spolsky - (2001) Don’t Let Architecture Astronauts Scare You | about productivity
- Ben Thompson - (2016) What’s taking so long?
- Tim Ottinger - (2014) Programming Is Mostly Thinking
- Tim Ottinger - (2017) Managing Programmer Productivity
- Tim Ottinger - (2017) Taking Breaks in a Disciplined Way | Take breaks otherwise pairing will drain your energy
we don't take breaks because we are tired, we take breaks so that we are never tired.
- Bill Wake - (2015) Multiple Asserts Are OK | Some people suggest we should restrict ourselves to a single assertion per test. Are multiple asserts in a test ever OK?
- Joshua Kerievsky - (2005) [PDF] (2002) Stop Over-Engineering!
- Joshua Kerievsky - (2010) Sufficient Design
we need high design quality for stuff that is critical to our products and less design quality for stuff that isn't critical.
- Luu Duong - (2009) Applying the "80-20 Rule" with The Standish Group’s Statistics on Software Usage | 80% of users only use 20% of features.
- Joshua Kerievsky - (2010) Redefining Done
"A user story is done when the code is fully integrated, all tests pass and the functionality meets the expectations of the story author(s)." The race to get work done, especially to show management that we got work done is far less important than focusing on creating happy, productive users. A story isn't done until it is being used by real users in production and has been validated to be a useful part of a product.
- John Sonmez - [Video] (2016) Being A Slow Developer... Am I Screwed? | on slow programming, clean code & productivity. Don't rush, do it right, do it clean then do it fast.
- Jeff Atwood - (2004) We Make Shitty Software.. With Bugs! | Software is a process, it's never finished, it's always evolving.
- Jeff Atwood - (2007) Do Not Buy This Book
- Petter Måhlén - (2011) If it’s Broken, Fix It
- Jakub Skałecki - (2017) Automatic code quality checks with git hooks
- GitHub Help - searching code / tips & tricks
- AnyAPI - Documentation and Test Consoles for Over 500 Public APIs
- Michael Malis - (2017) How to Improve Your Productivity as a Working Programmer | It only takes one or two changes each week for things to quickly snowball.
- Jan Mewes - (2018) How to pick up a new technology in minimal time?
- Ronald Jeffries - (2018) Developers Should Abandon Agile
- Ben Halpern - (2018) Write clean code and avoid the distractions of emerging technology | stay excited by the trends, but be impassioned by the small improvements you can make in the quality of your work.
- chubin/cheat.sh - Cheat.sh - the only cheat sheet you need | allow to browse cheatsheets from internet using curl
- aloisdg/awesome-regex - A curated collection of awesome Regex libraries, tools, frameworks and software
- Liz Bennett - (2015) Regexes: The Bad, the Better, and the Best | A Story about How Just a Few Characters Can Make Such a Big Difference in Performance
- RexEgg - (2014) The Greatest Regex Trick Ever
- RegEx Hub - Useful Regex Patterns
- Regular Expression Library - Search for RegEx patterns
- Tyler Hakes - (2018) How to Measure Developer Productivity
It’s easy to accomplish 100 small tasks to make yourself look more productive. But in many cases, it’s the one, big, ugly project that takes the most time and is holding us (and the rest of the team) back from moving forward. Measuring productivity can be difficult. But using the wrong metrics makes it impossible.
- John D. Cook - (2009) Why programmers are not paid in proportion to their productivity
- extreme productivity may not be obvious
- programmers are most effective when they avoid writing code
- when they are being their most productive, nobody says “Wow! You were just 100x more productive than if you’d done this the hard way. You deserve a raise.”
- it may take a long time to realize that others are programming with sound and fury but producing nothing.
- Osman (Ozzie) Ahmed Osman - (2018) Just-In-Case vs. Just-In-Time Learning | Should software engineers learn new things “just in case” we need them in the future? Or should we learn the things we need “just in time”, when we realize we actually need them?
- Gaurav Makhecha - (2018) Time saving habits for programmers
- Forget office politics
- Code quality
- ...
- Paul Graham - (2007) Holding a Program in One's Head
- ⭐ regex101 - Free Online PCRE-based regular expression tester and debugger with real time explanation, error detection and highlighting for PHP, PCRE, Python, Golang and JavaScript
- Rextester - run code online
- Hacker Tools - Learn to make the most of the tools used by hackers / programmers
- Kent C. Dodds - (2017) Write tests. Not too many. Mostly integration.
- Martin Fowler - (2019) Is High Quality Software Worth the Cost?
- ⭐ DistroTest - The first online operating system tester | Take a look at the existing linux distributions, test them live online and thus without any installation
- ⭐ gitignore.io - Generate useful .gitignore files for your project. See also Source Code
- 1x Engineer - a non-exhaustive list of what qualities make up a 1x engineer.
- Dan Slimmon - (2019) Do-nothing scripting: the key to gradual automation | pattern for scripts that do nothing but still help on the road to automation
- ⭐ Eric Pement - (2008) Handy one-line scripts for awk
- Senthil Kumar aka SK - (2018) Some Random One-liner Linux Commands [Part 1]. Bonus : Part 2, Part 3, Part 4
- Bash-Oneliner - A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance. Bonus : GitHub repository
- crontab guru - The quick and simple online editor for testing cron schedule expressions
- Remy Sharp - (2018) CLI: improved | presentation of several powerful CLI tools
- wwong99/useful_commands.md - Useful commands By @climagic
- dbeniamine/cheat.sh-vim - Use cheat.sh from VIM
- clvv/fasd - Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v.
- donnemartin/haxor-news - Browse Hacker News like a haxor: A Hacker News command line interface (CLI).
- ⭐ alebcay/awesome-shell - A curated list of awesome command-line frameworks, toolkits, guides and gizmos.
- Simon Wirtz - (2019) How Kotlin makes me a more productive software developer
- Loris Cro - (2019) I Want Simple, Not Just Easy
You've surely read plenty about how simple is good, but what's wrong with easy?
- jhspetersson/fselect - Find files with SQL-like queries
- MorganGeek - A gist with all my frequent favorite commands :) "just in case"
- Gregg Caines - (2018) Zero Defect Policy
- musicForProgramming - Music possessing these qualities can often provide just the right amount of interest to occupy the parts of your brain that would otherwise be left free to wander and lead to distraction during your work.
- Andrew Payne - (2020) The Myth of the Myth of the 10x Programmer
- I think 10x developers, like world-class athletes, musicians, and authors, absolutely do exist. You’re just not going to find them with a coding test.
- Highly productive developers (10x or otherwise) are problem-solving at a much higher level.
- Horia Coman - (2020) Jupiter Dev Log 3 - Lint All The Things
- Jeffrey Paul - (2019) Stupid Unix Tricks
- Carl Tashian - (2020) SSH Tips & Tricks for using SSH more effectively.
- asdf-vm/asdf - Extendable version manager for multiple languages | Manage multiple runtime versions with a single CLI tool, extendable via plugins
- github/gitignore - A collection of useful .gitignore templates
- Mike Crittenden - (2020) Learning a technology you don’t need right now is a waste of time
- Jessica Joy Kerr aka jessitron - (2017) Hyperproductive development
- Async Manifesto - (2014) Manifesto for Async Software Development | Principles of Async Software Development
- Logan Mayville - (2018) How Being Busy Kills Productivity | How doing less can help you be more productive
- Focus on results; not time : Time tracking is unavoidable in some instances, but rather than the rule by which companies operate, it should be used as a secondary metric to the results they achieve. Rather than give an employee a 2-hour window to do a job, have her do it right the first time (bonus points for documenting the process), then review and adjust your future plans based on time tracking data.
- Improve systems : Improving systems helps remove busywork from an employee’s day, but it also makes things easier for the customer.
- Whether you’re getting a lot of satisfaction from being busy or just feeling exasperated, don’t forget to occasionally stop and ask yourself: Is this the best use of time?
- Eric Elliott - (2019) TDD Changed My Life
- James McTiernan aka Jimmy - (2021) How To Use Zettelkasten as a Programmer or Developer
- kettanaito/naming-cheatsheet - Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern.
- Yossi Kreinin aka wetware - (2013) 10x more selective
So I believe, having authored a lot of code that went down the toilet, that you don't get productive by working as much as by not working – not on stuff that is likely to get thrown away.
- Unix Sheikh - (2021) How to write software than will keep working for decades without problems
- Learn X in Y minutes - Take a whirlwind tour of your next favorite language. Community-driven!
- Nicolas Karolak - 🇫🇷 [FR] (2019) Les raccourcis clavier de Bash
- Spencer Baugh - (2022) Prefer to change the code rather than write a workaround
- Spencer Baugh - (2021) Write code, not configuration
Tools
- Devhints - Rico's cheatsheets | TL;DR for developer documentation
- Semver check - More and more projects try to follow Semantic Versioning to reduce package versioning nightmare and every dependency manager implements its own semantic versioner. Composer and NPM for example don't handle version constraints the same way. It's hard sometimes to be sure how some library version will behave against some constraint. This tiny webapp checks if a given version satisfies another given constraint.
- CodeElf - Search over Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project, GitLab to find real-world usage variable names | A search tool helps dev to solve the naming things problem. Source code : unbug/codelf
- Mattia Gheda - (2020) So, tell me about Nix
- antonmedv/fx - Command-line tool and terminal JSON viewer 🔥
- Mattia Gheda - (2020) Speedy Development environments with Nix and Docker
- namae - Grab a slick name for your new app | Check availability for your new app name ideas across major registries at once.
- rfc.me - Append an RFC number to the domain and it will redirect to that RFC. Example: rfc.me/1738
- rfc.fyi - Search for RFCs, Fast — When they say ‘fast’ they’re not lying. This site is amazingly nimble at helping you track down the particular RFC you want, whether you want to read the FTP spec, a protocol for controlling coffee pots, or how QUIC works.