DEV Community

Cover image for If I knew then what I know now
Ted Hagos
Ted Hagos

Posted on

If I knew then what I know now

Yesterday, there's a discussion (here at on "What is your best advise to a junior software developer".

I responded with 15-item, somewhat, tounge-in-cheek, list. Apparently, some people liked it. So, here it is now in post form, shareable and all.

If I have Doc Brown's DeLorean, this is what I would advise my younger self

  1. Keep your head down during code reviews. Humility goes a long way. They're not criticizing you, it's your code they're after. It's not personal
  2. Do the required reading before you get knee-deep in the code. You have a propensity to shoot from the hip, curb that enthusiasm. Don't read the manual only when you're in trouble
  3. Design patterns are nice, but you don't have to use all of them, all the time in every code you write
  4. Learn Python early. Get to the Python REPL and type import this. Learn it by heart, then read no. 3 (above) again
  5. Coffee, pizza and chips are nice now, but 20 years from now, you're gonna wish you didn't eat those
  6. In a couple of years, social media is gonna be big. Stay out of it
  7. Those math subjects you hated, better get more comfortable with them. There's gonna be a thing called "machine learning", it's gonna be big, you're gonna need them maths
  8. Stop wondering when you will graduate from being a junior, you'll know it when you're out of it. When you start making technical choices and you recognize that there are choices to be made; then you're not so junior anymore
  9. Be polite when asking questions. If you don't want to get the RTFM response (a lot), read Eric Raymond's guide on how to ask smart questions
  10. When you go to a meeting, always bring a pen and paper. Write your notes
  11. If it's taking you more than 3 hours to figure out something, ask for help, tell your tech lead what's eating you up (but make sure that before you do this, you've read no. 9 above)
  12. If you promised your tech lead (client, coworker or boss) you will deliver the thing on Friday, and you're not gonna make it, tell them early. Don't tell them on Friday
  13. Exercise. You're brain (and your blood pressure) will love you for it
  14. When the book "Pragmatic programmer, journeyman to master" comes out. Read it
  15. From time to time, write a program in LOLCODE, don't lose your humor

There's a lot more, but these are my big ones

Don't forget to visit the original post by Sergio Tapia, there are other comments in there; it's still going, I think.

Top comments (21)

jrohatiner profile image

Awesome post! Its hard to decide the top answers, because there are soooo many things I would tell myself that I didn't know when I began programming. Here are some:

  1. Don't sweat the small stuff. You are not the first person to make this mistake (whatever that may be) and you will not be the last.
  2. Do yoga! You'll thank me when you don't get bursitis or backaches. And the more circulation you have the more blood that goes to your brain.
  3. Find a programming path you enjoy and stick with it. Be an expert at one thing at least - and believe in it. Have a reason why you do that particular job.
  4. Take mental breaks
  5. Learn from the best.
  6. Read a lot.
  7. Teach yourself the art of total concentration
  8. Talk to the rubber duck - its the only way to get from point "A" to point "B" without going on tangents that waste time.
  9. There is no shame in not knowing something.
  10. However far your special skills and knowledge take you remember who you are and what it took to get there. Namaste!
hwolfe71 profile image
Herb Wolfe

I definitely wish I had done 2 and 3.

jrohatiner profile image

never too late my friend!

tedhagos profile image
Ted Hagos

I love #1 (liked the book too)

jrohatiner profile image

me too! also, my grammy once told me "worry is a wasted emotion."

ben profile image
Ben Halpern

I loved this answer

tedhagos profile image
Ted Hagos

Thanks Ben

cullophid profile image
Andreas Møller

Invest in Bitcoin

thebouv profile image
Anthony Bouvier

I do career panels every once in a while and get asked a variation of this question.

One thing I wish I started earlier in my career was networking.

Get out there to coding meetups, cons, presentations, etc. Make connections. You are more likely to land a new gig through your network than you are through a recruiter or hunting it yourself. Same goes for when you become a hiring manager -- you'll never have to use a recruiter or post-and-wait websites.

Plus all the things you learn is a bonus.

tedhagos profile image
Ted Hagos

Agree 100%. I forgot to put this one. Also, hackathons.

nebojsac profile image
Nick Cinger

Great advice!

itsasine profile image
ItsASine (Kayla)

7b. The math nerds you remember from school don't understand machine learning either.

I say as a master of math without a lick of ML knowledge despite reading up on it :P

bacchusplateau profile image
Bret Williams

Re #5: You'll pry my coffee from my dead, frozen hands! :-)

ayoshing profile image
Shing Wong

Not there yet, but sounds like great advice. When I get my first developer job, I'm going to print this out, frame it, and hang it on the wall above my monitor.

llotz profile image
Lukas Lotz

I always try to answer or explain things like I wanted have them explained when I was asking this. That's how trainees skills grow faster.

lingam247 profile image
Daniel Selinger

Emphasis on 9 to 13 :-D

kafnod profile image

Love point 12!
That's what it means to be dependable.

benhaddish profile image
Biniam Haddish

Great stuff if you could clarify number 5

tedhagos profile image
Ted Hagos

It's just a tongue-in-cheek advise on food choices. I just wished I drank less caffeine (hypertension and all) ate less pizza and chips (probably why my triglycerides are so bad). I still eat and drink these now, but in moderation.

adamcpj profile image
Adam Jennings

Great advice! Thanks for the post!

ricoramiro profile image
Ramiro Rodriguez

That's great advice. I'm glad I read it 😀