Paving the Way -- What Would You Tell Your 16-Year-Old Wannabe Developer Self?
If you could do it all over again, what route would you take to get you where you are now? What decisions and actions would help smooth out those bumps in the road and pave the way to your success?
Through my daughter's involvement with a dance studio, I've become a 'Dance Mom.' In addition to being conscripted onto the stage multiple times , I regularly get to chat with the other moms (no quotes because, seriously, why am I one of the only guys there?) about our kids and their lives.
Last night, during jazz, one of the Dance Moms came up to me looking for advice for her son. She knows I work at Echidna and her son is interested in programming. At 16, he's looking towards his future, so I spent a while doing my best to help her out -- also offering to follow-up with someone who actually knows what her or she is talking about.
And, in a roundabout way, that's led me here.
You see, I'm a content guy. Words, messages, photos, strategy -- that's where I'm most comfortable. Code? Programming? In many ways, it's literally a foreign language to me. So I ambushed a bunch of Echidna developers today to get their thoughts. And I wanted the raw, visceral responses -- no polish, no "what sounds best," but the honest-to-goodness, straight-from-the-heart, top-of-the-head advice.
So here it is:
Luke B: "Get involved in the developer community. Pick one -- anyone. I didn't get involved in any community until I started working here and it would have helped. Being an active member looks good to employers and is fun."
Eric S: "Make yourself a website -- about anything."
Michael G: "Play with it and have fun. Don't just learn what you feel you have to learn. Find things you enjoy and play with them."
Eric S: "It's really hard to say [what you should start with]. The very thing you start with may lead you to what you're eventually going to use. If I want to get into video game development, I'll be using different tools than web design.
"Over 10 years, you're going to change from one program to another."
Michael G: "You pick up the foundations as you go. A lot of people say you have to learn this or that, but start by learning one you like to use."
"Even if you're just aware of it, that's good, because there are going to be people like me who say, "Do you know..." And if you say, yes, then we're impressed. If you say, no, then we say, 'Ugh, now I have to train you on that.'
"Being organized is good. I didn't realize I had to be as organized as I need to be."
Ian B: "Don't underestimate the importance of co-ops and internships. What you learn during these are more valuable than you realize."
Mike P: "In my programs, the ones that took co-ops got jobs super-quickly. I didn't take a co-op, so I dilly-dallied for two years."
Amanda M: "I agree with what Mike [P] said about the programs. I could have learned more on my own about these things. I thought I was going to go more of a design route, so I didn't really care too much about certain things at the time. But you never know where you're going to end up -- you should learn more so that you can keep your options open."
Developers come from all walks of life -- and all parts of the world. Anya M's experience differs, growing up in the Ukraine, but the foundation of her message applies across the board.
Anya M: "Don't go and waste six years at the Ukrainian university! Don't listen to my parents and go try the student exchange program with the UK or US and try to apply for the Stanford scholarship so now I wouldn't be counted as an "out-of-college" developer with my Master's an six years of non-Canadian experience!
"I'd suggest to always be open to learn and try new things. And not to be afraid to make mistakes, because when you are young all roads and doors are open. When you get older, life will limit your choices. Just follow your dream, never give up on yourself even if people tell you that you will never be able to achieve your goal. They don't know, nobody knows except you. Because when you are young, your life is in your hands and in this part it's only your own passion should matter. Don't take other people advices as an excuse for not even trying."
And I also reached out to a friend and colleague outside of the Great White North (who shares my love of forthright, no-fluff, direct advice) for his suggestions. After admonishing me, "My 16-YO self was an a**hole. This would be better asked of my 17-YO self," Dino Baskovic replied with the following statement to his younger self:
"At this tender age, you have shown an eerily meticulous habit for crafting well-formed code... and for saving multiple copies of your work. Keep that up, because eventually, you're going to code alongside other programmers in a team setting, and they are going to rely on how cleanly you code, as well as how to 'git' code you've saved. I'll explain 'git' later, but trust me on this one, because the jobs you slacked on later in life [yes, you will actually code for a living one day!] will cost you plenty. And for chrissake, stop thinking this is for geeks. When you're my age, geeks are sexy as hell, and you'll get laid more if you know your way around software, believe you me.
"P.S. That Apple //c you're going to sell to your college roommate 'cuz you think you need the money? That's a bunch of eff all. You keep that //c, 'cuz one day, some guy who becomes a knight is going to change the world, and you're going to want to turn that thing into a web server, just for fun. And Raspberry Pi will take on a whole new meaning. Trust me on this one. You like pie anyway, so listen to what I tell you, dammit.
"-- Dino Baskovic, an independent digital-strategist type with a home office tucked away near some cornfields by Grand Rapids, Michigan who goes by @ProfessorDino on Twitter, even though he hasn't taught in years, the phony."
And now we turn it over to you. What advice do you have for the budding developers of the world? And if you're interested in development, what do you want to know? Feel free to leave a comment, send us an e-mail, or Tweet us and we'll answer your questions in a future post!