DEV Community

Cover image for 101 Tips For Being A Great Programmer (& Human)

101 Tips For Being A Great Programmer (& Human)

Emma Bostian ✨ on July 09, 2019

1. Get good at Googling Being a programmer is all about learning how to search for the answers to your questions. By learning to Google ...

Displaying a subset of the total comments. Please sign in to view all comments on this post.

Collapse
 
yaser profile image
Yaser Al-Najjar • Edited

Love the whole list...
Bunch of valuable points ❤️

I would add this one:

102 Do Physical Exercises

Preferably everyday (or at least 3 days a week).

Our jobs require sitting most of the times... And, in years this will have severe effects on the body.

I'm sure everyone loves a specific sport that they would love doing on a frequent basis.

Collapse
 
javinpaul profile image
javinpaul

100 push-up, 100 sit-ups, and 10km Run twice a week will make you one-punch-man :-)

Collapse
 
motss profile image
Rong Sen Ng

And be ready to be bald. LOL

Thread Thread
 
yogyogi profile image
yogyogi

Perfect comment.

Collapse
 
mbougarne profile image
Mourad Bougarne

Loool!!! All the S-heroes don't believe it and want me do?!

Collapse
 
tommitallgren profile image
Tommi Tallgren

I agree on this list, and Yours 102 (could be in the 2nd in the list already)
I'd add:

103 Sleep enough!

Collapse
 
codemouse92 profile image
Jason C. McDonald

I saw the title and thought "Huh, 101? I wonder how many of these tips are actually good?"

ALL OF THEM, apparently! Great post. This is now at the top of my list of articles to give to new programmers.

Collapse
 
dowenb profile image
Ben Dowen

This

Collapse
 
ehtesam profile image
Ahmed Ehtesam

Same

Collapse
 
alexandersandberg profile image
Alexander Sandberg

Awesome tips! Thanks for sharing, Emma! 😍

My personal favorites:

"39. Take breaks"

So much this. 🙌 It can be difficult to stop working when you just love what you're doing. But more often than not, breaks make you even more productive in the long run. Consistency is key, and you won't be able to keep up an unhealthy habit/routine.

"83. Don't compare yourself to others"

With today's connected society through social media, it's hard to not compare your own accomplishments with others'. But the only way to succeed yourself is to do the actual work—there are no shortcuts.

And remember that we all have something unique to give. Embrace that, don't wish you were in someone else's shoes!

"96. Code for accessibility"

No one should be left behind in this quickly emerging world ❤️

Collapse
 
daveparr profile image
Dave Parr

This is a fantastic list. Out of 101 you hit 99 percent bang on imho.

From my personal past experience and for my future career there are only 2 refinements I would make.

Under promise and overdeliver:
In specific working environments I would strive to "precisely promise, and precisely deliver".

In agile companies 'accurate' measures of the (ideal) effort something takes to do are valuable. If I say something will take longer than it will, this has knock on effects to other people relying on my estimation. Features are delayed needlessly, customers wait longer etc.

I'm all for few meetings but I think it's harder to generate accurate tasks/features/stories in these methods. Agile values face to face > remote asynchronous messages, and I've definitely seen the value in that.

Even so. 99.99... % agreement is miles more than I find in many other articles, so good work!

Collapse
 
yucer profile image
yucer • Edited

) Good work!

I guess you are one step near to write a book.

I know some books that did start with a list like this, laterl some items became paragraphs, sections and chapters.

Regarding:

  1. Take breaks

A good technique is to put a bottle of water in your desk and drink a lot.

Drinking water is very good for health and your bladder would remember the break.. Because you'll need to go to the bad.

Collapse
 
bovermyer profile image
Ben Overmyer

Excellent list. Also, thank you for breaking it up occasionally with images; that's a thoughtful touch.

I am particularly fond of #83 (Don't Compare Yourself to Others), and wish I had learned that a decade or two earlier.

Collapse
 
kenbellows profile image
Ken Bellows

Holy content Batman! How long did this take to write? Was it a background thing over a couple weeks?

Collapse
 
emmabostian profile image
Emma Bostian ✨

I wrote the tips over a few hours but it just took me a while to put it into a proper format :)

Collapse
 
the_von_truber profile image
Michael

I was blown. Still am.

Collapse
 
_shahroznawaz profile image
Shahroz Nawaz

I would add one more tip in your awesome tips :D

Shutdown all social links while programming (Facebook, Twitter, Insta etc)

They distract alot just about when you catch the point a message bumps up. :D

Collapse
 
taillogs profile image
Ryland G

Shouldn't you mention @NinaLimpi at least once, considering almost all of these images are hers and have no attribution?

Collapse
 
emmabostian profile image
Emma Bostian ✨
  1. I always mention UnDraw whenever anyone asks about the images.
  2. I promote her on Twitter all the time
  3. If you read the license, it says that no attribution is necessary.

I’m not sure if you meant to call me out rudely but it came off that way. I would never intentionally “not attribute” someone’s work to them. I have read the license.

Collapse
 
taillogs profile image
Ryland G
  1. I have no way of knowing that
  2. I have no way of knowing that
  3. Obviously its hard for me to know about the license of an unattributed image. For the record I did look (briefly) before I posted my original comment and couldn’t find licensing info.

Not sure how what I said, came off as rude. I asked a direct question followed by an assertion of fact.

I appreciate your reply but I still stand by my original position, license or not. If it were one or two pictures, I would never have said anything. But this post is almost a portfolio for her. I’m sure if you asked her, she would come here and tell me she knows you and doesn’t care. But if it was my friend, their name would be somewhere in this post.

I hope you understand my position better.

Thread Thread
 
estevanmaito profile image
Estevan Maito • Edited

Hey bud, you're wrong. Accept and get on.

What you think is right or wrong is not the case. The creator of the illustrations doens't want attribution. Read it here: undraw.co/license

"Oh BuT hOw CoUlD i KnOw?"

Exactly. If it were for you to know, the license were to be "give attribution".

Also, if you've really searched BRIEFLY for "undraw", Google gives you the option to go directly to the license page. Which ironically, is the number 1 rule of the article.

Thread Thread
 
taillogs profile image
Ryland G

At no point have I been hostile or derogatory. Yet, you've felt the need to come in and essentially bully me because I have an opposing viewpoint to yours. In my comment, I clearly convey that I tried to search before saying anything.

Regardless of whether I'm wrong or right, this is not a mature response.

Thread Thread
 
ssimontis profile image
Scott Simontis

I think the challenge is that reading text on the Internet conveys no context whatsoever. I think a lot of people are rude in e-mail, but the truth is that they are trying to write short and to-the-point messages and not waste a ton of time on the e-mail itself when there are far more pressing matters to attend to.

Also, I personally find unsolicited advice-giving can be a minefield. It can make it seem like an attack on the author or come across as arrogant and it makes assumptions. Questions are my favorite way to open a dialog when I think something should be done in a different manner.

In this situation, you could have said something along the lines of "I have a very disciplined system for citing and crediting tools I use, and I noticed you didn't attribute X. Could you please tell me a little bit more about your citation process?" Then you can engage in a discussion that is hopefully productive, respectful and a benefit to all who read.

Seek to understand, rather than to be understood. Approach all topics with a beginner's mind. Be aware of the fact that you oftentimes do not know that you do not know something, if that makes sense.

When a conversation starts getting emotionally charged, take a step back. Go outside, I hear sunlight is really nice and I should be getting more of it :P Assumptions tend to lead to more assumptions which tends to lead to looking like an ass.

Lastly, consider appropriate venues. If you think someone is attributing wrong, a PM would probably be a much nicer way to get this across. No one likes public criticism. I know from the talks we've had together you're a good dude and you didn't mean ill-will, but it came across differently unfortunately. See if you can take something away from this experience!

Collapse
 
tinussmit profile image
Tinus Smit

Awesome stuff :-D

I especially like "51. Kill your darlings". Too many developers have an unhealthy emotional attachment to their code, to the point where simple suggestions / questions are taken as attacks on the code. The code I wrote yesterday / last month / beginning of my career may be subject to improvement. Therefore I welcome discussions about my code and ways to improve. Sometimes I learn a new thing, and sometimes I teach a new thing with these sorts of discussions :-D

One important thing I also learned is to spot tunnel vision when it happens.

Whenever I'm trying to write some complicated clever code to solve a very specific problem, I take a step back and look at the big picture. Often times I'll see that what I was trying to do in one place was more efficiently done elsewhere, and my problem finds its resolution.

Collapse
 
foresthoffman profile image
Forest Hoffman

37. Learn to learn

People learn in different ways. Some learn best through video tutorials, others through reading a book. Figure out your learning style and practice it diligently.

And

50. Don't try to learn everything

There is an infinity pool of knowledge in the world and it is simply impossible to conquer it all. Pick several topics to master and leave the rest be. You can acquire working or tangential knowledge about other areas, but you cannot possibly master everything.

These go hand in hand. There's this dangerous myth about the "rockstar" developer, who knows everything off the top of their head. It's absolutely bunk. The folks that appear to be "rockstar" developers have simply learned how to learn. They know where to find a solution if they don't already know it!

If only I could go back in time and give my CS students this list!

Collapse
 
voidjuneau profile image
Juneau Lim

About 10% way down, I thought "I have to make a roadmap kanban board with this." Then It took a while to realize, this list is quite beefy for that.
Thank you for amazing advice. You have to write a book about it later.

Collapse
 
javinpaul profile image
javinpaul • Edited

How do you write such no-nonsense, great posts? If I can replace all these 101 with one tip- I would say, just #CodeEveryDay and you will become the great programmer.

Collapse
 
dploeger profile image
Dennis Ploeger

Great article!

I'd like to add to #72:

Write documentation

Yes, it's a thing most developers neglect, but good documentation (be it API documentation, well documented code or prose about a project) helps yourself to grasp and reflect on what your code is all about; helps others understanding it; helps your three years older self understanding it when revisiting it. Also, learn how to write good, comprehensive, well structured and readable documentation.

 
toriamone profile image
TorIamOne

Can I suggest something that might help your ashtma? I used to have ashtma up until I was 15 y/o. I understand how difficult it is.

After my last ashtma episode at age 15, I continue to suffer of terrible allergies up until a year ago. I would sneeze every morning as if I had a cold. Doctors had said that I was going to have this type of allergy until I die. I believed this bec. I, like most people, believe our doctors. One day I said to myself I would try to find a cure for this horrible 'morning allergy' as they called it.

I tried eliminating certain foods and writing down what I eliminated. The next day I would try something different. Finally after about 2 years of testing I realized that I was allergic to night shade vegetables. I have to mention that I also eliminated bread, cereals, pasta etc.

I don't have allergies anymore!!! I don't sneeze every morning. I feel fantastic! I also don't feel short of breath as I did once in a while before. I share this bec. it might help u. Ashtma is no fun.
What do I eat? I eat a mostly carnivore diet, 1 or 2 raw carrots(necessary to stay regular), cheese( I love cheese). I give myself a treat 2 or 3 pieces of chocolate about 60gr per day. I have personally discovered that vegetables might not be all good for all humans. Certainly tomatoes, zuccini, pickles are not my friends. If you want, give it a try you might find that u no longer have ashtma.

Collapse
 
dougaws profile image
Doug

Listen more than you talk
Learn by teaching
Don't be afraid to ask the dumb question
For every criticism, 10 compliments
Before you send that angry email/text, let it sit for 10 minutes
Revise, revise, revise

Great list Emma, I'm going to look at it regularly as a reminder

Collapse
 
webconsultantkr profile image
Web Consultant

This article is so good that I translated it in Korean and shared it. Related Links: medium.com/jaewoo/%ED%9B%8C%EB%A5%...

Collapse
 
biffbaff64 profile image
Richard Ikin

Point 1 is 100% spot on. I've mentioned this before to people, and some have, astonishingly, disagreed. You don't need to have everything in your head to be a good developer, but you do need to know how to research.

Collapse
 
johnangel profile image
John Angel • Edited

Great article Emma, thanks for sharing this!

The most important one IMHO "The only thing you should compare yourself to is who you were yesterday"

And I would add, "Remember that this is about human beings working for and with human beings. No need to act like you´re not from this planet..."

Collapse
 
wangzy2019 profile image
wangzy

Hi, Your article is very instructive,Could I translate it into Chinese?

Collapse
 
emmabostian profile image
Emma Bostian ✨

That would be great, thanks! Just please link back to the original article!

Collapse
 
wangzy2019 profile image
wangzy

I have finished,This is the link.
juejin.im/post/5d2d8d3ff265da1b846...

Collapse
 
wangzy2019 profile image
wangzy

No problem,I will do that and let you know then.

Collapse
 
malagutti profile image
Anderson

Great list Emma. Thanks for sharing! :)

 
dougaws profile image
Doug

Get a dog. I walk mine three times a day:
8am 45 minutes
3pm 20 minutes
8pm 10 minutes

Lost 5 pounds in 2 months!

Collapse
 
chiamakaikeanyi profile image
Chiamaka Ikeanyi

Great tips Emma.

I would add that:

When you finally solve a problem that you searched for online and couldn't find a solution, be kind to go back to that thread and provide the solution.

Doing so helps the next person that may find him/herself in the same position.

Collapse
 
bellnorm profile image
Norm • Edited

Tip no. 46, Review your own code, is very important. It's easy to think all is well, since you wrote the code yourself, but it can be amazing what you discover about your own code when you review it yourself before submitting it for a code review. I created my own checklist to use when reviewing my own code and it was very helpful. The checklist includes things like, 1) Do the parameters of this method have appropriate guard clauses?, 2) Is this method too long?, 3) Are the names of my properties, methods, variables sufficiently clear?, etc.

Collapse
 
cescquintero profile image
Francisco Quintero 🇨🇴

Wow, it was actually a hundred and one tips.

🤯👏🏽

Collapse
 
david_j_eddy profile image
David J Eddy

I LOVE your article Emma! Very well done. The whole list is great.

Some thoughts I had while reading:

"...7. Name variables and functions appropriately..."
There are two real problems in computing:
Naming things
Cache invalidation
Off by one errors

"...17. Don't gate keep..."
IMO, programming has room for everyone. From toddler to retired.

"...51. Kill your darlings..."
I tell anyone I can '...when the code leaves your machine, it is not longer your code. Let it go."

"...64. Learn design patterns..."
Of everything I know today, I wish I knew this sooner.

Collapse
 
the_von_truber profile image
Michael

This...💯💯💯

Collapse
 
alexiu5s profile image
Alexius • Edited

Emma! I loved your article,this have to be share with my coworkers ;)

Collapse
 
figspville profile image
Salli Figler

What a fantastic list of tangible and actionable items. This should be kept handy and Re-read often, especially when feeling uncertain or just blue. Thank you for putting such thought into this and for sharing.

Collapse
 
shreyasminocha profile image
Shreyas Minocha

This is such a great list. Thanks Emma!

Collapse
 
itscoderslife profile image
Coder

Exhaustive :) but every point is valid one.

Collapse
 
josephadah profile image
Joseph Adah

Thank you Emma.
I want to apply for job I'm not yet qualified for 👩‍💻

Collapse
 
ben profile image
Ben Halpern

Amazing

Collapse
 
leeyuesang profile image
Yuesang Lee

Hi, i got impressed with your valuable post.
May i translate this to other language and share?

Thanks for your post. Have a nice day!

Collapse
 
emmabostian profile image
Emma Bostian ✨

Of course! :) Thanks!

Collapse
 
powerexploit profile image
powerexploit

One of the best blog
I like it

Collapse
 
motss profile image
Rong Sen Ng

Skills fade with time unless consciously improved upon, and this industry evolves so rapidly it's important to keep practicing.

Love this the most.

Collapse
 
admecneha1995 profile image
Neha Sharma

Really useful. I am also pursuing web design course in Delhi It will help to understand concept easily.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

Surfing? Horseback riding? Rollerblading?

Collapse
 
johnlukeg profile image
John Luke Garofalo

Amazing article. All very important points that people don't talk about enough. Thank you for writing this, Emma.

Collapse
 
pagecarbajal profile image
Page Carbajal • Edited

Awesome article. Thanks for sharing.

Collapse
 
aaronplate profile image
Aaron Nuñez

Great Article! These tips are a knowledge compendium.

Collapse
 
nirmal_kumar profile image
Nirmal

Excellent Gems of Wisdom - Feels like 20+ years of experience capsuled in 101 points.

Collapse
 
colinlord profile image
Colin Lord

Thank you for writing this, Emma! So many good points in here, some of which I'd accidentally let slip to the back of my mind.

Collapse
 
keevcodes profile image
Andrew McKeever

wonderful list!

Collapse
 
johnemms profile image
john-emms

What a comprehensive list, you almost missed nothing.

Thanks.

Collapse
 
neilvbuch profile image
Neil Buchanan

Well done!, inspirational.

Collapse
 
syntopikyle profile image
Kyle Walsh

Nodding in approval to all of it, really impressive list. Thanks for compiling it! Appreciate the effort :)

Collapse
 
efrapp profile image
Efrain Pinto Ponce • Edited

This post is as beautiful as youR work! Thank you so much for share it! :)

Collapse
 
emmabostian profile image
Emma Bostian ✨

Hi, I appreciate the compliment but this is a professional blog and I would prefer to keep the comments professional. Thanks.

Collapse
 
efrapp profile image
Efrain Pinto Ponce

Ok fixed! Have a great day.

Collapse
 
kpollich profile image
Kyle Pollich

Thanks, Emma! Great post and I absolutely love the illustrations.

Collapse
 
emmabostian profile image
Emma Bostian ✨

Thanks they're from UnDraw!

Collapse
 
qcgm1978 profile image
Youth

I agree with you 90% of the opinions. The remaining 10% I respect.

Collapse
 
nandhithakamal profile image
nandhithakamal

This is a great list!
No nonsense and to the point!
Thanks for making this! 🤓

Collapse
 
rachellcostello profile image
Rachel Costello

This is great, thanks Emma! 🙌 Really interesting reading for someone like myself who's interested in learning more about how engineers work and what their main goals are

Collapse
 
iagommendes profile image
Iago Mendes

What an amazing list! Thanks for sharing. <3

Collapse
 
bradtaniguchi profile image
Brad

Each of these topics could be its own article, and I'd heart each one!

To bad there is no way to give 101 hearts to just this one haha!

Collapse
 
danjconn profile image
Dan Conn

A superb list. Thanks for sharing. Loving the Ladybug Podcast too!

Collapse
 
a7med__1996 profile image
Ahmed Abdel Fattah

Thank you, Emma Wedekind.
you are great.

Collapse
 
jasonbbelcher profile image
Jason Belcher

Really enjoyed the article. I read the whole thing which is to say it is well written and useful advice.

Collapse
 
seann profile image
Seann Alexander

74. Speak up in meetings

So much! Don't be afraid of asking questions in a meeting, what better place to have a discussion when everyone is around? :) :) :)

Collapse
 
thiagobitencourt profile image
Thiago Bitencourt

Those tips are just awesome. I've created a web app to navigate through them, just for fun, and would like to shared it. Here is the link: thiagobitencourt.github.io/dailyde...

Collapse
 
johnnymx profile image
JohnnyMX

It must be amazing to work around you. Great post thanks.

Collapse
 
aralroca profile image
Aral Roca

If you create a poster with those 100 tips and those great illustrations, I will buy It!

Collapse
 
max_tulian profile image
Max (he/his)

Thanks for sharing :)

Collapse
 
kaleigh profile image
Kaleigh Scruggs

I love this!

Collapse
 
httpjunkie profile image
Eric Bishard

Be good read code pair often don't be a jerk and test sumthin ... anything!

Collapse
 
prsanjay profile image
Sanjay Prajapati

Loved it. Thanks for writing.

Collapse
 
coderarchive profile image
Lu-Vuong Le 🚀

Wow! I've never seen such a great list before! All these points are amazing tips!

Thanks Emma! 💯

Collapse
 
thisiskrishna91 profile image
🚴‍♀️🏃🏻‍♂️😊🍺

Best read! thanks so much.

Collapse
 
ayeolakenny profile image
ayeolakenny

102 Take care of your eyes...😁

Collapse
 
nux99 profile image
Nuga

Nice!

Collapse
 
tvanantwerp profile image
Tom VanAntwerp
Collapse
 
dmvmatos profile image
dmvmatos

I agree 101%... Great post!

Collapse
 
bryrod profile image
Bryan Rodriguez

This is great!!!

Collapse
 
angelarae63 profile image
Angela Whisnant

Definite Unicorn post! I have saved this and will most likely come back to it again and again!
Thanks!

Collapse
 
ichmagcheddar profile image
Pascal

I definitely recommend daily yoga and meditation sessions!
I recommend Surya Namaskar Yoga!
And Isha krya meditation in the mornings :D

Collapse
 
yaser profile image
Yaser Al-Najjar

I see... did you try tennis table? or yoga?

Collapse
 
saigkill profile image
Sascha Manns

Very true and interesting list. But who is "Jerry"?