Slide 1

Slide 1 text

Developer Productivity AbdulKabir Sulaiman, Fullstack Engineer, OneLiquidity. Lead, GDG St. John’s

Slide 2

Slide 2 text

What are we doing? ● Behaviours ● Deviation ● Technical ● What’s on your mind?

Slide 3

Slide 3 text

Behaviours

Slide 4

Slide 4 text

Behaviours ● Work/focus mode - Configuring Slack/Discord/Teams notifications. ● Work/Home/Public status - only contact/message when urgent. ● Lessening meeting times, normalizing leaving unimportant meetings. ● Find peak time/take breaks - optimize output (90/20 - 20/5). ● Define goals for the day. ● Notes - Notion, Notes, Keep, Obsidian - learnings, bugs ● Getting things done.

Slide 5

Slide 5 text

“My only productivity hack is stand up and walk away from the computer. Rest time is best time, and I end up doing more later if i don’t force it. An important aspect to that is not judging yourself for taking the time to consider and relax before solving anything. Weird left-turn here, but there it is.” -Andrew DeRoche (Technical Lead Developer, Verafin) …this is not Andrew

Slide 6

Slide 6 text

Do you leave things working fine or make it as optimal as possible? You miss out on the experience gained on edge cases and unusual scenarios that you wouldn’t come across doing the basic work. Observation and Passive Learning Shower temperature drop Advent of code Work assignments - speed, size

Slide 7

Slide 7 text

Technical

Slide 8

Slide 8 text

Custom Bash commands Avoid error, challenges, typos, ‘copies’ and ‘pastes’ open .bash_profile // add aliases source .bash_profile: // run commands

Slide 9

Slide 9 text

Ansible - Dotfiles Top level - hosts: localhost become: true pre_tasks: ... vars: ... tasks: ... Task - name: string _SOME_ACTION_ tags: - list - of - tags - name: Install oh my zsh shell: curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/inst all.sh Setting up new PC - Installing libraries, packages and enabling preferences - Ansible (Cloud configuration platform) - Examples

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

tmux tmux kill-server tmux list-sessions tmux list-sessions tmux new-session -s "foobar" -d -c "$HOME/personal/project" tmux new-window -n "foobar" -c "$HOME/personal" tmux switch-client -t "foobar" Kitty, Alacritty, warp.dev tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. tmux commands, windows and sessions management, directory

Slide 13

Slide 13 text

Technical ● Use already built tools and libraries (speed, size, env, GPT-3) ● Navigation and Window management (Yabai - Mac, bug.n - Windows) ● Git rebase - https://github.com/MitMaro/git-interactive-rebase-tool ● GitHub Copilot · Your AI pair programmer

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Git Worktrees Worktree - active change in branches, named commit, branch folders, version builds git clone -bare https://github.com/JustCabyr/reddit-cli.git LICENSE package-lock.json reddit.mjs README.md package.json default repo directory HEAD description info packed-refs config hooks objects refs worktree repo directory tldr git-worktree git worktree add foo -b foo Preparing worktree (new branch 'foo') HEAD description hooks objects refs config foo info packed-refs worktrees

Slide 16

Slide 16 text

Run your code ● Please ○ Run your code ■ Please ● I beg you ○ You’ve been coding for 30 minutes run it!

Slide 17

Slide 17 text

What’s on your mind?

Slide 18

Slide 18 text

Resource ● Developer Productivity ○ https://frontendmasters.com/courses/developer-productivity/ (Get free student access) ● NDev Slack ● Friends and Family

Slide 19

Slide 19 text

Bye!

Slide 20

Slide 20 text

Bye!