They’ve spent five months working on countless homework assignments, code refactors, team projects, pair programming sessions, and code challenges—they’ve invested long hours to their craft so that they can hit the ground running as professional software developers after they graduate.
Seattle-based Avalara—a tech company that builds software for businesses to automate tax compliance—decided to put our advanced programming students to the test. They gave a group of four programmers a real-world problem to solve as their final project before graduating.
The challenge: create a Software Development Kit (SDK) that Avalara’s AvaTax clients could use. It needed to connect clients to the AvaTax API; create, commit, and resolve transactions; and much more.
“The team asked insightful questions about who was using the software development kit, and focused on how their code could make a developer’s life easier,” shared Ted Spence, director of AvaTax’s Core Engine. “[They] demonstrated resourcefulness and persistence.”
The students were invigorated by the opportunity to work with a client for their final project, and recognized that the experience would give them a better sense of what to expect as they join the tech industry.
“Working with an actual client was a great introduction to the type of work we will do as developers,” shared Rob, one of the developers on the project. “We had to be ready to report progress as we went, and adjust to any scope changes they might have. It’s a different experience than doing your own project where you can ‘adjust down’ if you need to, in order to meet your timetable.”
Han, his teammate, agreed, adding that “making a product for a real company requires you to understand the existing product (code base) inside and out, how it works, what parameters it takes, and the style and design of the similar other SDKs.”
Through this experience, the team was able to reaffirm just how much their learning and experience on campus mirrored how developers work on the job. Adrienne pointed this out, saying, “It was really cool to see how many things companies use that we had learned. For example, we met with the client and discussed using continuous integration, and it was exciting that we had already learned it and were confident using Travis CI [the way] their developers did.”
Ted summarized his observations of the team’s technical ability and soft skills with this: “In the real world, you don’t always get perfect requirements or constant feedback. The Code Fellows team demonstrated a practical approach which involved frequent refactoring and discussion—skills that will be useful in their careers.”