re: What is your best advice for a junior software developer? VIEW POST

FULL DISCUSSION
 

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

 
 

I'd love to, but I'm terrible mentor. Thanks though

Ok sir,though u don't sound like u will be a terrible mentor, but i respect your decision.

Okay Sir, though you don't sound like one who would make a terrible mentor, but I respect your decision.

 

Can you explain the point 3. I thought using design pattern is a good code practice.

 

He's basically saying "fit the solution to the problem, and don't over-engineer". Not everything needs a design pattern, so sometimes just keep it simple, avoid abstraction layers if possible, and don't optimise prematurely.

 

Design patterns are names for common solutions to common problems and therefore often just a label to shorten a discussion. Do not apply a pattern for the pattern's sake, but apply the right pattern to fit a given problem.

 

Please post repeated architecture and production information,thank you

 

This is probably the best advice I've ever gotten... ever. Thanks!

 
 

So there's the tongue-in-cheek (ish) advise. Levity aside, let's look at another angle of the question. How does one get out or graduate from being a junior to something else; a senior, I suppose. This is an age-old question and a lot of brilliant minds tried to answer this (I'm pretty sure, a lot more brilliant minds in the future will still try to answer it), this is my favorite so far Programmer Competency Matrix.

Some of the item on the matrix might be abstract but some can get hairy detailed. I don't agree with all of it, but (at least) where I work(ed), there seems to be a general agreement on it. Take it with a grain of salt; remember, you found it on the internet

code of conduct - report abuse