When I graduated from a bachelor’s program in computer science, I sensed that I wasn’t even close to figuring out the world of a software developer. All I knew was that there were about a million concepts I still knew nothing about and a billion sub-concepts beyond that. I had also heard all the stereotypes of smart, socially awkward coders. I wasn’t sure I’d fit the mold for the job.
Now, approaching a year into my position at Atomic, I understand how different a career in software can be from what I thought it was in college. These are just a few of the things that have left the strongest impression on me.
1. You don’t need to comment every line of code.
If you are, that might be a sign that you aren’t focusing enough on the code’s inherent readability. In college, professors marked us down if we didn’t disperse extensive comments throughout our projects. When I was a grader, I certainly saw the value in that as I thumbed through the sometimes confusing logic of other students.
Almost a year into the workforce, one of the most surprising changes for me was the lack of comments in code. I have learned that this practice encourages more consideration around variable naming, code organization, and test-driven development.
2. Your soft skills matter as much as your technical ones.
Computer science was frequently stereotyped as an anti-social field. For a while, I thought the route to success was best demonstrated by those who locked themselves in the lab and spent any free minute coding.
Now, in “the real world,” I’ve realized how difficult it would be to find a career in software development that didn’t involve regular sociability. Even if you aren’t working in consulting or a similar area with lots of communication and feedback from clients, you’ll likely be working in a team.
Books like The 7 Habits of Highly Effective People and discussions about navigating difficult interpersonal conflicts have been central to the beginning of my career. Knowing how to apply soft skills can be even better for the health of your team than your knowledge of the latest tech stacks.
3. Software development isn’t “make or break.”
Certain classes in school were known as the “weed out” classes. Over and over again I heard, “I’m just not smart enough to be in computer science,” from my peers. They seemed to have the impression that there was some inherent C# skill that hadn’t formed fully in their infancy.
In contrast, my time at Atomic has taught me that software isn’t a “you get it or you don’t” field. It is a continuous learning field. After all, senior Atoms had a different set of base knowledge when they joined the company. There is no finite checklist of knowledge that you eventually complete.
Professional development doesn’t stop when you hit ten years of service. It is important to continually identify your learning style, your strengths and weaknesses, and resources that can guide your education.
My software development career has continued to surprise me in such a short period of time. It is so much more than heads-down coding. It involves navigating relationships, learning business rules, and, yes, writing blogs.
If you’re a computer science student feeling discouraged about your future career, know that things may turn out vastly different from the expectations and stereotypes. And if you are someone who has also been pleasantly surprised by your experiences in the field, I would love to hear your thoughts below.