I was recently chatting with a computer science student about her personal career goals. She was struggling a bit to name anything specific that she’s hoping to accomplish, saying it’s largely because there are so many possibilities.
She asked me, “What tools should I know? What things are most likely to get me a job?” Her urgency to know everything about CS (and her sense of self-doubt) resonated with me.
In college, I constantly reminded myself of how much I didn’t know. I would tell myself that if I didn’t learn ____, I wouldn’t be able to get a job. I too had made the mistake of thinking only about what I needed for my resumé.
Fitting the Mold
I was the only female in my graduating class of CS majors, and being in a sorority didn’t help much with fitting into that crowd. I compared myself to the other students who spent much of their free time working on cool side projects or those who were extremely talented gamers (whereas I could barely work an Xbox controller). It felt wrong that I wasn’t excited to spend my time doing those things.
Because of this, I always expected myself to fail. I figured, if all my peers are spending their free time trying to learn new development skills and I’m not, they’ll have more success at this than me.
Now when I reflect on my education, I realize what I should have been focusing on: discovering what I hoped to contribute to with these tools. I knew for sure that I liked solving problems, so I never questioned choosing computer science. But I hadn’t thought about how I wanted to do it.
About halfway through my senior year, I started to understand that this goal of knowing all the tools didn’t align well at all with the things that I’m good at. When it comes to software development, being relational and a good communicator don’t fall into the same bucket as programming languages. My interpersonal skills were never something I saw as being an asset to software development. At least, not until I was exposed to consulting.
In college, I remember having a hard time coming up with any concrete goals for my career. I wasn’t sure if I was cut out to be a developer (and I had a very narrow idea of what that meant). Now that I’ve been a software developer & consultant for about nine months, I’ve finally started to realize the type of developer that I am:
- I love to solve problems, especially with a smart team.
- I’m energized by working with other people, both coworkers and clients.
- I enjoy building something that’s changing rather than rigid, something we’re continually iterating on with our clients to make sure it’s meeting their needs.
The collaboration part of development is so important to me. I think that’s why I still don’t get too excited about side projects… unless they’re with someone else.
Someone recently told me that we often focus on improving in our areas of weakness rather than our areas of strength. Most of the time, we grow much faster at the things we’re good at.
I’ve worked on changing my mindset of “knowing all of the tools” to be more inclusive of all the things that contribute to being a good developer and consultant. I still spend time learning new tools, but I spend a lot of time working on my strengths, most of which involve working with other people.
I would encourage anyone who doesn’t feel like they’re the type of person to be a developer to realize: “The more you know, the more you realize you don’t know.” Focus on the things you’re good at, and let those guide you towards the tools you need.