If I knew then what I know now

Yesterday, there's a discussion (here at dev.to) 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.

Did you find this post useful? Show some love!
DISCUSSION (18)

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!

I definitely wish I had done 2 and 3.

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

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.

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

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

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.

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

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.

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

Great advice! Thanks for the post!

Classic DEV Post from May 9

My point of "vue" in React vs. Vue

Original post: https://www.ycmjason.com/blog/2018/05/09.html I personally co...

READ POST
Follow @ycmjason to see more of their posts in your feed.
Ted Hagos
coder, scribbler, doodler (in that order). Keeps his notes at https://workingdev.net and https://tedhagos.com. wrote a couple of books for Apress
More from @tedhagos
You can pass variable arguments in a Kotlin function
#kotlin #beginners
Reified generics in Kotlin
#kotlin #beginners
Trending on dev.to
The day I hacked Troy Hunt's website to delete my data
#dev #hacking #security
Do not be this kind of developer
#career
The Most Important Non-Programming Skills for Programmers
#career #leadership #tips #culture
Set up My Computer with Me!
#beginners #devtips #setup
Recap of Data Structures with Javascript Part 1
#javascript #computerscience #algorithms #beginners
8 things I hate in recruitment letters [add yours, it's kind of research]
#discuss #career #job #productivity
Hot Code Reloading in Elixir
#elixir #erlang #programming #beginners
Write and deploy a SUPER FAST web site in 30 seconds with no framework.
#beginners #staticsitegenerator #tools #noframeworks