From my experience the only big changes I'd say I made overtime are:
Font size bumped up
Switched to neovim from visual studio, which took like a year to relearn my entire workflow (100% worth it though)
Switched from multiscreen setup to one single big screen (largely due to #2 above no longer needing a second screen, tmux+harpoon+telescope+fzf goes brrrr)
Switched to a standing desk with a treadmill, because I became able to afford a larger living space where I can fit such a setup.
If I were to do this meme though it'd mostly be #1, there just came a day when I had to pop open my settings and ++ the font size a couple times, that's how I knew I was getting old.
Try starting with LazyVim! It has a great selection of plugins pre-set, and it all works out of the box. It's a great way to get started, and then you can add/remove plugins later on. Also, it's keymap-shortcut page is great for the first week or so of learning the commands.
I try and start using it for basic tasks, like note taking, to get used to its interface and basic commands like :w and :q, as well as switching between insert and cmd mode.
Once you are familiar with switching between modes, copying, pasting, etc, then you probably will wanna Starr learning it's lua api and how to load in some QoL plugins. Basic stuff like treesitter, telescope, and nvim-tree are good places to start.
Once you feel comfortable with swapping between files with telescope and configuring plugins, I'd deep dive into getting an LSP up and running for your language of choice so you can actually code.
In the interim I'd recommend getting comfy with using tmux in your terminal, try and open new tmux tabs to do units of work instead of constantly cding around.
I like to keep 4 tmux tabs open for a project:
nvim
lazygit
secrets file open in nvim (usually my secrets file is in another dir so it doesn't check into git)
The videos by TJ DeVries seem like probably the best starting point there is. He's a contributor, has built a setup script that's meant to be minimalistic and configurable, and has tons and tons of info about running through all of it yourself.
Yup, I usually have it set to the slowest setting when typing.
I find I work much better and can think clearer while walking, as it keeps the blood flowing and makes me feel more awake and engaged.
If I have a tough problem I'm trying to work through I turn the speed up to a faster pace and sorta just work through it in my head while speed walking, often this helps a lot!
During meetings when I'm bored I also turn the speed up a bit.
I often get around 10k to 12k steps in a day now.
Note I don't stay on the treadmill all day long, I usually clock a good 4 hours on it though.
Then I take a break and chill on the couch with my work laptop, usually I leave my more "chill" tasks like writing my tests for this part, and throw on some Netflix while I churn all my tests out.
Highly recommend it, I've lost a good 15ish lbs now in the past year since I started doing it, and I just generally feel a lot better, less depressed, less anxious :)
I have heard of jupyter but am not familiar with its nuances.
But doing python dev with neovim is very doable, it uses the same LSP I think.
I personally have a dedicated dev machine running debian that has everything on it, including nvim configured.
I SSH into my dev box from other machines to do work, because neovim is a TUI it "just works" over SSH inside the terminal itself, which is what I like about it.
It feels good to just
SSH into my box
tmuxinator my-project-name
And boom, 4 tmux tabs pop open ready to go in the terminal:
nvim (pointing at the project dir)
lazygit already open
nvim (pointing at my secrets.json file elsewhere)
an extra general console window opened to project root
And I can just deep dive into working asap in just those 2 steps, it feels very smooth.
I often can even just do tmux a (short for attach) to just straight re-open whatever session I last had open in tmux, instantly jumping right back into where I left off.
Senior dev here, and dark theme is the best, really, how could we used white as shit screens/IDE before is beyond me. Everything is dark theme here. Using dual 27" 4K (in Linux, using 120DPI for fonts), lot of spaces, readable, smooth fonts
I live in a mid rise apartment with big beautiful windows, and light mode is easier to read in a bright ass room. And I don’t need to deprive myself of sunlight be working in a pitch black basement office, I’m depressed enough as it is.
Just explaining my situation, in a mid-lit room I could go either way. Dark room -> dark mode
On a serious note, maybe just let people work however they like to work?
Dark theme everywhere has been such a blessing for me as it is way less straining on my eyes.
(Almost everywhere, fuck you google calendar. Wish I didn’t have to use you at work.)
Dark mode in the dark makes your pupils do funny things like constantly widening and narrowing. Dark mode with a backlight is the best. Any screen in the complete darkness is like self destruction to the eyes
Mine sure aren't with light mode, even in brightly lit office environment. Different people have different eyes, and needs. What may be an unnecessary gimmick for you may very well be vital to the next person's livelihood.
Another senior dev here, one of those weirdos who likes light mode. Sometimes. VS Code’s light mode is blinding to me, and I never use it. But Nova’s is beautiful and I prefer it. It depends how well the app renders fonts and colors. The oversaturated colors used in most apps are a big problem.
VSCode has theme support; there are light themes, that are not so bright and dark themes that aren't that dark.
I prefer a very dark gray, a very good font (Iosevka, tuned to my needs) and an appropiate font size (because wearing glasses).
I hope, I never get this senior title. It is complete BS to me. And I am glad, that my junior status is gone for good and I have a job title that does not try to tell something about my expierience!
I think perfection is probably somewhere between dark and light themes. Light can frequently be too bright where it feels like you're looking into the sun. And dark can be like working in literally the dark, and it's sometimes too difficult to see the boundaries between objects. I think it would be cool if we had a sliding scale, where you can pick from several brightness levels.
Maybe you've been using themes with too much contrast ? I mean, I can't work on a light theme for any extended period of time, but most dark themes are too stark and eye searing for me, so that may be your case too?
Straight out of uni, know the latest developments while having also studied long established standards and specifications (like POSIX, LSB, SQL, etc), full of energy, and ready to speedrun burning out any %
Senior dev:
Hasn't learned anything substantial in decades, uses outdated specs because "who got the time for that, and legacy stuff works just as well anyway", copy pastes most of their work from stack overflow, is only still employed because of their inside information knowledge and the utter absence of documentation leading to a bus factor of one, and has perfected the art of gaming the system to the point of photoshopping a sloppy IDE screen over their WoW game whenever a picture of them "working" gets taken.
Junior dev: Got all the nice addons, RGB lighting, only uses dark theme, got all the stickers, works from either a café or moms basement.
VS Senior dev: Works on company standard issue hardware, barely customizes visuals (but got a script which makes a cup of coffee on the shared machine in exactly 2 minutes and 30 seconds), works in shared office, has old rolling cabinet with unknown artifacts last touched 10+ years ago.
Obviously this is an overgeneralization and not a catch-all, you might even say that it's "programmer humor".