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.
Switching to Neovim is on my to-do list. What do you recommend as a good way to get up to speed?
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.
Or kick start has been my fav. Uses lazyvim
I disagree with this recommendation, the maintainer closed a breaking issue (default syntax highlighting breaks on clean install) saying “workaround exists”. That’s a red flag ime.
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
cd
ing 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)
- a general terminal tab for running commands
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.
You watch Primeagen?
The harpoonagen
Explain (4) a bit more. Do you type and walk?
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 :)
Wow, that’s crazy! Great it’s working for you
I completely understand walking to free up the mind but somehow that doesn’t fit with working at all… Yeah, I can’t reconcile it either
Often people are surprised that I can walk and type but honestly I haven’t found it impacts my wpm at all.
Man I so want to get a treadmill standing desk
Yes! I noticed if it’s faster than 2.5mph, I struggle to type.
Slow it’s usually pretty low.
Yep that’s the idea.
By visual studio do you mean VS Code?
I use VS Code to program python in a Jupyter notebook, can neovim work for that?
Neovim can be used for anything you want! it’s a great experience if you’re willing to take the time and learn it
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.
I’ve been loving telescope and fzf with nvim, but never really got harpoon.
Isn’t it basically just a recents list? I find it easier normally to just type the first couple letters of the file name with fuzzy find
Harpoon is pretty much just tabs, but, without the actual visual ui of tabs, from my experience.
You pin a specific buffer, and can jump back to it, but unlike normal markers it persists between sessions and has a couple other nuances to it.
It pretty much works like tabs do though.
Don’t you have to set the harpoon marks manually? And actually now that I say that isn’t it just a tui on marks?
-
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
I don’t know how other devs tolerate IDEs in the first place. Is not (neo)vim and CLI sufficient?
I was using standard editor and cli for years, but for a couple of years now I’m using code in Linux and it’s really good
Senior developer gets blinded by the morning sun as they code.
Red sky in morning, developer’s warning.
Red sky at night, go home and eat something.
You’ll take my split keyboard and dark mode from my cold dead carpal tunnel hands
Senior dev and I like dark mode because I also like my retinas.
Your retinas will be perfectly fine, if you make sure the whole room is lit. Sunlight is significantly stronger than the backlight from a monitor.
Dark mode and a dimly lit room do make sense, if you’re coding something in the evening and don’t want to disrupt your circadian rhythm.
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.
Well, I’m not trying to take dark mode away from anybody. I assumed, the person I replied to did not have specific health issues, because surely, they would have mentioned them.
Of course, there’s people who genuinely cannot leave the house without sunglasses, because of migraines or an eye operation or loads of other reasons.I was mainly trying to say that it’s not damaging to retinas, if you’ve got otherwise healthy eyes. Or at least the chance of light from a monitor, which has much reduced spectrum and strength than sunlight, being damaging in ways that sunlight is not, is extremely low.
Of course, the advantage of light themes, i.e. better readability in bright rooms (and bright rooms are generally better for mental health, when used during the day, due to stronger activation of circadian rhythm), that’s also ultimately just a matter of comfort.
If looking at a dark theme even just brings you immense joy, then go for it.Wait did you really take the retina thing literally ???
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
I don’t work in the dark. I work during the day, when my employment hours are. When it’s dark I’m not working anymore.
Lucky, privileged even
This is why I’ve stuck around the intermediate level for a long time. my eyes cant take the super dark or super bright.
Definitely just that reason and no others.
Senior what? Accountant?
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.)
As a senior dev, it’s accurate only because I’m rarely coding and always in meetings. 😭😭😭
It is interesting, I got a promotion pretty much exactly when I started using light modes (farewell DarkReader, my beloved).
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!
My eyes hurt too much nowadays to tolerate only dark themes. There’s a good balance in the middle and sometimes light is very good to relax the eyes.
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.
It’s the same as Color balancing. The best solution often depends on the light balance of the room. Nothing stopping you from editing the theme to keep optimize out
Problem is that contrast is not a thing for the “middle” levels.
So, for a white or light gray background, you can have black as contrast color. And for a dark gray or black background, you can have white as contrast color.
But for middle gray, both white and black don’t really provide enough contrast.A slider to at least choose between white, light gray, dark gray and black would still be cool, though.
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?
Things just got darker over here, my screen would be completely black if it were still usable.
Winter is Coming - Light has been my main VS Code theme for years. Alas, no senior title yet…
So you’re saying a junior dev doesn’t know how to work on more than one file at a time, and cannot get a development job during the day?
I’m pretty sure it’s more like
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”.
I got that coffee script reference
What a mad lad. His legend is spoken to this day
I do have that cabinet but I dared to open it 5 years ago. I hope I won’t lose my senior title
…Too late- I mean, too early
VS Senior dev
I see that. Non-VS Senior devs be like: standard issue hardware?
How many years is a senior of that quality at this point?
I’ve been doing it 21 years and I use vscode, and have no cabinets.
Well there’s your problem. You need to get a cabinet.
It does sound convenient.
deleted by creator
Junior dev:
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.
Yeah, checks out.
That sounds… personal?
Seeing that I’m a senior dev, take it any way you want.
who hurt you