Let me start by giving a little of my background to put things into context.
I live in Central New York. There is a community of software engineers who work at local startups and commercial companies, but the main game in town is the Air Force research labs. I was in the Air Force on active duty and for the air national guard for a combined 8 years working as an avionics journeyman. My bachelor’s degree is in Applied Mathematics and my master’s is in Computer Science with a focus in software engineering and mathematics. And I started working after semester of graduate school.
I have worked in various Data Science, Software Engineering, and DevOps positions over the past four years in the defense sector. My mileage may vary compared to those who’ve moved to and work in more metropolitan areas. But I figured now would be a good time to reflect on my early career and try to give new graduates a heads up as they’re starting their careers in these various fields.
I could go on for a while with tips but to keep this short I keep my list to three major points.
You get out what you put in
I can’t count how many times I’ve heard someone say that a bachelors is the most expensive piece of paper you’ll ever buy. The mentality is so frustrating to me. Some people can be self-taught. But many people need the structure and discipline to go somewhere every day to learn something new.
I love to tell people, “You get out what you put in.” You can go get a bachelors in anything you want. Some degrees are undeniably worth more than others (with regards to earning potential) but if you really put the effort in and get something out of it, you will be a better person for it.
That doesn’t just apply to your chosen career path. If you really work at being a good person, partner, gardener, soccer player… whatever, you will be more than that person who can got their piece of paper, show up to work, put in the minimum amount of effort, go home, repeat. If you can find something that you like and put more effort in than it strictly necessary, you will be the person others turn to when they need help.
Something a professor told my class in my freshman year (paraphrasing over 12 years ago, gimme a break),
Don't go through life just checking off boxes.
[✓] Get a degree
[✓] Get a job
[✓] Get a car
[✓] Get married
[✓] Get a house
[✓] Have kids
Are you really living if you just go through life doing the things you're supposed to be doing? It is fine to do those things, but find something you can be passionate about and do it!
This might seem to contradict what I said about finding something you love and running with it, but hear me out. I want to approach this from two angles. First is about your career interests and the next is when you start doing the same thing over and over.
Then I was then offered a job as a data scientist after a semester of grad school and I learned that I loved that way more (and four years later I still do). Your interests may change over time and that is fine. You’re new to the workforce. It is good to know something really well, but eventually you are going to be asked to do something different.
It is good to be good at what you do, but don’t be the only one. If you’re the only person who knows how to do a thing, you will always be given the task to do the thing and others will be given the new interesting things to learn.
Having a niche is fine try not to pigeonhole yourself. Early on in my career I was tasked with learning everything I could about Apache Nifi. It took me a while, but it eventually clicked and over the course of a year I wrote upwards of 100 processors(only about 15 ended up being used). The problem was that I became a bus factor of 1 and I ended up being tasked with ever Nifi related task until I spread the knowledge.
Bus Factor is important for managers to watch out for too. If there is just one person on your team who knows all about a topic and they either leave or get hit by a bus, your team is going to spin their wheels for a while to learn all the things that person knew. Make sure you have more than one person to turn to.
No one really cares how clever your code is as long as it is clean and simple for anyone to understand.
This is great advice, but I’d also like to see more people being clever. I have a recurring argument with a co-worker of mine about ternary operators. I really like them you can do a lot with them while writing very little. Ternary operators themselves can be clever, but something that Madhi Rezvi talks about stuck in my mind.
It is hard to read and I have written a nested-ternary operator before. And I would suggest you do write something like this at some point. Writing overly-clever code isn’t great if you need someone else to read your code, but I think it helps you exercise your brain and think about what is good and what is bad form.
I would rather read and write code like,
Put the effort into your work and be passionate about what you’re doing. If you’re working a for a company the work will not always be interesting. I find DevOps to be extremely dull, but I’ve become more familiar with some of the architecture holding up the code I want to write or Data Science frameworks I use. Try to make the best out of the situations you find yourself in and find time to try new things!
Note: I know not everyone has the opportunities I have been afforded. I just want to help new graduates and others reflect and find something they love to do or rekindle a passion someone may have lost.