You just graduated and you are ready to start your career in the IT field. I cannot spoil anything, but I assure you it will be an interesting ride.
I'm writing you this letter because I want to give you some advice that will help you be a better professional. These are all things you'll learn yourself in the next few years, but this list contains everything I wish someone had told me when I started my career. They are not ordered by any means and are all equally important.
Run a marathon, not a sprint.
The road to becoming a good software engineer is a long one. Don't rush things, and don't give up just because you are not getting an easy and fast win.
Take your time to learn and become proficient in the topics you are interested in. Remember that this is a marathon, not a sprint.
Be humble, not stupid.
It is good -- sorry, it is fundamental -- to be humble. There is always something to learn from others, even when you are an experienced professional.
But this doesn't mean that everyone is better than you. You have to respect yourself and your skills.
When you don't respect yourself you become stupid, not humble.
Compare with yourself, not others.
There is no point in comparing yourself with others. There will always be someone better than you in your job. And there will always be someone better than the one that is better than you. And there will... ok, you get the point. Just do your best.
If you think someone is a better engineer than you are, learn from them. Keep doing your best, and eventually, you will be a reference for someone else.
Respect people, not titles.
During your career, you will work with exceptional professionals. Most importantly, you will meet exceptional human beings. Respect people for who they are, not for the title they have.
foo is the "Principal Senior Lead Engineering Chief Architect", that doesn't mean that he deserves more respect than
bar who is a junior software developer.
Choose the challenge, not comfort.
The road will be full of crossroads. There may be multiple choices, but everything boils down to a choice: stay in your comfort zone, or go outside your comfort zone.
There may be a moment in your life -- hopefully after decades of work -- when you will feel the need to cool down a bit because you will be satisfied with what you achieved. Until that moment, try to go out of your comfort zone. It will make you a better professional and you will feel more satisfied with your career.
Remember that the best things often happen outside your comfort zone.
Jump on the whiteboard, not on the keyboard.
When you have to design a new feature or a new system, don't jump on the keyboard to start coding. The "muscle" you have to train and use as an engineer is your brain, not your fingers. Always think before you act.
For this reason, jump on the whiteboard instead of the keyboard, and start thinking of what you should implement. Better if you have a sparring partner to challenge your thoughts.
Oh, when I say "the whiteboard" I mean "anything that can help you think", be it pen and paper, a notebook application, draw.io, and so on.
Deliver value, not code.
Please don't be affected by the NIH syndrome. There is no point in reinventing the wheel. Avoid wasting time on something that is already out there.
If you can achieve your goal simply gluing some tools together, just do it. What you should deliver as a software engineer is value to your business, not lines of code.
Choose life, not work.
In the IT field, it is easy to focus too much on work. After all, for most of us, it is not just a job, it is our passion. Remember that work is important, but life is more important.
Live a meaningful and rich life. Play sports, read books, find hobbies, travel and see the beautiful world we are living in. Hang out with friends, find a partner for your life and give to your partner all the love, attention, and support that you can. You'll be surprised how much having a rich life will improve you as a professional.
That's all I can tell you right now. I still have a lot to learn.
One last note: enjoy the ride! ?
(a more experienced) You.
You can read other articles like this on my blog, florio.dev.