Here at Atomic Object, we have a passion to continue learning and sharing knowledge with fellow Atoms. Whether this means researching a new technology, attending a conference, or holding a brown bag discussion during lunch, we’re constantly seeking to explore new ideas and topics. This desire and drive to learn is described by one of Atomic’s six values: Teach and Learn.
Since I joined Atomic in June, this value has played an important role in both my starting a career as a developer and my becoming a part of the Atomic team. Here are some of the ways I’ve incorporated the Teach and Learn value into my time at Atomic.
Pairing, Teaching, and Learning
To me, pair programming was a concept that was thrown around in school, but didn’t mean much more than working on a project with another student. When I started working at Atomic, I was excited to actually pair with someone because I knew it was a perfect opportunity to quickly learn and get up to speed on a project.
Pairing creates an ideal environment for swapping ideas, making it easier to discuss and solve problems. Sometimes it can be hard to see errors in code when you’ve been staring at it for hours, but having an extra set of eyes can help to alleviate that problem. Pair programming is a Teach and Learn experience where both developers are teaching and learning. It’s not a one-sided conversation; both parties contribute to the success of the pair.
Learn by Teaching Others
Many computer science and programming-related concepts we use every day are things we learn early on in our education and software development careers. These topics are so ingrained in our minds that we can take them for granted. It can be challenging to break them down into terms that are easy to digest by someone without the same technical background.
However, facing this challenge can help us confirm our own understanding of the topics, from basic concepts like objects and classes to inheritance and polymorphism. Along the way, we may find ourselves learning functionality and features that we didn’t know existed, providing us even more benefits while teaching others.
We also can bridge this idea of learning by teaching others into topics that we’re trying to learn. I’ve found that taking new concepts and explaining them to other people in simpler terms has helped me find areas where I need to focus more of my time.
Know When to Ask for Help
In college, I had a tendency to stew on difficult topics for a very long time without seeking outside help. I would scour Google and Stack Overflow for answers before even considering emailing or going to my professor for help. For me, it was a pride thing. I wanted to prove to myself that I was a problem solver and capable of figuring solutions out without any assistance.
As a software consultant, this can’t be the case anymore. Stewing on a problem without asking for help wastes time that could be spent adding features or fixing bugs. A key part of improving as a developer is being willing to admit that I don’t know something and knowing when to ask for help.
Having so many intelligent programmers around me who are more than willing to answer questions has eased the transition from computer science student to software developer. Not only are my fellow Atoms willing to share what they know, they’re excited to.
Atomic’s value of Teach and Learn has been a crucial part of my time as a software developer so far. It’s made me realize that education doesn’t stop after graduating college. Technology is constantly evolving, and it’s important to stay ahead of the changes. Being able to do this in an environment that encourages exploration and new ideas has made me confident in my ability to grow as a developer throughout my career.