DEV Community

Cover image for My 8 Tips for a Better Life as a Developer

My 8 Tips for a Better Life as a Developer

Jake Lundberg on October 19, 2023

I've been a software developer and engineer for a little over 8 years now and have learned a lot, both from my own experience as well as from some ...
Collapse
 
fredlag profile image
fredlag

Great tips i will also add: Remember to take time for yourself. Going outside for some exercise or meeting up with friends can be a great way to relieve stress.

For the documentation i make a routine and find a creat tool that help me a lot check out here : routine

Collapse
 
wraith profile image
Jake Lundberg

taking time for yourself is definitely important! good addition to the list 😄

nice! finding that routine can really help. the challenge i see for a lot of people is when life forces them out of their routine. with your routine, how do you handle this sort of thing?

Collapse
 
fredlag profile image
fredlag

That’s a good question. Maintaining a routine isn’t easy, which is why I spent a lot of time finding the right tool for me. With this tool, it’s easier for me to write and find things without distractions. Taking a little time to write things down can save you a lot of time in the long run. You need to find the most effective method to simplify this routine. This way, it won’t feel like a burden, but rather a significant game changer.

Thread Thread
 
wraith profile image
Jake Lundberg

Love this response 😍 you just reinforced both points 3 and 8!

Collapse
 
araaranomi profile image
Ara Ara no Mi

Yup, although going out with your friends is difficult when you live 900Km from them xD.

Collapse
 
buaiscia profile image
Alex

really great post! Q: as I struggle to find myself a good way to taking notes and jotting down all the stuff + I'm using Obsidian as well, how did you integrate it, as you say, with scripts to automate it? Could you elaborate on that? I'm so curious!

Collapse
 
wraith profile image
Jake Lundberg

Thank Alex 😃 For automating Obsidian there's a lot you can do. There are tons of plugins, both Core and Community, as well as the option to execute your own JS scripts to manipulate your note files however you'd like.

Some of my fav plugins are:

  • Templater - templates on steroids
  • Dataview - allows you to query and view your notes and files like a database
  • Reminder - adds reminders right into Obsidian
  • Random note - allows you to review a random note to review...really helpful for rediscovering notes you haven't seen in a while

As far as scripts go, your imagination is really the only limitation. For me, I found a process that works for me, and then found small ways to automate it to save myself some time..and whenever I find some time, I plan to do more!

For example, one of my scripts automatically applies specific tags and templates based on prefixes I give my note when it's created. So I can simply create a new note in the root directory, prefix it with one of my predetermined prefixes, and that not will automatically get moved to the right directory, renamed, have tags and other properties applied, and apply whatever template I have setup for that type of note. This has saved me so much time!

But before you start writing scripts willy-nilly, I recommend you figure out a system that works well for you, and then you figure out ways to automate it. Otherwise you could spend a lot of time writing automations that don't actually help you!

Good luck!

Collapse
 
buaiscia profile image
Alex

Thanks, it really needs time to figure out all of this. Good inputs!

Collapse
 
bytebricks profile image
ByteBricks.ai

Keeping PRs small wins

I think that is a very good thing to do in order to always keep motivated by recording every progress through PRs. It is sometimes important to keep self motivation high and for that I make sure to do small tasks that I am very good at using tools I love

Task done neatly === Dopamine for me 😍

Collapse
 
lico profile image
SeongKuk Han

Thanks for the tips and sharing your thoughts. I recently started to review random code from a slack channel. Tbh, I started to do this to show contribution to my future employers but I ended up learning a lot. When I get a thankful comment from the author, that makes my day. Set Goals. I heard about that from many places a lot. If you keep saying your goals to yourself, somehow, it's gonna be really helpful to achieve the goal. I wrote down my goals on my notes but I think the accessibility was not that good because I have to turn on the notes to see the goals. I've written down my goals on sticky notes. I hope it's gonna make a positive change for my life. Thanks again! 👍

Collapse
 
wraith profile image
Jake Lundberg

Keeping goals front and center for yourself can indeed be a challenge. You mentioned one of the challenges a lot of people experience...after they write it down, they have to remember to pull those back up to review them. The post it note method you mentioned helps some people for sure. Unfortunately for me, I just got used to having those notes around and they faded into the background and I stopped looking at them. Hopefully this method works for you though!

Collapse
 
ralphhightower profile image
Ralph Hightower

When I worked at PMS (Policy Management Systems), I was working in a group of analysts and software developers. It was an all IBM shop with a mainframe and IBM PS/2's on the desktop, developing applications for OS/2; even the network used IBM's "Broken Ring" network, aka Token Ring.
The analysts had the IBM "Dove Bar" mouse, which was ergonomic. The developers were second class citizens making do, using the IBM "Rat" mouse; it was thick and shaped like a wedge of cheese.
I had to find a bug in the driver's liability program of the insurance suite for a Finnish insurance company. It was an extremely mouse intensive application, but I found the sequence to replicate the problem. When I left work that day, there was a ribbon of pain in my right arm, from the shoulder to the hand.
I have carpal tunnel in both wrists. Since I'm right-handed, I didn't want a work related injury that restricted the use of my right.
I decided if I get a work related injury, it will be my left hand. The next day, I started mousing left-handed; I didn't swap the assignment of the mouse button. I found that I could take notes while debugging without having to stop and switch hands.
Mousing left-handed also provided entertainment. Susan, one of the business analyst, had to verify the fix on my computer. She's left-handed, but she mouses right-handed. She was having trouble using the mouse left-handed. I mouse right-handed at home, and left-handed at work. I have no trouble switching hands.

Collapse
 
wraith profile image
Jake Lundberg

oof those old IBM mice were terrible! i’ve never heard of someone goin ambidextrous with their mouse though, that’s amazing😂

Collapse
 
shyynux profile image
shyynux

This is just amazing advice, also talking about setup, getting a chair has been life changing for me, only to realise, why i did not get it sooner. I am soon to find my keyboard and mouse.
looking forward for more advice from you.

Collapse
 
wraith profile image
Jake Lundberg

Thank you Shyynux! When you find your keyboard and mouse, let us know what you ended up discovering!

Collapse
 
jordantylerburchett profile image
Jordan Tyler Burchett

The only thing I have a hard time with is deadlines...

I can give myself a date/time in which something needs done whether it be something with development, a task at work, or even just something simple at home like folding laundry. When I initially set the task up in my mind I give myself what I believe is more that enough time. Of course other aspects of life interfere and sometimes I have no choice but to wait or take extra time on the task that I should be using for the next goal.

When this happens I get very disheartened with myself and feel like I've failed because now at these points I have messed up getting to the next thing on my list. Sometimes I get upset to where I'm trying to catch up and skip the second thing and go straight to the third. This is just an example. I've tried not setting deadlines but then I feel like nothing gets done.

Collapse
 
wraith profile image
Jake Lundberg

I completely understand! This is super common, so try to give yourself a break here.

Let me start by clarifying something I may not have explained well enough. Each morning, I think through my goals and tasks and only identify what the next small step is. In a perfect world, I'd be able to get to it that same day, but our world is far from perfect. If I can't get to it today, that's okay. Tomorrow, when I do my sit down, I'll acknowledge that I didn't get that done yesterday and will try again. Just the act of taking time to think about your goals is a step in the right direction.

Next, does the goal require a deadline? Or are you setting one arbitrarily? If there is actually a deadline, it probably means it has a higher priority than some other stuff. So during your daily sit down with yourself, you should work to figure out the priority of all the other stuff you need to do. If the goal is indeed higher priority than the other miscellaneous stuff (laundry, giving the dog a bath, cleaning out the car, etc.) then move one of those other things until tomorrow or the next day.

I mentioned the book Getting Things Done. I would highly recommend reading through it, as it provides a system for making tracking all the things you need to do Much easier and more efficient. Maybe it will help you?

Collapse
 
jordantylerburchett profile image
Jordan Tyler Burchett

Thank you for your reply! I will definitely try to separate my tasks daily instead of monthly and see how well it works for me. I really want to check out the book you recommend as well. Anything that has a chance of making me more productive is worth looking in to.

Collapse
 
kapowbangzow profile image
kapowbangzow

As a person with ADHD, for me, time exists in two categories: Now, and Not Now. Something really helpful I've done is time myself. Pick any task you end up having a deadline for and time yourself. That way you have actual evidence of how long it takes. Even if it's something that takes multiple days, that's fine. I make a note at the top of my project of either "Started (insert date)" or how many hours I put into it each day. Something that when I finish I can go back and see how long it actually took me. It's done wonders for my ability to look at a task and give a reasonable estimate on how long it will take me to finish. Good luck!

Collapse
 
jordantylerburchett profile image
Jordan Tyler Burchett

Thank you for the advice. That makes a lot of sense and I will give it a try to help plan better in the future.

Collapse
 
jodoesgit profile image
Jo

Is all your organization non-digital or do you also keep tabs of things digitally? Also, give more ADHD dev tips, please! In fact, write an article and point me to where it's at =)

Thread Thread
 
jordantylerburchett profile image
Jordan Tyler Burchett

I would also like to read about ADHD dev tips as well. My son is Autistic with ADHD and he's very interested in technology and outer space. This kid is 7 and is incredibly at spelling and great with numbers. I've been thinking about seeing what he thinks about the concept of coding, I think he'd do really well and have a good time doing it.

I'm always interest to learn more about how his brain works, it facilitates me! An article about your experiences and processes developing with ADHD could be a great learning tool for a lot of people, even parents.

Separate thought.. As I was typing ADHA over and over in that I thought, what if that was a language 🤔 I know that might sound a little crazy but the ADHD programming language could have a syntax specifically designed for ease of focus. Just a random thought 💭

Thread Thread
 
jodoesgit profile image
Jo

Aww man, you calling people out here? Nah, I'm just joking. Hahahaha! I've seen a handful of people who come from programming families. They teach their kids at a young age, and their kids pick it up well enough and build on that over time. It seems good for long term financial prospects. But also it's good bonding time, as you can share an interest with your kids. Which is always a plus? Right?

What I've found in my life, is if I am not interested in something I can't force it. It's just like squeezing blood from a stone. Just an impossible dream. So if your guy doesn't bite with one topic, maybe find another that peaks his interest. I think Scratch-esq programming is a great place to start because it's the Legos of the programming world. It's super visual, and you can connect components together and see your results immediately.

Also I guess I'll say don't be surprised if as he ages he keeps the same interests. Cause I can add some, but I can't seem to let go of the stuff that I've always had either. I might pivot in the way I explore said interests, but they've all been the same since I was a kid. Not sure if any of this helps, but I wish for the best with you guys!

As for the article, that would be such a banger to read.

And for the language, dood let's do it! Let's keep it high-level, perhaps even conversational in manner. So it looks like you're "talking to a computer" and it "talks back to you." Then we can make a simple guide on how to "create your first program" by "talking to a computer." How cool would that be?

Thread Thread
 
jordantylerburchett profile image
Jordan Tyler Burchett

Thank you for your response! I agree with you that Scratch is probably going to be the best place to start for him. Tbh I had forgotten about, and the plus side of that is he could even do it on his tablet.

You're concept of a language that you talk to and talks back is intriguing and I would love to see that. I'm not sure if that's something a person without ADHD could build without fully understand what the needs would be for the developer. I would think it would be one of those things that would be best developed by the same people who would use it. For instance, I'm color blind and I keep trying apps to help me with that in my everyday life but it's clear that they are made by people who aren't. I've thought about designing one myself but also where I don't see in full color I imagine it would be a tough task.

Thread Thread
 
jodoesgit profile image
Jo

Holy jam, I just wrote you a sea of a response and it somehow got lost to the sea of time...? Would love if this site cached what you wrote prior to submitting. But that's okay, we'll work it out.

a) Thanks for responding back, it's always good to have a chat. In fact, I love it! I hope your boy jams out with some Scratch in the near future!

b) On the language, I am wondering if I could make it just do the bare-minimum of features (or at least some really surface level stuff) in order to make scripting simple. It's kicking around the brain basket. Something like a doc with a really straight forward tutorial. An accompanying video, that someone could follow along with. Perhaps even a sandbox that can be interacted with, without installation. Of course all this is scope creep, but even the simplest thing would be fun. Like creating a language then using it to make a game. Because I know when I was first-first learning even the smallest results would make me dance in my seat.

c) On the color-blindness, I was laughing cause I was shouting to my girlfriend about it in the other room. She can't see super-saturated pinks/purples/blues and even some greens. She was sarcastically griping in the other room, and it was making me crack up! But in general I wish more design was accessible, as a whole. We have some really great docs about it, but it's hard to see a lot of people make it a priority. Especially when so many apps are churn and burn, and everything seems to be some sort of exponential race to the next thing. Whatever it is.

I actually have a lot of trouble navigating even common websites. A simple example is logging in to them, most websites will have sign-up buttons prioritized over login ones. I get it, it's to gain more users, as all things must grow or die. But my brain just sees a button, and presses it. Then the brain power needed to figure out what steps I have to take next to actually login takes me out of the immersive experience. Which is minor, as compared to just being able to use applications, but I just wanted to give a simple example.

Some things that could help generally every developer, regardless of location or level of experience, is to gain some accessibility know how. Even if you're not doing any front-facing work, it helps you better understand why clean coding practices and inclusive coding go hand in hand. And some minor UX/UI know how. Which just help developers better understand usability. Which I think increases accessibility long run.

But then again, who am I to know? Ask me in ten years, I'll probably tell you something different =P!

Cheers!

Thread Thread
 
jordantylerburchett profile image
Jordan Tyler Burchett

I've been having the same problem with this site but it's definitely not enough to leave. I understand completely on having a more general design that's easier to navigate and still looks modern. There have been cases where I get so frustrated with things like that (signing in from a sign up page) that when I finally do get logged in I just delete my account and never return.

It has been a good conversation and I've enjoyed it very much. As for the colorblind part the best app I've found is called "Colorblind Pal" in the play store. Take "best" with a grain of salt because it does have a lot of issues with some colors but it seems to do well with distinguishing blues, pinks, and purples from one another. I do use it a lot and it's definitely worth a try.

Collapse
 
jd2r profile image
DR

Awesome tips! I like your setup, that keyboard looks really cool 😂

Collapse
 
wraith profile image
Jake Lundberg

Thanks DR 😃 i’ve enjoyed it very much!

Collapse
 
sreno77 profile image
Scott Reno

Another tip that I'd add is don't take PRs personally... they aren't (or shouldn't be) personal attacks so stay calm and learn from them.

Collapse
 
wraith profile image
Jake Lundberg

Great point Scott! I always try to "assume positive intent" when it comes to stuff like this. A lot of information is lost when we revert to only communicating through text. We lose tone, body language, context, environmental factors, and so much more. It's easy to assume negativity (especially when you may already be feeling it yourself) and take feedback the wrong way.

To help circumvent this, I use a lot of emojis in my feedback, and it seems to help a lot. What methods do you use to both help yourself from taking feedback negatively, and from keeping your feedback from being received negatively?

Collapse
 
sreno77 profile image
Scott Reno

If I have a question or think that something in a PR could benefit from explanation, I'll have a conversation with the person.

Collapse
 
atulkhot profile image
Atul S Khot

Great tips! I also suggest looking at the codebase at random and just trying to improve it a bit...
When I started doing this every day (even 10 minutes suffice) - I started discovering bugs, better (idiomatic) ways to write the same code - and at times - just removed the dead code... making it all just more manageable...
Over the course of time, the team started being more aware of the code base and the architecture... and overall consciousness about code quality increased...

Collapse
 
wraith profile image
Jake Lundberg

This is a great habit to get into!

Collapse
 
gemanor profile image
Gabriel L. Manor

Great writing! We just had discussion about it today at work and we found that developer communities is also a great tool for such
permit.io/blog/the-best-developer-...

Collapse
 
wraith profile image
Jake Lundberg

Thanks @gemanor !

This one is kind of hit or miss in my experience. I personally love being part of select communities. But other developers I've spoken to don't gain as much from being part of large ones and prefer much smaller circles (the team they work with, or a small group of friends for example).

If being part of a community helps anyone, I absolutely agree and would encourage them to check out a few different ones and find a place where they feel comfortable.

Great suggestion!

Collapse
 
gemanor profile image
Gabriel L. Manor

I totally understand it. I personally getting hard with physical communities. The ones that I recommended are very professional and very virtual ones, imo it has the balance for making it better to everyone.

Collapse
 
tyboyd_ profile image
Tyler Boyd

This is a fantastic article. I'm about three years into my career in software, so I always love getting insight from people with that extra experience. Thanks so much for sharing! I'll be saving this one and revisiting it from time to time.

Collapse
 
biyela17 profile image
Musa Wenkosi Biyela

As I am new in this field, this the best advice ever, it will motivate me to keep doing what is right pursuing my goal in this field!

Collapse
 
dsaga profile image
Dusan Petkovic

Crucial : "7. Keep your PRs Small" and get outside and relax often :D

Collapse
 
opensourcee profile image
OpenSource

You're post was seen by +20k people because it's great!
Btw, "How to Take Smart Notes" is a really good one!

Collapse
 
olaoluwa99 profile image
Olaoluwa Odewale

It's always valuable to hear insights from seasoned developers. Excited to read your tips. Thank you.

Collapse
 
bpinazmul18 profile image
Md Nazmul Haque

Ahh!!! Awesome. thanks

Collapse
 
ciaradh_ profile image
Monica

Awesome tips! I struggle the most with notes I think. I haven't been able to find a routine of writing everything down or a format I like that's also easy to review.

Collapse
 
wraith profile image
Jake Lundberg

i can see that for sure! it took me a while to find something that worked for me. perhaps you can build a solution that works better for how you want/need things done? ya never know, maybe you could make the next big thing!

Collapse
 
jodoesgit profile image
Jo

I'm not sure what device you use, but I've got an android and a google account. I have Google Keep on the front of my phone, and use drive when I'm on my computer. So basically can keep all my notes in one place. But also, you've got to go with what works for you.

I personally feel like you're grinding at something for years and years there's a perfectly acceptable point where you can let go on trying to form a habit and instead figure out a different solution. I mean my keeping everything on the cloud is because I cannot keep a piece (or pile) of papers around me for too long before I dump them.

GL!

Collapse
 
akuoko_konadu profile image
Konadu Akwasi Akuoko

Thanks for inspiring me 😊

Collapse
 
shsethi profile image
Shubham Sethi

I am all in on writing stuff down, it's core part of my workflow. Obsidian has been amazing for it and it helps me gather info for long term. 💯 Recommended

Collapse
 
matek075 profile image
Matek

Nice post

Collapse
 
wraith profile image
Jake Lundberg

thanks Matek!

Collapse
 
mdshourovrahman profile image
Shourov Rahman

I have been using obsidian for couple of month. From my observation it is a best note taking software.

Collapse
 
mazonthemoon profile image
Mary Ronan

Enjoyed reading this and some great tips, Thanks 👏👏👏

Collapse
 
wraith profile image
Jake Lundberg • Edited

Thank you @mazonthemoon ! 😄

Collapse
 
ellenuser profile image
Ellen • Edited

Thanks for the post! It's a shame though, that sometimes you can't use the software you like because of the certain rules and traditions and you have to use outdated messengers, for instance.

Collapse
 
wraith profile image
Jake Lundberg

Yeah that is definitely a shame 😞

Collapse
 
vtexperts profile image
Tom Brown

2.5 Keyboard Shortcuts

invest the time and effort to learn browser/ other apps shortcuts. This will improve your mood as well as efficiency.

Examples (Chrome)

  • Open new tab (Ctrl+t)
  • Close tab (Ctrl+w)
  • close tabs to the right (Ctrl+ r)
  • pin tab (Ctrl+g)
  • duplicate tab (Ctrl+D)
  • open in incognito (Ctrl+I)
  • copy tab url to clipboard (Ctrl+g) ...

These are just some of my custom shortcuts.

Collapse
 
wraith profile image
Jake Lundberg

Looks like you have a dup. Ctrl+g is listed twice. But good suggestion. As someone who really doesn't like to take their hands off the keyboard (yes, I use Vim! 😜) Shortcuts make life SO much better!

Collapse
 
ralphhightower profile image
Ralph Hightower

At my employer where I retired from, there was one person who thought that she was project manager extraordinaire. Diana didn’t write any functional requirements. For my first experience on he project, if there weren't federal requirements, there would've been no requirements.


But her biggest fault was her meetings. She didn't think anything about people needing to eat for lunch. I started blocking my lunch time in my calendar. She would come into the conference room exactly on time, then waste our time, connecting her laptop to the network jack, connect the laptop to the projector, then booting her laptop, search for her PowerPoint and Word documents, then future around trying to get the projector aligned. Ten minutes later, the meeting begins.


Once she scheduled an hour meeting at 4 PM for a telephone conference call; close of business is 4:45 PM. I had to leave at 4:45 so I could take one of my dogs to the vet. For the first fifteen minutes, she had the on-site meeting participants crawling around on the floor looking for a live telephone jack. At 4:45, I got up and walked out. She shouted "YOU CAN'T LEAVE!" I didn't respond. I asked my manager the next day when the meeting ended. He said that it ended shortly after I left.

Collapse
 
patterner profile image
Jörg Plate

"Find a place you enjoy working in or at" well.... it would be nice if you can acually choose between jobs and not having to stay in the one you got

Collapse
 
wraith profile image
Jake Lundberg

Can you elaborate?

Collapse
 
patterner profile image
Jörg Plate

i never left a job because i found something better. i can barely find one job.

Thread Thread
 
wraith profile image
Jake Lundberg

ah I see.

the section you mentioned is more about finding physical locations you like working in, and not about the company you work for.

as far as the job part goes. what are the challenges you’re facing?

Collapse
 
jodoesgit profile image
Jo

I would like to say for those who rock the ratty, there's no shame in it. If it's functional, and you find you enjoy using x-devices there's no qualms.