The biggest advantages of dotfiles are:

  1. they’re a quick way to learn new technologies
  2. they make programming more efficient and pleasant

I propose:

A necessary condition for being an expert in XYZ techology is to have written your own ~/.xyzrc.

Like all software, writing dotfiles is a process of incremental improvement. Your first dotfiles will not be pretty. As you gain more experience as a programmer you should update your dotfiles to improve your workflow. There are hundreds of dotfiles repos on the Internet, pick one or two and use them as a baseline to create your own set of dotfiles.

Postgres users may find my ~/.psqlrc useful:

-- parse this file quietly
\set QUIET 1

-- history file name, size, and control
\set HISTSIZE 1000
\set HISTFILE ~/.psql_history
\set HISTCONTROL ignoredups

-- prompt
\set PROMPT1 '%n%[%033[32m%]%>%[%033[0m%]@%/>%x '
\set PROMPT2 '...> '

-- aliases. usage: ':version', or ':extensions'
\set version 'select version();'
\set extensions 'select * from pg_available_extensions;'

-- verbosity of error messages
\set VERBOSITY verbose

-- rollbacks inside psql prompt. otherwise do not rollback
\set ON_ERROR_ROLLBACK interactive

-- change how null is display
\pset null '(null)'

-- useful to measure performance of queries

-- restore quiet level
\set QUIET 0