The Inside Scoop on Integrity's Software Development Internship Program
For National Intern Day, we're sharing an insider's look into an internship at Integrity Inspired Solutions
Today is National Intern Day! Along with highlighting our talented summer interns this past week, we’re celebrating by sharing the inside scoop on our internship program. What is it? Where did it come from? Why are three people looking at the same computer screen? These are all questions we’ll answer in this blog post.
But to talk about our internship program, we first have to go back in time to when the idea first began to take shape.
History of the program
Integrity’s mission “to take a human-centered approach to software development,” takes on many forms, including in how we look for great developers. Throughout our experience, a great developer has less to do with the hard skills they know and more to do with the type of person they are. Do they work well with a team? Do they take initiative to learn? Do they look for opportunities to make their co-workers look good? We can teach hard skills, but it’s much more difficult to teach character qualities.
So several years ago when owners Phil Ledgerwood and Travis Dietz came across a developer fresh out of a coding boot camp and new to the industry who displayed these character qualities, they made the decision to hire him and be his first real introduction to the industry (and this employee is still here today!).
However, hiring someone brand-new to the industry meant Phil and Travis had to address the new employee’s learning curve. He not only needed to learn the “Integrity way” of doing things, but Phil and Travis also needed to familiarize him and give him experience in the real-world execution of the software development process.
Their solution was to run their own version of a “boot camp.” What ensued were hours of explanation and demonstration followed by a fictional software development project. The project’s “team” consisted of Phil and the new employee. Together, they tackled the project, following the “Integrity way,” and coded an actual piece of software from start to finish. Once this training period was over, the new developer was able to seamlessly transition into non-fictional, billable work and contribute to it effectively.
The success of this training experiment spurred on the successful onboarding of several new developers. Phil and Travis saw the potential for it to grow into an official program that Integrity could offer for developers new to the industry. Thus, the internship program was born.
Since then, the program continues to evolve each year, adjusting and improving upon the previous year to best serve the needs of new developers, the industry, and Integrity.
Integrity’s internship program in 2021
This summer, Integrity brought three interns on board—one change new to this year’s program (Integrity offered the internship to one person at a time in years past). The intention behind the increase was to create a real team environment among peers rather than the previous scenario (a two-person team with the intern’s trainer taking on the role of a teammate).
If you’re at all familiar with Integrity, you know how paramount teamwork is to what we do. We believe things work better in teams—especially software development. Having a team means more eyes, more perspectives, more communication, happier workers, and a better product in the end.
As the teamwork movement becomes more prevalent in the software development community, the need to know how to effectively function as a developer in a team environment continues to grow.
Integrity currently addresses this through a three-stage, intentionally designed program with the hopes of turning out capable, discerning, and team-oriented developers.
Three weeks of instruction
Before we jump into coding, we introduce the interns to Integrity’s values, principles, processes, and tools. By doing this, we’re setting a solid foundation that will lead these interns to success during their internship.
These first several weeks of instruction consist of:
An overview of how Integrity works
Agile philosophy and execution (taught by our very own Phil Ledgerwood, an experienced Lean/Agile consultant)
Kanban project/task management
Technologies currently in high market demand
Fictional library software project
Now that the interns have been primed for Integrity work, they’re ready to jump into coding software. But we can’t assign them to a real client’s billable work yet. Instead, we introduce a fictional project: creating a software solution for an imaginary library.
The project starts how a real software project starts: a client (the library) who needs a better solution than what they currently have. The product owner (in this case, the interns’ trainer, Phil) lays out the main features that the software should have.
From there, the interns and Phil (acting as the product owner) break down the main features into user stories. The group creates a Kanban card for each individual story and places them in priority order on the Kanban board. Now, the interns are ready to attack the project as a group one card at a time.
Since three people are all working on one card, this naturally prompts communication, coordination, and delegation. The interns typically meet before beginning each new card to discuss what the card entails, create subtasks to execute the card’s feature, and assign subtasks to members of the team.
This is one of the places where the beauty of teamwork comes into play. Each team member brings different skills, experiences, and perspectives to the table. The group makes decisions as a unit. When disagreements arise, the team discusses and analyzes the options. What results is a well-thought-out plan with the brainpower of three people.
Team members who have specific skills relevant to a task can take those on, or someone not familiar with the task has the opportunity to ask questions and learn.
Communication is open. Everyone knows what their team members are working on and when they are working on them. They rely on one another to work on their individual tasks, and together as a group, to complete the card. If some tasks of a card rely on other tasks, the team members are in the loop with their peers enough to strategize on the best way to bring those pieces together.
Once all the cards are complete, the team presents a demo of the software to Phil (acting as the product owner) and the software is constructively critiqued.
The fictional library software project gives interns the chance to be a part of a software development process from beginning to end. The execution reinforces their current coding skills and teaches them new ones. The teamwork allows them the freedom and confidence to practice making decisions and finding solutions.
The only thing not real about the library project is the library itself. The experience is meant to simulate a real project, which is why it prepares the interns well for their next phase.
Metrics app project
The fictional library application serves as a great basic introduction to our process. But the really exciting part is creating a REAL solution that REAL people will use, and we want our interns to gain that valuable experience too.
This particular summer, Integrity has assigned the interns to start progress on a metrics app that will eventually help software teams better predict productivity and outcomes.
With the guidance of a few staff members (acting as the product owners), our interns are currently plugging away on key features and thinking strategically on how to best execute the goals of this real application.
They’re also regularly demonstrating their work to the product owners and receiving feedback and direction as they build the product, just like what we do at Integrity with our clients.
We are thrilled to be able to provide our interns experience in the first stages of a real software application as they launch their careers in software development.
Integrity’s goal with the internship program is to create an intentional, productive experience for new developers. We want to give them meaningful work that will catapult them in their careers and show them what is possible in the software industry.
Bottom line, we love what we do and we love the way we do it—that’s why we put so much effort into sharing it with others. And our internship program allows us to do just that.
If you’re interested in an internship at Integrity Inspired Solutions, send us an email at firstname.lastname@example.org.