Dear Software Intern,
I get it. You’re new here. You’re learning the ropes, taking it all in. Maybe you’re nervous — not sure what to think, and afraid to speak up. Or maybe you’re overly excited. You have a million ideas to share and just can’t wait to get your hands dirty. Either way, you’ve got a lot to learn. You’re embarking on the crazy adventure that is a career in software development, and you have no idea where the road ahead will lead.
I remember. I was you once upon a time, after all. But now that I’ve been down this road for several years, I’ve learned a thing or two. So from one developer to another, here are a few things I think you should know.
You’re Going to Make Mistakes.
It’s a fact of life. You’re going to mess up. One day, you’re going to hit a typo buried in seemingly infinite lines of code that will take a full day to find. You’re going to accidentally delete an update you just spent five hours on (commit often!!!). You’re going to put your foot in your mouth in a meeting or go about a project completely wrong and have to start over again.
The point is, you’re going to screw up from time to time. And this is the big leagues, there might be some very real consequences. But you can’t let that scare you. Really. Everyone makes mistakes. It’s how you react to those mistakes that will show your stripes as a professional. Will you bury your head, or worse, dig your heels in and refuse to admit your error? Or will you acknowledge your responsibility, fix it, and move on? Your reaction will impact your reputation going forward far more than the mistake you made.
Never. Stop. Learning.
If you’re anything like me, you got into this racket because you enjoy that things are constantly changing. New technologies come up every day. New programming languages will arise. Industry standards will change. Right now, you’re young. You’re at the forefront of the trends and the latest technology. But eventually you’re going to get old and your skills will be passed if you don’t keep learning. So never stop improving. Be curious. Don’t be tricked into believing that you don’t need to keep developing your skills — that you know enough to get by. As long as you are in this business, that will never be true.
You know that fiery passion you feel right now? The one that keeps you up until 4 a.m., working on creating your killer idea? It’s an amazing feeling, but unfortunately it doesn’t last forever. Life, family, and other priorities will be a part of your life, not every workday will be exhilarating, and your passion will dwindle.
You know what also kills passion? Failure. You know who fails a lot? Successful people. Don’t let your failures beat you down and make you give up. Keep plugging away. It can be hard at time, but eventually you’ll regain your passion. We regret what we didn’t try, not what we failed at.
This is going to make me sound really old…but you’re young! You have your whole life ahead of you! There’s plenty of time to try new things, screw up, and try again. Join a startup. Build your own startup. Create your own idea for a product and make it happen! The Ramen diet is much more acceptable when you’re 22 and single than when you’re 32 with a kid. Do you want to be laying on your deathbed, wishing you had done XYZ? No!
Don’t be afraid to let your voice be heard. You have great ideas. Share them. You have expertise and a fresh perspective that may not have been heard before. Be confident in your point of view, and participate in the collaborative process. No matter where you are in your professional career, your voice matters.
But Don’t Forget to Listen.
This is a collaborative environment. That means you have good ideas, and other developers and designers have good ideas, but the best solutions are the ones we come up with together. So share your insight, but also remember to really listen. Value the ideas and the experience of your colleagues. Learn from them. Be inspired by them. Remember that no matter how smart you are, you can’t do this alone.
Try New Things.
The coolest thing about development is that every company and every product is different, and the technology is always changing. This is not a line of work where you can get set in your ways and just keep doing everything the same way as you’ve always done it day after day. Change it up. Learn new programming languages. Approach something from a different perspective. It’s all about innovating, and that only happens if you do something new.
More than anything, it’s important to stay flexible. Things are constantly changing. The solution that worked yesterday won’t necessarily work tomorrow. Different clients will have different needs and expectations, and customer preferences are always in flux. Approach every day with an open mind, and be willing to try a solution you haven’t used before.
Above all, don’t worry. You’re going to do great. You’re smart, you’re talented, and you have a ton to contribute. I look forward to learning from you. I hope I can teach you something too.
A Veteran Developer