“I want to become a software developer, but I’m just not sure if it’s for me.”
I was messaged by a stranger who had seen the above attempt to document my Software Development internship. He had just started his first day at College studying Computer Science and was having some doubt as to whether or not this was a good career for him. This was my response, I hope it provides you some value.
While it may not seem like it, you’re actually in an incredibly fortunate spot at the moment. You have time, time to make mistakes, experiment, and take some risks. It may seem like there are too many options to choose from, and the pressure to choose the right door, right now, may seem immense. I can only assure you, that the decisions you make now are not as concrete as they may seem.
My first year at university I spent as a Law student, then Design in a different city, the third as Science, the fourth and fifth as Commerce, and the sixth, again as a Science student. My point here is not to give you an indication of my sizable student loan, but to reassure you that pivoting a few times isn’t the end of the world. You’ll be surprised how many of your peers will either change degree, or come back to do an entirely different one. I started off doing Law with Film and Media, and I ended up with a conjoint degree in Marketing, Information Systems and Computer Science. Go figure.
So relax, take a breath.
Now, back to your initial concern. “I’m not sure if it’s for me.” This, my dear internet stranger, is where you’re again in luck. When you study medicine, how long is it before you can diagnose someone and send them on their merry way? As an engineer, how many bridges do you build in your second year? As an economics student how… well I’m not too sure what they do but you get my point. For many fields outside of Software development, you don’t get to actually experience what it’s like to be a professional until you have your first day on the job. That’s the magic of development, with some google-fu, self-motivation and willingness to learn, you can get a simple webpage up and running within a week (or even a day).
The solution to your musing lies simply in the depth of your curiosity, and ability to watch a few tutorials on Youtube. Software development is also not age restricted, I’ve seen many talented (self-doubt) inducing young students build websites and applications before even finishing High School. I was asked to have lunch with a co-workers son who was interested in software development last month. He had already published his first app on the app store.
Now, with all that being said, software development is not all about your technical skill and ability to build apps. It’s about being a team player, having good communication skills, and being able to solve puzzles. The vast majority of my job is problem solving, researching potential solutions and implementing them. I also couldn’t do that without the help of my (amazing) immediate team. We having a saying ‘Nobody does their own job.’ Everybody helps one another, regardless of the title or paycheque.
Being a software developer is also dependent on your desire to learn. Whether you love or hate it, doing a degree in Software Development (not matter how thorough it is) will only keep you employed for so long. You don’t stop learning the day you graduate. Technologies change, and so must your skillset.
This doesn’t mean everything you learn each year becomes irrelevant the next, far from it. Your core fundamentals (design patterns, algorithm efficiency, HTML/CSS etc) will serve you in good stead for years to come, but how you apply these skills will likely change. The intermediate and senior developers I look up to (coincidentally also the best developers I know) are unceasingly curious about the technological landscape and search for new ways to do things they’ve done 100 times. I know developers who hate the fact there’s always a new framework to learn every few years, or a new java version to learn because lambda functions are so hot right now. I also know developers who just cannot get enough. It depends on the type of person you are. All I can say, is that if you have that curiosity and drive, you have a supremely good chance of succeeding in this field.
So to sum up, if you’re not sure Software Development is for you here are some things you can do. Build apps, websites, programs, scripts. Anything that you are interested in. Watch tutorials on Youtube, they’re free and there are some fantastically passionate creators offering up gold for the price of a 5 second advertisement. If you don’t know where to start, I’ve compiled a list of my favorites in this article. Talk to people. Messaging me was a fantastic first step, but I’m only one person, my experiences and reactions will be entirely different to yours. Don’t take my opinion as gospel because I happened to post it on the internet, talk to as many people as you can, and formulate your own opinion based on those encounters.
Best of luck for the future.
@mattkjer