How Excella Turns Students into Software Developers
Allen Tuggle has been a Software Engineer for 20 years. Since 2016, he has been working for Excella where, among his responsibilities, he mentors the next generation of developers at the firm. We've previously covered Excella's mentorship program and Extension Center here on Vault, and were excited to learn more about Allen's role, and to get his perspective on how Excella's program for new developers helps the firm to attract, train and retain talent for the long term.
Allen: Two things I aspire to are:
a) To be the best at what I do, and b) To give back. The Extension Center helps me do both. I'm encouraged to stay on top of technology so I can teach it to the students. Teaching new technologies to the students helps me gain a deeper understanding of technology. This also becomes a great practice in learning technologies that provide the largest return on investment. I really enjoy hearing stories about students impressing our clients during and after their stay here at the Extension Center—that's something that happens a lot!"
Vault: And how do you feel it helps the company meet its goals in terms of hiring and building firm culture?
Allen: "It's exciting, because Excella likes to hire industry leaders, or people who will become leaders. Here at the Extension Center we excel at hiring students with the potential to become leaders and provide them with the tools for that. Specifically we give them a foundation of base technologies and, more importantly, we teach/mentor them on how to learn new technologies that set them apart from others in the industry."
"The top qualities we're looking for in candidates are a demonstrated desire to do software development—they've taken a programming class and liked it—and a strong desire to learn. We can teach the skills if they have that desire."
Vault: What does the process for finding/identifying those candidates look like?
Allen: "We recruit by attending different job fairs and through word of mouth from our current interns! Once they apply, we have a multi-step interview process—we take students from any major if they succeed in our interview process."
Vault: What does a typical project look like for one of the people you mentor?
Allen: The typical project is a "Full Stack" Web Application. We use Agile Scrum/Kanban methodologies. The interns work with clients and write production-ready code; review other developers' work and have their own work reviewed; and work from the same backlog of assignments that other full time employees work from. They get experience in every aspect of the job as if they were a full-time employee.
Vault: What is the typical experience level of someone coming into the program?
Allen: Most of our interns entering our program have very little experience! All we expect is that they have taken a programming class and truly enjoyed it.
Vault: And how does that compare with where they are when they complete the program?
Allen: "We push our students to learn multiple technologies before they graduate. We accomplish this by having them work on different projects during their tenure with us.
Specifically they will have a deep understanding of the following: Agile software development practices; git source control; how to work on a team and communicate with the client; how to develop a full stack web application in one or more technologies."
Vault: What is your typical level of involvement with a mentee?
Allen: "We have daily contact with our students, because they are working on a real project and communication in the team is done on a daily basis. When the students have questions, the mentor will analyze the question and decide if they should spend more time figuring it out on their own or if we should mentor them through a best practice."
Vault: What qualities does one of your mentees have to show in order to stand out as a potential full-time hire?
Allen: "They need to demonstrate the skills we are mentoring them to have. Specifically, we look for the following qualities:
- Good communication skills with their team and the client
- The ability to code on the project they have been assigned to, including problem solving if something goes wrong on their computer or their programming environment. (Initially we will coach/mentor them through all this and we expect them to pick this up as demonstrated.)
Vault: Do you have any favorite stories or moments as a mentor?
Allen: "A current student, while working on a team in Arlington for the summer, reached out to me to say “thank you” for taking the time to work them through a best practice known as Dependency Inversion. Her advance knowledge of this practice helped accelerate the team’s progress and productivity."
"The most rewarding part of the job comes when working with new students—instead of telling them the answer to the problem, I try to ensure they gain a better understanding of the project, task and the technology they are using. When they figure out what they were missing, their excitement, because they figured it out on their own, is priceless."