This is the first of several posts for getting started in software development as your career. We’ll be looking specifically at navigating post-secondary education with respect to how that helps (or not) with your career path in software development. This entire post is FAQ style, so feel free to skim for interesting questions and answers!
If you’d like more of these examples to help you out in your career in software development, you can check out the second installment as well!
Do you have any advice regarding university applications?
For university, it’s been so long since I’ve had to go through applications that I’m not sure I have really specific advice. I think it’s important to know what schools have prerequisites and really ensure you nail those down. In terms of which school to pick, that’s certainly a personal choice. You’ll have so many factors to consider including cost, what programs are offered, relocation, proximity to loved ones, etc…
As a hiring manager, personally, I am less concerned with WHERE someone went to school versus what they could showcase about what they have learned. I’d also personally suggest checking out schools that offer internships since it’s an excellent way to get real experience! This is something that worked really well for me since I didn’t really enjoy classes but my co-op positions proved to me that I was in the right line of work.
Software engineering or computer science?
Great question! I opted for computer engineering. A couple of things to touch on here including the “computer” part meant both electrical and software as a blend. I loved to program but I wanted to learn about hardware. Once I learned about hardware, I realized I wanted nothing to do with it 🙂 So certainly the focus was going to be on software development for me.
The engineering vs science part… My understanding is that if you want to pursue being a licensed professional engineer, you must go to a school with an accredited engineering program. For me, this is something that I wanted personally. Funny enough, in software, it doesn’t seem to be too common that folks go for their P.Eng. As a result, it makes it harder for someone like me to work under a P.Eng to get that experience.
How do you navigate scholarships?
I’m not sure I received much of anything for scholarships/grants when I was going to school, but if I could go back in time I would kick my own butt… DO THIS. If you can get free money to fund your education, do it. Do the research. Write the essays. Invest time into this because it will pay off by subsidizing your school. You’ll be so thankful you did it later.
If someone would potentially pay me to write an essay now, I’d do it even 9+ years after graduating from university. You bet I would 🙂 I don’t think I could motivate myself at the time, but if you’re reading this then please do better at this than I did! Will it make a difference in your career in software development? Not necessarily. But it will allow you to get into your software development journey with a lower barrier if you can have more affordable schooling.
Any general tips for going into college/university?
Beyond what’s already been mentioned, I think that’s mostly it. Take it seriously to make sure you can meet the requirements of the schools you want to go to. It’s easier said than done because I can remember I just wanted to be a kid, be with my friends, play video games, etc… But it’s a huge step in your life. Take it seriously.
People used to make fun of me for getting high grades in high school. It’s natural to want to fit in so it would be embarrassing to do well on tests. It would make me want to slack off. But remember, you need to put in the work to get in. And once you’re in, you need to KEEP working to stay in.
Another critical point is that you need to take the time to understand how you learn. I went from getting 95+ in all my courses to barely passing things. And a pass was more than just getting 50% for my average to be in an honors program, so it went from being a super laid-back approach to feeling pretty scary. For me personally, I learned nothing in my lectures. I’d sleep half the time. So I stopped going to class (aside from tutorials and labs) and forced myself to do work at home. This doesn’t work for everyone, but it was critical for me to not be wasting my time sleeping in lecture halls. This took me a long time to realize. I also had to teach myself how to study effectively. I had to learn to take mini breaks. You learn a lot about yourself, but I think you need to have some awareness that your high school learning might look VERY different than post-secondary learning.
Once you have a good understanding of how you can learn and study, you’ll be on the right track.
What are your thoughts on internships?
Do them if you can. I can’t stress this enough. I disliked almost all aspects of my time in school (like the IN class part!) but my internships saved me. They were a constant reminder that as long as I finished I’d be doing what I loved.
If your school allows for different placements, take advantage of this. I had 6 internships at the University of Waterloo. I did a repeat of my first job, a repeat of my second job, and then tried two different companies after that. I gravitated toward startups, but I also tried working in a larger company as well. Get. Diverse. Experience. Learn about all the different fields you can get into. Software is such a cool industry because… It’s in every industry!
Another benefit to internships is potentially securing a position right out of school. Cool huh? If you’re really liking where your internships take you, then why not take advantage of companies looking to take you on full-time right out of school? Many companies are happy to invest in you, especially if you’re going to be sticking with them after you graduate!
Software Development FAQ Roundup
I hope that you found this FAQ on software development insightful! This FAQ focused mostly on post-secondary options and opportunities with respect to software development, but make sure you check out the next installment! If you haven’t already, consider subscribing to my weekly newsletter to have software engineering tips sent directly to your inbox!
Your comment about the adjustment from high school to university really resonated with me.
I went from top of the class, “smartest kid in his grade”, blah, blah to one of the many barely scraping through. Not only did it force me to actually learn how to study (let’s face it, a lot of us got through high school on sheer talent), but it also forced me to check my ego.
I wasn’t the smartest kid in the class anymore and it’s been rare that I’ve been the smartest in the room since then. I may not have in fact been the smartest in high school – I just got the highest grades – turns out that isn’t necessarily the same thing.
But, I did find that I was largely, “smart enough” and I often had skills or creativity that perhaps the top students didn’t have. Or maybe they did. In the end it didn’t matter. I was only competing with myself.
The biggest things to get out of post-secondary education are an open mind to learning, the tools to achieve that learning (study habits, curiousity, etc) and an appreciation that we’re all bringing our own talents to the table.
You don’t have to be the best, but you do need to be competent, curious and collaborative.
Awesome points there, for sure.
In university, it was a complete flip from feeling like the smartest to almost feeling like the dumbest. I felt pretty lost. But I realized when it came to programming I could still excel and do extremely well.
I had finished grade 10 math in grade 8, but suddenly I could barely pass calculus. It taught me where I had to focus and to your point about creativity, I had to get super creative with how I was going to prioritize my weak areas 🙂 My programming skills were ahead, but there were so many things I was suddenly lagging in that high programming marks wouldn’t elevate things enough on their own.
Your key takeaways resonate with me, for sure. Collaboration was huge for success. In upper years, I worked with friends to help them program. They helped me with math. It was so helpful for all of us. In the real world of software engineering, I tell people frequently that the technical challenges aren’t the barriers anymore, it’s collaboration and people challenges. Engineers *will* solve any technical challenge you throw their way 🙂 We just have to get better at working together.
Thanks for all of your thoughts on that!
Pingback: FAQ: Starting Your Career in Software Development Pt2 - Dev Leader Dev Leader