Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
As someone with similarly varied and lengthy career in tech, this is excellent advice for both beginner and experienced dev. ++ for you
-
Thank you really much! Superb advice for me as a kind of new dev 👍👌👏
I will give you a ++ -
Ixtryl148yAs 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!
-
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. -
renegade1148yAs 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? -
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. -
Hmm selecting text isn't supported in devRant? Hmkay, a series of screenshots then....
-
hizz1298yGreat advice! Just one thing about #10. Does anybody have some tech news site recommendations?
-
purged39408y@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." -
@JBSnorro you can 'favourite' the rant. Under your profile you find all your favourites.
-
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. -
purged39408y@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. -
mazakris2338yFrom 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.
-
piks3108yAwesome advice! Should write a small article about this so a lot of other juniors (and not just juniors) can read it :D
-
ultrono23508yHoly mother of everything holy. After the last month plus 100000 to point 2 and working independently. It's soooo important.
-
@piks Agreed, @purges you should definitely write that on Quora or/and on Medium or/and Hashnode.
-
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.
-
purged39408y@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. -
bruterik3018y@purged thanks man!
Can you also give some advice on how to document your software? What is practical?
Thanks in advance 👍 -
11) its okto fall on the nose. U will even if ur the best. Just recode the same thing, and learn from ur mistakes
-
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 -
Bigot108yAmazing advice, which could be implemented for any career and even generally in life. Thanks!
-
K0d1Lu828yBeing 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 !
-
I have been solo programming for 4 years, and I agree with all the points.
Thank you, OP, for the post. -
timurtu578yI'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
-
timurtu578y@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...
-
timurtu578y@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
-
@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.
-
Skayo85688yWoa! 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.
-
I registered just to add a ++
I say the exact same thing to all the teams i work with, sometimes i cross a dev who thinks to be the best just because he knows php and html, what a joke, i don't even take them in consideration during recruitment, WTH everyone know these. -
bols597747yBrilliant. Bloody brilliant. & it applies to life everywhere. I'm copying it to a document and I'm going to try to memorize it. Seriously. Fill my brain with something other than The Rolling Stones 1972 North American Tour!
-
Could you please build a time machine and tell this to my past self, like, 10 years ago?
-
Banele7317yI know this is a very very old rant and I generally don't comment on rants that are more than 3 days at least, but the lessons shared here they are very rich and I'd love to share and show my appreciation.
-
pps83666y#1 applies even more so for senior devs! If some dude asks me a question, I'll take a break and help them. I do c++ and in my case I have a very different idea about documentation: code is the documentation, I document unobvious/tricky things and some APIs that are meant to be used by others, other than that I try to keep code dense and not polluted by BS comments that do not have any value.
-
pps83666yFor juniors I'd also give this advice:
- your boss/manager is not your friend. Don't be fooled.
- always work on self improvement and some personal side projects at your personal time.
- always be looking for better opportunities. Early in your career if you stayed more than 2-3 years at the same place switch to active mode of searching for a better place. Remember: making the right move may advance your career in a day to a new level whereas it would take you 5 or more years of your life to reach the same level at the old place. -
pps83666yRegarding ego/asshole attitude: even if you are much better than your teammates don't act like asshole, try to help them instead so that they become better. In the end, the better your teammates the easier it is for you. Also, many companies specifically try hard to avoid people with ego issues and assholes, regardless if they are gods of software engineering. In interviews we try to spot these types of people and reject them if they are suspected of such ego problems.
-
This is the best advice Ive ever seen for developers starting out. I wish I would have had it several years ago.
-
I would like to add one tip that seems important.
No matter what, if your boss/employer tells you to do something in a certain way and you think its not the best approach to it, don't be afraid to give your opinion about it, sometimes they don't have a clear/better picture of how to accomplish X task, it is important that as a developer you can speak your mind out and then agree on both sides.
Sometimes my coworkers just follow my orders as literal as I said them, but they never put some effort on questioning me because they think I am correct all the time.
I let them know to always tell me if they think my approach is wrong or good, so we can discuss it and finish our work in what we think is the best way of doing it. -
codifryed46yThis is one of the most succinct posts I have seen on this topic. Thank you. Saving and sharing.
-
cursee165956yI have archived some of my favorite rants @ https://devzin.xyz
Your this rant has been added. Please let me know if you want to remove it from there.
(I hope you don't :3 ) -
Hi , I'm new to devRant. Also new to programming. The first thing I saw is this post and this really is some valuable stuff. So Thanks !
-
I have literally just joined Devrant and this is the first post I read.
Damn it's a good one -
argosen546yI will suggest to include this text in the welcome documentation for new developers at my job. Nice work. Thanks.
-
thank you for your advice. actually I think I enforced me that I need to know everything before I apply for an entry level job and I am actually overwhelmed. I guess it is time to think about what I really need to focus. thank you.
-
Nucifera126yI really should add this to our employee onboarding manual. Just in case we grow above 2 developers ^^
-
P4nda346yI am 14 years old right now, and I am currently practicing and learning Java on Udemy. This rant literally made me imagine what it would be like to be in your shoes, a 20-year Software Engineer with loads of experience yet still humble enough to not be a jerk about their work and state how its the best. I wish there was a way (im new to devRant so idk) to save a rant so I could see it any time I wanted. Love this thing man and congrats on the years of work you put into what you do!
-
Clementine06yAs a junior programmer, I saw myself slipping into the darkness as the list went down the screen.
-
hovitt186y#3 Is so true. Nowadays the internet makes it so easy to find the answers you need online but I fear if it's making people lazy to even find the answer and just "google" the seniors.
-
haxzoid235yI am finishing my education in Machine Learning with Python and at no time did any professor bother to share real world insights like this with me. Thank you for making me feel better about not knowing everything on day one.
-
Came here for the first time and checked best rants! I think this should be the number one and haven't gotten ++ that you deserved. Really good advices. I super liked it. ++ * 100 times from.me :) thanks for sharing your ideas
-
kr9s8n1605yWell said. I've just joined my first job like 3 months ago and I already feel most of these relevant to me and experienced devs around me.
-
Rud156345yI will agree with all of this. In my previous company, a new guy joined after I left. I heard that he was very good and everyone seemed to have a positive impression of him.
The only person who did like him was the senior developer. I came to know that despite doing the tasks he was assigned, he was the code he wrote was unreadable and kept pestering the other developer.
Just because no one saw under the hood for the code. He was considered good. -
Nems335y1000 % agree. Especially on the documentation. I would like to add that it is not only useful for others but also to your self.
Ever had the case you had to google for hours and increase your knowledge to solve an issue? Write it down! Take notes! So you can quickly look it up again. -
wtfyogesh45yYeah, I am struggling to follow some of the above mentioned point but yeah I am trying, I am not happy with my professional behavior it's just my company is bearing me because I am very good at what I do(code). But I know these things matter alot.
-
Magauw345yWow... that should be in every programming book first page... or every video course intro.
Well said! -
MtDeverest05ygreat list! I am a junior dev and have definitely pulled a number 9 haha in future will jump on one when I see one! Thanks again for sharing what you have learned
-
I'm on my last semester, about to finish it at that if all goes well, thank you so much for this!
-
lxndrlh14yThank you for sharing. I agree completely to your points. Should be a little bible for juniors at the beginning :)
-
dc44364ySolid advice! I just wanted to add something that would ordinarily be snarky but this is devrants after all: PHP is a shit language (sorry, not sorry) and the fact that you used it as an example sort of decreases the weight of your statements.
-
adamxi8604yRegarding nr 10: I don't see how a specific tech version is relevant during an interview?
"Oh you know java 13 but not 14... NEXT!.."
What's relevant is the candidates ability and interest in learning new things - but you hopefully already know this after "20 years of experience" ;) -
Goudarz574yI'm senior developer. I developed for more than 25 years. Your advices is good for me too. I learned a lot from them. Thank you.
-
mxpil244yYou passed on a good dev because they didn't bother to learn the particular version of the language you are using, while they know an earlier one?
I can't study every language out there, especially something as ancient as PHP, so I study whatever language I need on the job. Switching languages is easy. Please send those devs you rejected my way. -
CodeWriter04yGolden advice!
The point about good documentation is rarely understood by young developers. -
Regarding Item 2 - about asking senior devs questions "before interrupting them, exhaust your resources".
Sometimes I'm kind of upset when I find out a junior dev has spent a long time on a problem when they could've just asked me first.
If the question is something as simple as "how do I sort an array by a property in the items?" obviously that's something they should google. BUT with some junior devs it's sometimes dangerous to let them sit alone for too long. If you let them ask their array question you can counter with "why do you need to sort the array?" and it might turn out that they just THOUGHT they needed to do that, but actually that's not at all what they had to do. Maybe they just wanted to select one item from the array. Maybe they didn't even need an array to begin with.
There are so many things which a junior dev can get wrong and if you leave am alone for too long they might dig a rabbit hole where they've used 2 libs to sort an array they didn't have to sort -
@jiraTicket you're absolutely on your point of view. We need to take care of the junior devs so they don't go into the wrong direction.
But (giving my 2 cents on this) it's also true that junior devs (and as a matter of fact we all) need sometimes to learn HOW TO NOT TO DO THINGS and you only learn that DOING THAT; going on the working direction sometimes. At least you've learned one way that doesn't work that could help, down on the road, so identify similar situation and take a better decision (maybe not the right one).
So, like anything in life, there must be a balance between "find a solution" and "guidance". -
@fmarcelinopt True!
I’ve been a mentor for 2 juniors and I struggled daily with deciding between letting them learn by doing (fall down rabbit holes to fail and grow til next time) - or stopping them before they went too far.
I found that it was quite individual. One of them didn’t really learn much from their own mistakes - but was like a sponge when seniors told them the ”answer / best practice”.
The other was the opposite - didn’t consider why best practices existed until they got to try all the way with a mistake and feel why it failed.
Was really hard to tell based on their personality who turned out to be which type, so I still didn’t learn that much about mentoring in general 😔
But the one thing they had in common was that they benefited from explaining to a senior why they wanted to do something a certain way -
With a few technical changes, this is outstanding advice for practically anything where people work together... not just the world of software development.
-
lynkfox314yAs a jr dev who already has embraced most all of these tidbits (being retrained near my 40s helps in a lot of this :P) I have another
Be willing to throw it all away and start over. You get attached to what you did and start trying to fix it rather than walking away and seeing if your initial premise was flawed you will just continue to throw good money after bad.
sometimes the only real fix is to take what you've learned and start over. This isn't failure. This is iteration, and its core to good code/products.
(and TDD/BDD !!! I can't stress this enough - even if you don't end up using it, having the knowledge under your belt helps you think of more edge cases and more concerns!) -
Thanks for these important tips. To me as a young developer who is just learning to hear it from you.
-
ibnYusrat04yEverything written here really speaks my heart out as someone who has been developing for 17 years now. However, I would disagree on the point #10. Yes, it is up to the developer to learn things and not the company, but the only way to learn is to do real, practical work. Not by reading online or watching a bunch of videos. And in a real life, a developer wouldn't really get much time out of their job to learn something specific that you were going to ask them in an interview.
-
WiseViper104yThis advice is extremely important. Also, for those stepping back from a management role back into development, please be sure you have your juices flowing for real development work.
We had a terminate a super nice guy, who happened to be my lead for 6 months, because he absolutely couldn't code at a remotely reasonable pace for a junior person. -
a-xo363yAs a person transitioning to tech from a cereer in another field and actively pursuing that first junior dev job, I am very grateful for this rant. Having a honest POV from a senior on what is expected, what is valued and what is pisses everyone off in its uselessness is extremely appreciated.
-
Th3-3133733yVery true points! The cool thing is, a lot of this advice is transferable to life in general.
-
That was much needed atleast for me who is about to graduate....Thanks a lot man
-
The first time I read this was 5 years ago; I didn't understand much - I was so naive back then.
Now that I'm 2 weeks into my internship, my mentor who has 4 years of industry experience also gave us these same advice.
Anyway, I'm glad I re-read this post. Thanks OP!! -
dmonkey21952yWell. Wuat can I say I always kept these advices in mind since I read them.
Last month I got fucked by my own craft by not following 6).
For the rest, they always helped me. Thank you. I mean it. -
uncaffeinated8854315d@Meher Correct. But more senior devs are expected to spend time helping juniors. As a dev lead, I'm set to lower capacity for that exact reason.
!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!
rant