DEV Community

Cover image for Productivity Tips From Developers to Developers
Anastasia πŸ„πŸ»β€β™€οΈ
Anastasia πŸ„πŸ»β€β™€οΈ

Posted on • Updated on

Productivity Tips From Developers to Developers

*header pic by Shen Comix

Remember when you were a junior dev and you didn't know how to progress faster, what productivity tools and appoaches to use, what kind of mindset you need to adopt. What tips and tools would you give to a younger self? What important lessons did you learn as a dev?

Please, share in the comments!
I'll pick some of your answers for my next article.

Top comments (49)

Collapse
 
melvyn_sopacua_afcf30b58a profile image
Melvyn Sopacua
  • You don't get paid by size of commit or number of lines produced (if you do, get out of there). Avoid coding first, most likely what you are solving has already been solved. This forces you to think in abstracts about your problem (in order to find the package you need). Abstraction is at the core of programming.
  • Don't modify anything in get
  • Caching is a performance optimization and cause of many subtle bugs. Use with care.
  • Avoid the golden hammer. There is no one way to do something and learn early on to formulate your options, pros and cons and pick the one that works for that situation. Also avoid cultures that enforce this "one way to do something".
  • Code formatting is not something worth spending time on in this day and age. Pick an opiniated formatter, configure it and run with it.
  • Bugs will happen. They don't define your self-worth or competence and avoid any company culture that make you feel worse about yourself when you left a bug in your code. Instead: Own the bugs, analyze them (ask help from seniors if you get stuck) and learn.
  • And last but not least: commit messages are not about what you did (I can read that in git log -p), but about WHY you did it. About the context of the change. Reference tickets. Summarize your analysis. This will tremendously help your future self, your new team mate or the person fixing a bug to understand the code and what happened to it over time.
Collapse
 
vbarzana profile image
Victor A. Barzana

Well said bud!

  • Also, if you REUSE please consider the maintainability "last commit date :)" of the project you are reusing and who is taking care of it. Number of stars, downloads, etc... Compare to other products similar.
  • Listen to others, but formulate your own point of view.
  • Always review your commits before you send them, you will be amazed by how many bugs you will catch of yourself before getting into someone elses eyes, you better waste 10 minutes of your time than 1 man hours of multiple colleagues.
  • Don't obfuscate/minify your code early on, leave that job to compilers, minifiers, bundlers.
  • Write readable code, do not comment it out if the code is self explanatory. That's the reason why you use clear variable/method names.
  • Read a lot of articles every day so you find great posts like this!
  • Communicate, ask dumb questions to your colleagues, it doesn't matter, this shouldn't be a problem.
  • Make a todo list of all concepts you don't understand and ask someone to explain it to you with their words, usually this works better than watching a bunch of youtube videos or taking an online course. Instead, focus in what you love, you don't have to know everything, but sometimes you need to just get quick answers, this is the way!
  • Code when you are less tired, your productivity will increase 90% and you will see the results.

Have a wonderful way up to the top, you are already on the right track!

Cheers, peace and love!

Collapse
 
rolfstreefkerk profile image
Rolf Streefkerk

I will add, commit messages should link back to actual issue numbers in your Kanban board such that documentation, issues, bugs can be traced to code commits at all times.
This helps with on-boarding, new bug resolution, old bug resolutions, code understanding, and code documentation in general.

Collapse
 
janegareth profile image
Jane
  1. Know your development environment and tools. Know your editor like the back of your hand. What’s the quickest way to find a class or refactor a method? Take time to learn the shortcuts and use them in your work
  2. Take care of yourself. Sleep well, eat well, give enough rest to your head, do hobbies - live a healthy and exciting life outside work
  3. Document your code for yourself and your team
  4. Track working time. Developers often feel like they are not productive enough. Most of the time, it's not true. Use a free time tracker to record time you've spent on your tasks and document important actions and milestones
  5. Practice journaling. I use tables in Notion to record my sleeping, eating, sports and activity habits, track productivity and mood. It might sound like a waste of time but after you have data for a few months, you'll see what gives your energy and life satisfaction and what drains it from you
  6. Meditate to stop your mind from wandering and to make it more sharp and focused
  7. Practice gratitude. It's a great tool from positive psychology that, if done daily, restructures your mind and teaches you to feel more positive and satisfied, value small things and feel more stable when moving towards your goals
  8. Take breaks. When you feel stuck, take a short walk outside to have some fresh air, give your eyes some rest and treat yourself with a cup of Joe

Hope it helps! :)

Collapse
 
jeremyf profile image
Jeremy Friesen

Know your development environment and tools. Know your editor like the back of your hand. What’s the quickest way to find a class or refactor a method? Take time to learn the shortcuts and use them in your work

Yes! Yes! Yes! When I'm watching someone use their text editor, I always want to be a bit disoriented. I want them moving through their code as they are thinking and I (not privy to their thoughts) am trying to keep up. This "stretch" helps me see new ways that I might leverage my text editor.

The text editor should be assisting you as you move through the various concepts that you navigate as you code. Jump to the test file. Move out of the function. Select a whole new file. etc.

Collapse
 
nvspradeep profile image
Pradeep Nooney

Hey Jane, Nice tips!.
Regarding the journaling part, recently i also started using Notion, Please share the notion template structure if you can.

Collapse
 
janegareth profile image
Jane

Thanks, Pradeep!
Sure! You should be able to dublicate it to your account: painted-teller-bf3.notion.site/Hab...

Collapse
 
amanjaiswalofficial profile image
Aman Jaiswal

Never rush to code. Something my seniors taught me, plan first. Like really plan it in your head, writing the final thing down takes very little time. Figuring all of it out, that is what takes skill and patience

Collapse
 
flodev profile image
Florian Klenk

I personally can't completely agree with this but maybe I'm different with that topic.
I love the code first approach.
For instance for planning an Api it is incredible useful to me to write the code down how you will eventually use the api even though it does not exist yet.
It helps me understanding how the interfaces will be designed.
Also helps me in the frontend how components can be designed if I start writing the top component and how it will use the not yet existing sub components.
Nevertheless I still use the whiteboard for umls and other stuff.

Collapse
 
raphael_jambalos profile image
Raphael Jambalos

This is so true!! When I first started out, I used to be so excited to jump into the code and get lost in it. Dozens of bugs later, I could say I'm a bit more wise

Collapse
 
amanjaiswalofficial profile image
Aman Jaiswal

Haha. Happens to all of us.

Collapse
 
barnsstasy profile image
Stasy Barns
  • Be a stoic. I'm not a big fan of phylosophy, but stoicism changed my attitude towards life and career. It teaches you to make the most of what you have, be a warrior that is headstrong, learn from mistakes and be mindful of what's going on in your life and career. Here are 10 priciples to help you get started.
  • Invest in noise canceling headphones. Whether you work in the office or from home, you need to concetrate to work in the flow.
  • Work out to stay fit and healthy and release stress
Collapse
 
incrementis profile image
Akin C.

To my previous self:
"
You will read more code than you will create code.
If you don't understand something, don't be ashamed.
Communicate your problems with your manager.
Take care of your health! That's the most important thing I can say!
Research the company you will be working for and understand that a 50% recommendation is bad.
Understand that many people in a company use MS Excel.
Understand that bureaucracy is an essential part of the job.
You will attend many meetings, so you will learn how to communicate and understand the tools the company offers for communication (Skype, Teams, Zoom, etc.).
IT department is generally slow, learn to be patient.
learn Git.
Understand Scrum.
Learn Confluence.
Learn how to create batch files to make your work easier.
Learn Bitbucket.
Understand tickets.
Your colleagues are not like your friends or family.
Study the organization chart of the company.
Create a code journal.
Document important events.
Take out legal protection insurance.

You did great for doing all of the above!

Sincerely

Me
"

Collapse
 
star_trooper profile image
Atharva Shirdhankar

I'm still junior dev so I don't have much productivity tips to give.
But I have to share something is that as a junior dev

  1. starting sharing knowledge with others in form of article/short explanatory video in other words "learning and building in public" .
    If you are sharing knowledge in form of article it will help others definitely but it will also make Documentation/writing skills of ourselves better.

  2. Try doing open source contribution.
    It will help you get experience by working on real world and widely used software/project. And even help you to learn huge codebase.

  3. And yes important thing
    soft skills >> technical skills
    Now a days developer jobs are moving remote so it becomes important having better collaboration and teamwork skills. Public speaking adds advantage .

  4. And one more important thing don't just go on drinking coffee to code for a long time instead drink more water that too helps.

  5. And as a junior dev use Twitter you will definitely learn a lot from professional devs through there tweets/threads and twitter spaces.

Collapse
 
prachiag profile image
PrachiAG

I don't use twitter but can you suggest some professionals which you think I can learn from?

Collapse
 
star_trooper profile image
Atharva Shirdhankar

There are so many.
Few of them are here on Devto too.

Start with Twitter and select the topics related to tech you will find many amazing professional.

There is whole big community of tech on twitter called as TechTwitter.

Collapse
 
calogeroguagenti profile image
Calogero Guagenti • Edited

Very important:

  • Workout 30 minutes every day
  • Drink enough water
  • Don't be afraid to ask questions ("There are no stupid questions")
  • Listen to others but think with your mind
  • Read articles related to what you are working on at the moment. Every day!
  • Work Smarter not Harder. Don't code 14 hours in a row!
  • Share your knowledge without expecting anything in return.
  • Make mistakes
  • Be honest with yourself

Important:

  • Plan then code
  • Do not overcomplicate a simple task
  • Reuse existing code
  • Make it work then optimize
  • Write self explanatory code
  • Don't use beta things in production
  • Use Cache, but with care
  • Document the code
  • Estimate !== Deadline
Collapse
 
freeo profile image
Asa Jay

Estimate !== Deadline can't be stressed enough!

Awful to see what an estimate which you state yourself to others does to your psyche.

Collapse
 
kansoldev profile image
Yahaya Oyinkansola

I love your tips, but the problem is not coding for 14 hours, the thing is what did you achieve in that time

As they say, it's not the hours you put in, it's what you put in the hours.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

I don't know if I would call that a "productivity tip", but even then, saying of your own content that it "inspires everyone in the world" does come across as rather arrogant. Almost 3 million views is no small number, but hardly even close to "everyone in the world".

Collapse
 
thisjustin profile image
Info Comment hidden by post author - thread only accessible via permalink
This Justin

"I shared my story and it inspires everyone in the world to this day."
🀣🀣🀣

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ
  • Be lazy about writing code, not about planning
  • Automate yourself above all else
  • Only consider the far end of the productivity curve
  • Refactor all the time
Collapse
 
raphael_jambalos profile image
Raphael Jambalos

the first point hits real hard! so true tho!!

Collapse
 
raulmarindev profile image
RaΓΊl MarΓ­n • Edited

Please, could you elaborate a bit the second and third points? I believe I understand the second point but not the third one and I think I could be missing something helpful. Thank you!

Collapse
 
darkwiiplayer profile image
π’ŽWii πŸ³οΈβ€βš§οΈ

Automate yourself above all else

By this I mostly mean automate your repetitive tasks; everything you do that can be automated. You know you're on the right track when you use regular expressions in your code editor at least once per day in a weekly average.

Only consider the far end of the productivity curve

As in, choose the tool that may slow you down at first but will help you later on. To give a hyperbolic example: One may achieve more today if they use notepad instead of vim; but if it takes you a month to learn the basics of vim, the next month of increased productivity will negate the lost time of the first month, and beyond that it's all saved time.

Thread Thread
 
raulmarindev profile image
RaΓΊl MarΓ­n

Thank you! Very helpful information

Collapse
 
sheriffderek profile image
sheriffderek • Edited
  • Write less code. Once you start writing it - everything slows down / and your perspective gets boxed in. Just write it on paper / or in comments - or draw a picture.

  • Talk with people about your idea with someone else and see if you can get another way to look at it and maybe learn something. Learn in public.

  • Create small prototypes and show them to humans on real devices. They'll notice things you didn't and then you can incorporate those things.

  • Use a time timer to time-box and also to force yourself not to work.

  • Stop pretending you can multitask.

  • Actually know how to use your computer well. It's your main tool.

  • Sleep. Working "hard" is not working smart.

  • Have a social life. Otherwise, what's the point?

  • If you watch a tutorial, don't code along. Just take notes on the concepts

  • Stay out of the CMS for as long as possible, because that's the biggest bottleneck

  • Avoid anything that isn't absolutely necessary. Do you need that package, library, buildtool, future-tech-debt-machine? Do you need smartsheets, trello, monday, and more tasks to take up your time? Or would a simple README be even better?

Collapse
 
sudarshansb143 profile image
sudarshan
  • Use standing desk and invest in the ergonomic Chair
  • Listen before you speak
  • Put proper comments (wherever necessary)
  • don' be emotional with you code, It is only a piece of letter
Collapse
 
icyjoseph profile image
Joseph • Edited

Learn CLI commands, to search, replace, and edit on the fly.

Save snippets and document them heavily.

Working with people is actually the hard part of the job.

Code review your own submissions, harder than you review others.

Collapse
 
ama profile image
Adrian Matei • Edited

My 20 sats in the following points:

  1. Write readable and not complicated/fancy code - you'll thank yourself later
  2. Don't just copy paste code snippets from stackoverflow - try to understand what is going on - use a snippet manager to save the useful ones, so you don't have to do "deep" searches on google again
  3. Read the docs first, then look for other blog entries to solve a problem
  4. Read the source code if the project is open source and the docs are not enough
  5. don't sell yourself cheap
  6. hands on projects / side projects are the best way to learn a technology
  7. stop wasting time - I took this matter in my own hands and developed a tool to manage my dev bookmarks and snippets to retrieve them fast and easy - Codever
Collapse
 
ihorklymenok profile image
Ihor Klymenok
  • Prioritize first
    Usually impact that you create is really important. Hours spent is not the target of the work. Prioritize in order to get rid of unimportant tasks.

  • Understand the domain
    Sometimes it helps you to propose much simpler solution and save your time and project costs.

  • Divide tasks to smart and dump
    Don't take a lot of smart/complex tasks in short period of time. Your mind fuel is not so big :)
    Instead, combine them with routine stupid tasks, where you can wear your headphones and do the job.

  • Find your velocity
    Try to estimate and track the real amount of time that you spent on the task. After you'll find personal velocity, you can control pressure that company trying to put on you.
    For example if you know that you will complete task in 3 hours, you can estimate it in 4 hours and have some space to think and slow down.

Collapse
 
sachinchoolur profile image
Sachin N

Along with the correct set of tools, setting up the right mindset is essential to being productive.

  • Even if you work for 12 hours a day, you're probably only productive forΒ around three hours. What you really need is 4 hours of deep work with regular breaks.
  • Take a short break after working for 45-60 mins.
  • Determine what you need to accomplish each day.
  • Write down what you've completed each day before going to bed.
  • Get 8 hours of sleep.

Some comments have been hidden by the post's author - find out more