Get the app to ++, post and comment
  • 1845

    !rant

    After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:

    1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.

    2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)

    3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.

    4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.

    5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.

    6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.

    7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.

    8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.

    9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)

    10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...

    These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!

  • 36
    Great advice indeed.
  • 81
    As a student about to graduate, this is kick ass advice. Thanks!
  • 52
    If I could ++ 10x I would. I'm stealing this to share with my students!!
  • 25
    Very good rant, made me register just so I could ++ this
  • 18
    As someone with similarly varied and lengthy career in tech, this is excellent advice for both beginner and experienced dev. ++ for you
  • 6
    Thank you
  • 3
    Thank You!
  • 3
    I can totally relate!
  • 7
    Thank you a gazillion times !!
  • 3
    Could not agree with you more πŸ‘
  • 4
    Solid advice there. Thanks πŸ‘
  • 4
    Thank you really much! Superb advice for me as a kind of new dev πŸ‘πŸ‘ŒπŸ‘
    I will give you a ++
  • 4
    Thanks, jr. Dev taking your advice here!
  • 8
    As someone with similar length and experience although mostly as a developer/system engineer I think this post is right on the spot. All of you out there that are new in the craft listen and learn! So much wisdom in this list!
  • 3
    Developers, with big egos? Never! Great advice. Thanks for sharing @purged
  • 4
    Thanks a lot..it's really very good advice.
  • 4
    Baby dev here, passing this to my team hehe.
  • 2
    Best advice so far here at devRant. Thanks for sharing...
  • 2
  • 21
    This is pretty good, I share the sentiments here. A couple of my own to add here:

    - spending some time on upfront design is important. It's also important to realize that you will not catch all issues upfront, and you will have to tweak your designs as your go along.
    - don't do stupid work. If it's repetitive automate it.
    - your best code is the code you won't have to write and maintain.
    - whatever you do, make sure you actually solve a real problem, so have realistic metrics to estimate your success.
    - you are never the smartest person in the room. corollary: feedback is always important, the earlier you get some the better.
    - spend time to have deep understanding of the issues/technology
    - don't jump aboard the hype train. Counterargument: stay atop of new trends.
    - use the right tools for the job. This applies to different abstractions as well: code, services, your home.
  • 2
    Great advice! Thanks for sharing.
  • 4
    Thank you!! πŸ‘πŸ‘πŸ‘
  • 2
    Thank you for taking the time to write this, by far the best thing I've read here.
  • 4
    As someone who's slowly breaking free of IT Support role monotony, this advice comes at a great time.
    Thank you!

    Any tips for when clients ask for ETA's on a bug?
  • 2
    Very good thanksπŸ‘
  • 4
    Number 1 alone deserves a stress ball. And that's the problem with "teenage geniuses". Their egos often are so big that you feel bad for when it's going to fall all over their faces.

    Anyway, thanks for the advice. There is nothing better than working with people like you.
  • 3
    I'm saving this! I never want to lose this !rant
  • 4
    Hmm selecting text isn't supported in devRant? Hmkay, a series of screenshots then....
  • 4
    Great advice! Just one thing about #10. Does anybody have some tech news site recommendations?
  • 14
    @renegade When a client asks for an ETA on a bug, I set my status to "Away."

    No, truthfully, that is my weakest area. I have never been any good at estimating time.

    I typically tell them "It will take me some time to diagnose the issue. Until I know why it's broken and come up with a plan of action to resolve it, any ETA I give is a shot in the dark."

    Any good technology leader should play top-cover for you with generic statements like "We're looking into the bug as we speak and will get back to you on an ETA as we know more."
  • 2
    I appareciate this a lot!! thank you so much πŸ‘πŸ»
  • 5
    @purged to add to this, it's always good to add extra time, if you think it will take 6 hours to fix, give yourself 10-12 hours, if you get it done early cool clients will live you, if it overshoots they won't know
  • 2
    Get this man on the podcast
  • 2
    Thanks man!
  • 2
    This is a golden advice, thank you :).
  • 2
    Thanks for sharing your experiences. This is really helpfull
  • 3
    Great advice :), thanks!
  • 5
    So I'm not crazy...
  • 2
    Thank you
  • 2
    Great stuff, thanks for sharing!
  • 2
    @JBSnorro you can 'favourite' the rant. Under your profile you find all your favourites.
  • 2
    Forwarding this to my codecademy group. Thank you for this
  • 6
    Thanks man! It's not just an advice for devs and ops, but for everyone else
  • 4
    @purged, thank you very much. I'll remember this.
    I try to write the best code possible, I do a lot of research on StackOverflow and similar websites, to make sure I'm doing it the best way. And I don't simply copy-paste the code and if it works, I'll leave it there as it is. I try to understand what the code does, I think this is essential.
    I like to use understandable variable names, practical functions (I make a lot of functions).

    As of PHP7, I don't know what would be a good enough answer, the only thing that I know now is that it has the null coalescence operator ( ?? ).

    I've been programming in PHP for a year and a half now, and I started programming about 3 and a half years ago. I'm enjoying it a lot, and your words will surely help me on the future.

    I do have some ego because I self taught myself almost everything I know, and often I see very bad code, but I'll try to be more humble from now on.
  • 2
    πŸ‘πŸΎ
  • 3
    Thank you so much :)
    I'm sure these tips will prove invaluable for students like me, who are just a couple of years away from starting their careers.
  • 10
    @phiter remember, ego and confidence are two very different things.

    Confidence looks like "I can handle that!"

    Ego looks like "I can handle that better than you!"

    With ego often comes the inability to take constructive criticism, which makes nobody want to work with you.

    I too am self-taught. I too had ego issues. Once I learned to accept the fact that there ARE developers who are better than I am, I felt better, and my coworkers liked me more. This is one of the tips that I can tell you I learned the hard way.

    Sometimes ego is useful to give yourself confidence, but when that ego is thrown in people's faces, they'll resent it/you.
  • 2
    Amazing!
  • 3
    This is really helpful. Not just for juniors!
  • 3
    Pure gold. Thank You Sir.
  • 2
    Sealed on my heart forever!!! Thanks buddy. Thank you.πŸ€—πŸ’ƒπŸ‘Š
  • 2
    From a junior developer to a senior... thank you. Some of these I have learned on my own but others, I definitely need to get better at.
  • 2
    As a recent code boot camp graduate. This is spot on. Thanks!
  • 2
    Thank you for the advice.
  • 5
    Awesome advice! Should write a small article about this so a lot of other juniors (and not just juniors) can read it :D
  • 2
    Holy mother of everything holy. After the last month plus 100000 to point 2 and working independently. It's soooo important.
  • 2
    @piks Agreed, @purges you should definitely write that on Quora or/and on Medium or/and Hashnode.
  • 2
    This is going up on my wall!!!
  • 10
    Love this! Great advice and a must read for everyone. =)
  • 7
    I would add, don't treat older coders who aren't updated on the latest hot framework, library, API, technique, etc. like garbage. None of us knows everything, some of us are re-entering the programming workforce, and each of us gets through a learning curve at different rates with different learning styles. If you are condescending to or talk about older developers behind their backs, it will come back around on you some day.
  • 2
    Thank you for this. It's very good advice. I can't add anything to it.
  • 7
    @stackodev I think, if you talk about any coworker behind their back, regardless of time or skill, you're a problem.

    That said, my personal opinion differs slightly. Sure, we don't and can't know everything about every framework/language/technology out there, but regardless of whether you're an "older" dev or not, if you don't immerse yourself in current tech and trends, you are allowing yourself to become obsolete. Us "older" devs don't get a pass when it comes to relevance. Quite the opposite really, we should be setting the example.
  • 2
    Just wish I could favorite this rant
  • 2
    @muK22 there is a favorite button in the bottom right corner.
  • 3
    This is indeed very very helpful!! Thanks!
  • 3
    @purged thanks man!

    Can you also give some advice on how to document your software? What is practical?

    Thanks in advance πŸ‘
  • 2
    Top notch advices, thanks a ton!
  • 2
    Thanks!
  • 2
    11) its okto fall on the nose. U will even if ur the best. Just recode the same thing, and learn from ur mistakes
  • 4
    I have also been doing this for 20 years. Love the advice except for 2).
    I think you should ask lots of questions but
    a) think about what the answer to your question might be so you can validate your thought process against the more senior members of the team
    b) listen to the answer - write it down if it will save you asking it again
  • 2
    Amazing advice, which could be implemented for any career and even generally in life. Thanks!
  • 1
    You are the Mo$e$ of coding!
  • 2
    This is fantastic advice, thank you for sharing!
  • 2
    Being junior employee since 8 month now, since a lot of people would give the exacts opposite advices (like "a good code is a working code"), your words are golden !
  • 2
    Thank you!
  • 2
    @purged
    Thank you for sharing and mirroring your behaviour to the community.
    I believe you being a true plus value to all your surrounding.
    That makes you a role model to me.
    Thx
  • 2
    I have been solo programming for 4 years, and I agree with all the points.
    Thank you, OP, for the post.
  • 1
    Great Rant I ever heard :)

    Thanks :/
  • 1
    I'd consider myself mid level but #10 rang true the most for me. Even in college I was forced to learn Java but that didn't stop me from learning web
  • 0
    @phiter it's good to hear you say the copy and paste thing because it's what I've been seeing many developers do most of my career leaving us with code they don't understand...
  • 0
    @stackodev I try to be understanding and explain everything to developers that don't understand some of the stack or technology but then I get the feeling that they're pissed at me for being a know it all and basically shut me up so not really sure what to do about that
  • 2
    @timurtu I guess it's just the peril of working with individuals. For my part I try not to be persnickety when someone offers to help me. If anything I feel self-conscious and awkward asking younger developers to help me with stuff they likely assume I already should know. Nobody can know (or remember) everything, though.
  • 0
    @thmnmlst nice!
  • 1
    Woa! Thank you for your advice. Sometimes I think that I'm a bad developer because my code is not as good as from others. Your advice is giving me some hope.
  • 1
    Very helpfull! Thank you!
  • 1
    this has become my daily 10 rules to go by while working
  • 0
    Opjlj
  • 1
    I added this to my journal. Thank you so much for sharing your insights and advice!
  • 1
    Really great advise. Thank you!
  • 1
    Nice post :) Merci beaucoup
  • 1
    Just in time .. Thanks ..πŸ™
  • 1
    Really appreciate, but !rant :)
  • 1
    Thank you for your advice. I'll follow it. :)
  • 1
    Thanks for the advice!
  • 1
    Cool ...πŸ‘
  • 1
    1+ on #2
  • 1
    Thanks for sharing!
  • 1
    thanks for the advice
  • 1
    I feel like giving you a virtual hug. Thanks so much sir.
  • 1
    Thank you
Add Comment