DEV Community

Cover image for My 8 Tips for a Better Life as a Developer
Jake Lundberg
Jake Lundberg Subscriber

Posted on

My 8 Tips for a Better Life as a Developer

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 very talented people. In this post, I want to share some of the things that really stand out as having made my experience significantly better and more enjoyable. Some will be technical, some will be just general life tips. But all of them have improved my life and experience in software development, and hopefully by sharing these lessons and tips, I can help you avoid some of those less than enjoyable times that I had to go through in order to figure them out.

1. Find a place you enjoy working in or at

Three people sitting at a coffee shop working on their computers and smiling.

Your environment contributes a lot to your life. It can add or reduce stress, help you to focus or distract you, make you feel safe or not, and so much more. Because it plays such an integral part in every single one of our lives, I thought it fitting to start here.

Whether you work in an office or remotely, there are most likely things you can do to find a place that makes you feel "right". I say "right" because everyone is going to be different here. Some people want to feel comfortable and "at home". Others want an area that isn't so much about comfortable, but instead really allows them to "get in the zone" and focus.

I've tried lots of different locations over the years just to see what worked for me. I've sat out on balconies in the cool morning air with a hot cup of coffee. I've literally sat under a desk with a blanket draped over me. I've sat in closets, corners, coffee shops, restaurants, bars, cars, parks, dining room tables, and stair wells. Through all this experimentation, I've been able to find places that give me what I need, when I need it. If I need to focus, I need to be alone. Somewhere with a door that can close, without windows for me to notice people walking by. I don't work super well when I'm overly comfy, like snuggled up in a blanket on a soft couch. If I need a change of pace, or just need to be around people, I found that I really enjoy sitting down at a small bar or restaurant that isn't overly crowded. Somewhere I can order a drink and an appetizer and work, but still be around a few people.

So I encourage you to try out a few places. Find what works for you, and just as important, what doesn't work for you. And if you can't find a place, you can always put a little effort into make the place you want!

What does "right" mean to you?

2. Invest in your hardware

A desk with high tech equipment in a dark room with LEDs illuminating the space

As software developers, there are a few pieces of hardware that we use a ridiculous amount. An argument could be made that we use things like our keyboard and desk chair more than any other items in our lives. And of course we can get the job done with any old keyboard, and we can make due sitting on any chair. But I've found that a little investment in "nicer" hardware has a big impact on how I experience my work.

Chair

If you sit while you work, and you're going to invest in just 1 thing, it should definitely be your chair. A chair that offers both comfort and support can really go a long way. From how long you can sit and focus without getting uncomfortable, to how your back, neck and shoulders feel in your everyday life, your chair has a big impact on your general health and wellbeing. So be sure to find a good one, and don't just settle for one that encourages bad posture.

I personally use the Secretlab Titan Evo (Batman Themed) and have been very happy with it for a couple years now. And compared to many of the high end desk chairs out there, the price tag isn't too bad.

Keyboard

Second to your chair (but not by much) is your keyboard. Easily the tool we interact with the most to do our jobs each and every day. There are TONS of options out there too, so regardless of your personal preference, there is most likely something that will meet your wants and needs.

Picking the right keyboard is very different for each person. Some people prefer low profile keys to mechanical ones. Some people need integrated USB port(s). Cost, ergonomics, wired or unwired, customizable keys and switches, back lighting, configurable LEDs, support for configuring the key layout, the height and size, the number of keys, the list goes on and on. Finding the right keyboard for you can be a journey for sure, but one I highly recommend you go on. Of course we can do our job with any keyboard...but I promise, if you give it a try, finding the "right" keyboard will make your day and experience as a developer much more enjoyable.

I use the Moonlander Mark 1 and absolutely 💙 it! The split design has really helped me not slouch so much and also helped remove the shoulder and wrist pain I had for a long time. Plus those Cherry Brown switches sound so pretty 😍!

Mouse

We can't talk about keyboards without also talking about their sidekick, the mouse. Like keyboards, there are TONs of different kinds out there, and everyone is going to have their own preferences. Luckily even a half decent mouse has a pretty low price point, so it's relatively easy to try out a few to find what works for you. But like all the other items here, a little investment of time and money can have a positive impact on your experience.

My mouse is the ZLOT Vertical Gaming Mouse. It's a lighter (in weight) mouse, but has a nice ergonomic feel and responsiveness that I've enjoyed for quite a while now.

Monitor

This one is definitely an optional item, but one that I've found makes my work much more enjoyable. Not everyone needs an external monitor. Some people actually prefer to work directly from their laptop. But if you do like to use external monitor(s), this is an investment that can have a BIG impact.

Sadly, due to issues with multiple 4k monitors working on Mac, I got rid of my multi-monitor setup and now I use the Sceptre 35" Curved Monitor. It has lots of real-estate so I can still have plenty of windows open on one screen.

Headphones

Headphones are also optional (some might argue against this 😝) but their benefit cannot be overstated. From reducing distraction to helping you get in the zone, a good pair of headphones can go a long way. Like most of the items I've listed, everyone preferences are going to be different. But investing a little time and money into finding a good pair for you will really take your game to the next level. Many people I know look for good noise cancelling, and they have to be light and comfortable so they can be worn for hours at a time.

I personally like using Beats. I used to use the Studio3 but when I had to start wearing glasses, I didn't like the pressure these headphones placed on my frames, so I switched over to the Beats Fit Pro and have been really happy with them. I've literally worn them for 8 straight hours and they were great. They're light, comfortable, have good sound, and are nice and stable when I'm jogging and working out.

What hardware do you use? What would be your dream hardware?

3. Find tools you enjoy working with

A screenshot of an application wall with fun emoji-like faces on the app icons

In addition to hardware, as developers, we use a lot of software tools to do our jobs. Some we have no choice in using, but there are many that we do, and finding tools that you actually enjoy using can really make your daily experience better. Even just having a tool you can configure to look how you like can have a positive impact.

The thing I want to stress here is not finding tools that everyone uses because they can do all kinds of things. It's more about finding tools that you actually enjoy and look forward to using, that get a the job done. Even if they can't do all the fancy things some other tools can do, if you actually look forward to using another tool, then use it! Having tools we actively enjoy really adds a lot of positivity into our lives.

There have been many tools like this that have come and gone over the years for me, but here are a few that bring me a lot of joy in my day to day:

  • Giphy Desktop app
    • liven up Slack messages with gif responses instead of boring ol' text.
  • Raycast
    • This has replaced Spotlight for my on my Mac. And with the pro version, I have access to ChatGPT 4...so one quick keyboard shortcut and I have AI at my fingertips. Game changer for me!
  • Obsidian
    • Although this is a popular note taking app already, I took some time to write a few scripts to automate stuff for me and it has completely changed how I take all my notes and track all the things I need to do.
  • Arc browser
    • It took all of 1 day for Arc to become my primary browser. Now I only use other browsers (on my Desktop) when I'm testing browser support for some feature I'm building.
  • Habitical
    • I am very motivated by earning badges, accomplishments, and general gamification, so this todo app has made managing and doing tasks much more fun for me!

What are some of the tool that bring you joy in your daily development life?

4. Set Goals

A typewriter with the

I know this sounds obvious, and I'm sure we've all heard this from countless other sources. But you might be surprised how many people don't set goals for themselves. Don't believe me? turn to any 2 or 3 of your neighbors and ask what goals they are currently working toward. When I ask this, all too frequently I just get a shrug of the shoulders and a, "Nothing really" response.

It's also not enough to just set the goals. You have to think about them regularly too. Some methods say to write them down and put them on the mirror or somewhere you'll see them frequently. This method hasn't personally worked for me, but perhaps it will for you? What works for me is sitting down for 15 minutes every morning before I start work and make it a point to think through my goals, all the todos I have, and everything on my calendar (yes I actually block out 15 minutes on my calendar for this, and force myself to stick to this time). During this time, I think about my goals and figure out 1 small thing I can do today to move even an inch closer to achieving each of them.

For example, if I have a goal of cleaning the garage before family comes over for Thanksgiving, I think, "What is 1 small thing I can do today to move toward completing this goal?". Sometimes the answer is exceptionally small..."Sweep under the workbench.". Other times I might be more motivated or I have more time available and it could be something larger. Regardless, take some time to think about just 1 action you can take today to move toward the completion of that goal.

When I do this, something happens in my brain. I find myself feeling more accomplished and more optimistic. Sure, it might be a long road to complete the goal (if it's a big one), but knowing that I moved closer to something I want to accomplish has had a positive impact on my general day to day life, and has allowed me to accomplish way more than I ever thought I could.

So big or small, set yourself goals. Then think about them regularly and take a lot of tiny actions to move just 1 step closer. I promise this will bring good things into your life!

What goals are you trying to accomplish right now?

5. Be Curious and Learn Why

A sign on a window that says

So many people get frustrated or judge the way things are done in coding projects. I've certain been there!

  • "Why did someone ever pick this technology?! This other technology is so much better for this use case..."
  • "Why would anyone write code like this?!"
  • "Things would be so much better if we didn't do X and just did..."

Do any of these sound familiar?

As frustrating as things can be sometimes, in software development, there is almost always a why behind every decision that's made. Was it the best choice? Maybe not...but there was still a reason why the choice was made.

I used to get frustrated over the way things were, and then would get frustrated trying to solve the issues, and then getting frustrated when I hit road blocks. But eventually something just clicked, and instead of getting frustrated, I started to look for the reasons these things happened. What was the why behind it. As I made it a habit to "look for why" instead of just "wondering why not", my curiosity became stronger. I found I was seeking out more information, learning and understanding things more thoroughly, empathizing more with the people I work with, and in the end, getting frustrated WAY less.

Now, my experience is so much more positive. Whether I'm refactoring some piece of complex code, trying to find a solution to an annoying problem, or learning an entirely new codebase for a new job, I actually enjoy the process so much more by just being curious and wondering why.

What was the last coding thing you were really frustrated by? Did you learn why it was the way it was?

6. Block Your Calendar for Focus Work

Calendar entries each day of the week for 2 hours that say

This one is easier said than done, depending on where you work, but it can have an amazing impact on your developer life!

Have you ever been in the zone, just cranking out code to build that new feature, and then "ding!" someone sends you an urgent Slack message? Or someone taps you on the shoulder to ask you a question? You address the interruption, turn back to the screen, and you've lost all that focus? If not...I'd be willing to bet a LOT of money that you will at some point in your career.

This concept of being "in the zone" or getting into "flow" is a topic that's been studied and written about a LOT. I highly encourage you to check out a few articles and books on the subject, because it is a very interesting topic (at least for me it is 😃)! Many of those studies have shown just how beneficial being in the state of Flow is, and also that it can take over 20 minutes to get back into that state of mind after an interruption! So finding ways to get yourself into that state of mind, and stay there, is hugely important!

One of the best ways I've found to get myself into this state has been to literally block off large chunks of time in my calendar dedicated to "Focus Work". It can be a challenge at first, getting people to check your calendar or Slack status before trying to reach out, and helping everyone understand that you will get back to them as soon as your Focus Time is over. But eventually people will come around, and the rewards are great! Don't forget to turn off notification during this time too!

A couple of tips here though...

  • Accept that there will be times where urgent matters will come up that will take higher priority. That's just life, and we just have to roll with the punches...but this should not be the "norm".
  • Shoot for blocks of 2-3 hours. Less than that will not feel like enough, but more than that and people will be forced to interrupt you more often. Remember, other people have important, urgent business as well, and making them wait more than half a day to get it addresses really isn't fair or reasonable in today's working climate.
  • Schedule these blocks during your most productive time. For me, I'm most productive from 6am to around 10:30am. So I usually try to schedule my Focus Time during these hours.

During what part of the day do you find you are most productive?

7. Keep your PRs Small

A screenshot of the GitHub review header showing 3 files changed and a total of 35 changes made

I love this one, and it has become a big priority for me over the last year or so.

It turns out there is a lot of positive benefits to keeping Pull Requests (or Merge Requests for you GitLab folks) small. Fewer bugs get released, we spend less time reviewing code, and features get rolled out faster, just to name a few. All this not only makes our product better, but I've found that it drastically improves my experience as a developer as well!

By focussing on smaller changes, I find that I'm thinking about things more thoroughly, accounting for use cases that may have been overlooked in the chaos of much larger changes. I'm able to move faster in getting changes into review, my team members are able to review my code even faster because I'm only taking up 5 minutes of their time instead of 2 hours, and during that review, I receive significantly fewer change requests. As a result, better code is going out, and I can continue spending more time building new things, rather than having to address a bunch of bugs that were missed.

On the other side of things, reviewing small PR|MRs is WAY more enjoyable than massive ones. Have you ever had to review someone's PR|MR that consisted of several thousand changes, spanning 20+ files, and multiple areas of the application? When you did, what was your immediate response? Were you overly excited to jump in and start the review? Or maybe you felt a sense of "ugh" and pushed it off because you only had 30 minute before that next meeting, and you could get something else done in that time?

When large PR|MRs are being reviewed, it's often the case that lots of details get lost (or at least receive less focus) and eventually, most people hit a point of "Review Blindness" or "Review Fatigue" where things start getting overlooked, or the reviewer has to step away for some time and come back to it later. This all results in the review process taking even longer, being less efficient, and causing lots more change requests to be submitted. Not to mention the feelings of dissatisfaction that are shared across all your team members.

Since I started making this a priority for myself, and working with team members to try and get them to do the same, I've noticed that my experience with PR|MRs has gotten significantly better. I'm much more willing to hop in and knock a few reviews out between meetings, I'm having to request fewer changes, and I don't feel drained afterward where I need to step away and collect myself again. Even my planning has become more accurate!

All in all, I highly recommend this for everyone. And if you would like to learn more about the benefits of this, I would recommend checking out the LinearB blog as well as the Dev Interrupted podcast. They touch on some fantastic points that I've found really help engineering leaders and teams!

What was the worst PR you ever had to review?

8. Write Down Everything!

Someone writing notes in a notebook

My last tip is something I also started doing within the last year, after reading How to Take Smart Notes and Getting Things Done and it has had an amazing impact on my life.

When I learn something new, I write it down. Even if its just a short paragraph describing the thing I learned. When a new task comes up, big or small, I write it down. During a meeting, if ideas are shared, feedback is given, issues are presented, it all gets written down. If I have a random thought about something, or a hair brained idea...you guessed it...it gets written down. Then, whenever I have a few spare minutes, rather than scrolling through social media, I first turn to my notes. I review them as often as I can, which reinforces the information in my mind, but also helps me link different ideas together, which can often lead to an entirely new idea.

By doing this, I've found that I am remembering things much more thoroughly. And if I can't, I have a record of it and can pull it up! It's allowed me to complete way more documentation for work, and I even have 4 or 5 blog posts in the works at any given time! Far fewer things are falling through the cracks, and I'm able to accomplish so much more.

I recently started a new job, and by using this method, people are already approaching me asking how I'm doing so much! The secret sauce? Write it all down and add it to the system.

It's been a game changer for me, and I just have to encourage others to do the same because I really believe it could benefit their lives so much!

What method do you use to remember and share things you've learned?

Conclusion

Over the last 8+ years of working as a software developer and engineer, I've learned a lot. I've gone through good times and bad, and have picked up some really helpful life lessons along the way. By finding places I enjoy working at, investing a little more time and money into my hardware, finding tools I like using, settings goals, being curious and focussing on why, defining time for focussed work, focussing on keeping PRs small, and writing down everything I can, I can honestly say that my developer experience is greatly improved.

I very much hope that at least 1 or 2 of these tips will improve your experience as well.

Thank you for letting me share these tips with you. Until next time, Happy Hacking!

Top comments (66)

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
 
pierre profile image
Pierre-Henry Soria ✨ • Edited

Excellent point indeed! And somehow we tend to neglect it too often 😔

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
matek075 profile image
Matek

Nice post

Collapse
 
wraith profile image
Jake Lundberg

thanks Matek!

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

Some comments may only be visible to logged-in visitors. Sign in to view all comments.