fbpx

Real Users, Real Experience

We are looking for four to six students that are interested in gaining real-world experience developing applications used daily by The LEAGUE.  These applications, accessible online at my.jointheleague.org, provide LEAGUE staff with information about their students’ classes, any surveys that they need to administer, as well as access to forms used to record AP exam, Oracle exam, and LEAGUE Level completion.  Access to these applications has recently been provided to staff, and we are looking to onboard a number of interns to facilitate continued development, focusing on adding additional functionality to support current features, as well as expand the scope of the project to provide access to important information to LEAGUE parents and students.  While these positions do not provide any direct compensation, learning to craft production-quality applications with real users is a highly valuable experience for those with interest in the field of computer science.

You should be familiar with at least some of these

Relevant Skills

Spring Boot

Representational State Transfer (REST)
3-Tier Architecture (Controller, Service, Repository)
HTTP Requests using WebClient
Database Connections using Spring JDBC
Unit Testing with JUnit 5 and Mockito
Flyway Database Migrations

PostgreSQL

Database Design
Database Normalization

GitHub

Branches
Pull Requests

ReactJS

JavaScript Fetch API
Ant Design UI Library
React Function Components
React Hooks

Amazon Web Services

Elastic Beanstalk
Amplify
Elastic Cloud Compute (EC2)
Relational Database Service (RDS)
Application Load Balancers

Should I Apply?

Yes!  While applicants that possess relevant knowledge and are prepared to make immediate contributions are more likely to be selected, there will be plenty of opportunity to develop these skills under the guidance of the experienced staff and interns that are currently involved. Since The LEAGUE is primarily a Java school, it is anticipated that there will be a higher level of familiarity among applicants with Spring Boot, so ReactJS related roles may be less competitive.  Typically each member will be expected to focus on either the Spring Boot or ReactJS side of the project.

Don't be intimidated by these

Expectations

Those selected to fill the available rolls will be expected to attend a weekly meeting with all involved, as well as complete their assigned tasks before the next meeting.  Currently, meetings are held Tuesdays from 3-4 p.m.  Depending on the number of applicants accepted, and their availability, we may expand to a second meeting time, but availability during the current time is strongly preferred.  While the tasks will be discussed and assigned based on the individuals comfort and skill-level, approximately 3 hours of work should be expected outside of meetings each week.  You won’t just be thrown into the deep end, as creating a high-quality product is a primary goal.  You will start by adding simple features and unit tests, and as you become more comfortable, be allowed to undertake more advanced features that may span a number of weeks.

Selection Process

Use the icon below to send an email in order to apply.  Informal interviews will be held on Tuesday, April 13th from 4 to 5 p.m.  To avoid making the scheduling process overly complicated, all applicants will join around 4, and each will be met with individually as time allows.  We will discuss what relevant experience you have, as well as why you feel you would be a valuable member of the team.  Please do not feel the need to spend a lot of time in preparation for this informal interview.  We are mainly interested in what you already know, as additional guidance on the topics with which you will work will be provided if you are selected for a role.  If you are not available on April 13th, we can find an alternate time to meet.  Due to the limit amount of weekly time available to meet and train participants, we are only able to select a limited number of applicants.  The ideal candidate has a proficiency with either Spring Boot or ReactJS, a desire to commit to the time and effort necessary to move the project forward,  and an ability to work independently towards the common goal of improving the experience of LEAGUE teachers, volunteers, administrators, parents, and students.

Express Interest

Click the icon to write a short email, reserving a spot, or send an email to internships@jointheleague.org with the subject “Software Development Internship”.
The LEAGUE of Amazing Programmers