DEV Community

Cover image for What Do You Wish You’d Known When You First Started Programming?
Ben Halpern Subscriber for CodeNewbie

Posted on

What Do You Wish You’d Known When You First Started Programming?

If you’re just starting out in programming, you might be feeling overwhelmed by the sheer amount of information out there.

Here are some tips to help you organize your thoughts:

  1. Start small and build up gradually
  2. Document your progress.
  3. Don't compare yourself to others
  4. Practice, practice, practice
  5. Don't be afraid to ask for help! This is a great place to do just that!

Remember, learning to code is a journey, not a destination. It takes time, patience, and perseverance. Stay curious and keep learning!

For those of you who are a little more seasoned, what are some things you wish you’d known when you were starting out that would have made your journey a lot smoother?

Oldest comments (33)

Collapse
 
yet_anotherdev profile image
Lucas Barret

It is totally link with your second point.
Writing article, while your doing your project.
I have a lot of problems of motivation when it comes to do project just for the sake of it. I begin it and I have really a lake of motivation at some point, because I do not see the point of the project.
Doing project and then writing an article about it keeps me focus on it.
So even if you feel you do not have anything to say.
It doesn't matter like you said don't compare to others !
Thanks for your article I hope it will help people. :D

Collapse
 
nombrekeff profile image
Keff

This are some of the tips I can give after almost a decade working as a profesional developer:

  • Start from the basics, and add complexity little by little. Don't jump to complex topics before understanding the basics.
  • Don't reinvent the wheel if you don't need to or want to (if you want to for learning it's fine).
  • Don't obsess to much, take time away from the computer regularly and exercise.
  • Accept you wont know everything, not even a small percentage, but that's fine. Whenever you need to, you will learn it. One aproach is to know that you can do something, but there's no need to remember how to do it from memory, just look it up when you need it, after a few times you might remember it.
  • Have fun, if you're having fun it will be easier to learn. If you find a topic cool or interesting, go ahead and learn it.
Collapse
 
joaomiguel22c profile image
joaomiguel22c

wauuuu

Collapse
 
overflow profile image
overFlow

you mean "wawu wawu wawu wawwuuu" lol

Collapse
 
overflow profile image
overFlow

yeha like wawu wawu!!! lol

Collapse
 
__masashi__ profile image
Masashi

Here's my list:

  • Read documentation.
  • Write documentation.
  • Write tests for everything.
  • Create an MVP before adding all features.
Collapse
 
pmbanugo profile image
Peter Mbanugo

That talking to your customers is part of the job, and selling isn't an evil idea. I think many of us start out badly with selling, and struggle later on. Selling is what we do when we try to convince colleagues to try something new, or ask a manager for a raise. It's part of the things we do when negotiating a job offer.

Collapse
 
nicolus profile image
Nicolus

talking to your customers is part of the job

I kinda disagree. I've been a dev for 10 years and very rarely had to talk to the customer. The only times I do is because my code needs to interact with our customer's code through APIs or SSO or something, and I talk to their developer. There are people who are much better at dealing with customers and writing specs than I am, so I'll gladly leave them that job.

Collapse
 
pmbanugo profile image
Peter Mbanugo • Edited

Ok, then let's agree it depends on your job

Collapse
 
eerk profile image
eerk

Release early, release often 😎…

Build barebones prototypes as fast as you can.

Seeing others use your application will help you understand what direction you need to go in.

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard

Asking for help is a difficult dance to learn.

I wish I had known earlier the practice of timeboxing activities where uncertainty is high: "I'm gonna work on this for 30 minutes/2 hours. I may be able to solve it all by myself. But if I don't I won't stay in a rabbit hole because I'm too proud, I will go back to my team".

Collapse
 
boudewijndanser profile image
Boudewijn Danser

Right!?
There is no shame in asking for help if you've investigated properly and can share what you tried.

Collapse
 
ben profile image
Ben Halpern CodeNewbie

I'll say this: Some hype is real, a lot is not. Don't buy into the hype or become to cynical of new things. Try and develop a measured opinion of new things as they come out.

As a newbie, you probably have a hard time gripping the whole perspective of some new things, but also you don't have baked in opinions that hinder some seasoned devs.

All that is to say, just keep an open mind and stay in it for the long haul, and new things that are here to stay will sort themselves out.

Collapse
 
charliekroon profile image
charliekroon
  • When you run into an error or a bug don't be afraid or intimidated by it. Also, don't go and remove random things without having any clue as to why that error or bug happened in the first place. Try to see every bug as a learning opportunity.
  • Make sure that you fully grasp the fundamentals before you're doing anything else.
  • Having many years of experience does not necessarily make someone an effective communicator or mentor. If you don't understand someone's explanation, don't go into panic mode because it doesn't mean you're stupid or that you will never be a good programmer. It simply means that you might need the concept to be explained in another way.
Collapse
 
mfurmaniuk profile image
Michael

Very true its a journey, you will NEVER know it all, but you will know enough.

Take small bites of things if you want to be a generalist, or if you want to specialize do it in something that excites you not what you think will make you money.

Collapse
 
madza profile image
Madza

Great question and lots of answers below can be used as valuable shortcuts for beginners 👍💯🚀
I created a list of my tips a couple of years ago, too 😉

Collapse
 
cclaudia13 profile image
Cclaudia13

OMG!
Great list, portfolio (which i'll look again and again) and website.
Thanks for the great tips.