Sean Adkinson is a software engineer for Jama Software who is no stranger to teaching. He regularly presents at developer meet-ups and to his colleagues here Jama when rolling out new features in our product. Sean recently taught a programming class at a Portland-area high school. We asked him to tell us why he loves developing software and five things the next generation of developers should think about.
There are many reasons I wanted to teach a class to kids, but the most significant is that I wasn’t exposed to programming until college. I wish I would have known earlier how much I enjoy it so I could have entered college more prepared. Exposure is the biggest hurdle to someone becoming interested in programming. Unless students personally know someone working in programming, they may not know anything about coding as a career. No one ever goes to the “programmer’s office”like they do a doctor’s office. Providing opportunities for students to get exposed to programming as a hobby and career is crucial for gaining interest.
One of the great things about programming is that it’s fairly easy to start learning on your own. You don’t necessarily need a teacher, but you do need access to information. There are a lot of great resources online. Another barrier to access that I’ve observed is kids think that they’re not smart enough to be developers. Developing is a skill that builds upon itself, so providing opportunities for students to learn basics is a great way to show how accessible it is.
Professional developers and programmers have endless opportunities to help aspiring students. Software Engineer is regularly deemed the “best” job based on salary and work conditions. The more kids know the career, the more they can see if it is for them. Experienced devs could do some teaching, like I did, but they can also become involved in other ways. One way is to build something—a toy or game that will help kids learn how to code, such as the Play-i robots developed by Vikas Gupta, formerly of Amazon and Google.
Finding a job that’s a great fit is important for a programmer, but so is pursuing professional interests independently. Some of the most learning from my job come from the personal projects I work on outside of the office. I came to Jama over four years ago as a skilled coder and have grown into a true lead developer. Finding a great job and colleagues that will help you continue to grow is great, but so is learning to work independently.
Programming is a lot of fun, and there are many times that I work alone, but more often I’m working with a team: communicating, bouncing ideas around, reviewing code, solving problems together. Whereas programming has often been seen as a solitary profession, it almost always revolves around a team. Developing good communication skills and the ability to collaborate others is incredibly important. A lot of emphasis is placed on the technical skills of a programmer, and they should also be pushed to work well with others and communicate information.