Just like in the title. Imagine you are a mentor and can share only one advice with your mentee. Would would it be? ^^
PS: This post isn't directed only to super experienced developers like seniors, principals, or maybe team leads etc, but also juniors and people who have just started.
I hope this will create some nice healthy conversations and open closed doors, that everyone of us have, no matter of how many years behind we have.
Being a developer is a lot about having the right mindset, so I'm really curious what advices you will give :D
PS: btw I'm building a job board for remote developers and companies with remote-first culture. If you are interested here is a link: devsonremote.com
Top comments (21)
There are a number of ways in which this can be applied but probably the most important is that you have to understand the problem you are solving.
do or do not, ther... wait!
A thing that I always say is "Understand logic, don't just memorize functions" - a lot of juniors are just too focused on memorizing everything that (for example) preg-grep does, but not HOW to use it in real situations.
Focus on logic (I have X, I need Z, therefore I must make Y) than on remembering every detail of the language. You can change the language/database/framework later, the logic will probably remain the same.
"Remember to learn from your mistakes, not to fear them"
Haha! Best cover image I've seen a good while.
I'm not a developer, but I've been around y'all folks for years now and I think I can still give some advice that might resonate...
My advice is to train yourself to think empathetically! While some may argue that empathy is an ingrained trait (or maybe something that you develop early on and then it basically stays static), I'd disagree. Don't get me wrong, I think it's easier if you start younger AND I realize you may have a disorder that makes you lack empathy (or makes it hard to access), but for the most of us, it's a trait that we all hold and can train to be better.
So, why should we? One obvious reason is it'll make you treat others like they want to be treated which will help you to build better understanding and stronger relationships with other people. But also, as a developer, you're likely building software for others to use and it's important to put yourself in your users' shoes to ensure you're creating something that fits their wants and needs. Perhaps you're not building for the end-user, but working with other teammates... empathy is still important because it allows you to put yourself in their positions and better understand the dynamics of how you all work together. You can better communicate because you're aware of how they like to communicate, and because you're comfortable communicating together, you can more easily coordinate... it has cascading effects right through everything that you do!
I agree, putting yourself in someone else shoes is a keyword here imo. It doesn't matter if its a user, teammate, or someone random, it both: teaches you empathy and improves your communication.
I'll start with a classic. "Make code dumb, it's design that needs to be smart". Do you agree?
I agree completely. I like the Brian Kernighan quote along these lines.
The code you write is a tool and a tool should only be as complex as is necessary for it purpose.
Exacly, that's the essence ;p
I could go on and on. But I'd only say "the moment you learn something, teach it". That's a quote from "Show Your Work" by Austin Kleon
That's a great advice
Yes, after reading "Show Your Work" I realized that I was already kind of doing it, but I decided to adopt it as one of my values
Wish someone told me it 2 years ago
Start small, it’s okay to be in the QA department or even the support department to start out your career in tech. Much like the trades, it can take well over a decade to reach “journeyman” status, relax and learn how to perform well, not fast. And if you really want this career, then you will last, and the good stuff will come with time, like all good things do.
Put your ego aside when you get feedback on your code. It’s not your baby. Especially if you work for a company then it’s the companies code not yours. Take ownership of the code but let it malleable.
Carry a notebook around. It's use will come in handly.
I've been told by some people that you really can't make it in the world of software development without a Bachelor's degree. Is this true??? I am pretty sure I can teach my self online just about everything I need to know, and with less time an cost too.
There are many ways to go with it, in my opinion Bachelor's degree isn't necessary. There are some companies that have it as a requirement when recruiting people, but that just means that its not a company that you would feel welcome in. To sum up, degree isn't required, but helpful, especially at the beginning.
If degrees were free, and taught me only what would be useful to me, then I wouldn't mind. But as it is, I feel a strong aversion to getting on. I'll learn for free at home.