Understanding the Admissions Process for our Software Engineering Program

Dec 15, 2021
John Wark

Updated 02/16/24

Due to the short-term drop in demand for junior back-end software engineering talent, we have postponed enrollment and paused applications for the Software Engineering with Java/AWS Specialization program. We plan to bring the program back when the demand for talent returns and will announce a restart approximately 6 months prior to the start date of the next cohort. You can read more about this decision on our blog.

This is one of a series of blog posts announcing and explaining our new Software Engineering with Java/AWS Specialization program. The first two posts in the series announcing the program are here and here. The third post addressing some early questions about the program is here. And the fourth post comparing our two software development programs is here

We’re continuing our discussion of the Software Engineering with Java/AWS Specialization program (SE) with a deep dive into the admission process for this program. This is the first time that we’ve launched a new program that takes a different approach to admission and enrollment so we wanted to make sure we shared a thorough explanation of how the process works and  what an applicant can expect at each step. 

While no prior programming experience is required to apply for the SE program, the program does expect more of students early in the class - both in terms of the amount of prerequisite knowledge of coding that’s needed by the first day of class as well as in how quickly the program moves. For example we noted in this prior post that:

“One way to think about comparing the difficulty between the Web Development and SE programs is to consider that the SE program is preparing students for generally more specialized roles, and hence the program covers more advanced and complex materials.” 

As a result, the SE program expectation is that by the first day of class students will have reached a level of proficiency with coding in Java and had a first introduction to a fairly wide range of programming concepts. Therefore the admissions process for the SE program includes a mandatory prerequisite study of Java programming.


The SE program admissions process has two sequential phases: the application phase and the enrollment phase. The application phase starts with the student’s application to NSS and ends (hopefully) with an offer of admission to an upcoming cohort of the SE program. This phase is very similar to our other programs. The enrollment phase is focused on the student’s preparation to ensure they have the necessary Java programming knowledge to pass the Java coding assessment that is required before the applicant can enroll, i.e. join with a cohort for the first day of class. This is our only program that requires an applicant to pass an assessment to enroll, but don’t worry – we’ll help you get there.


The SE program application phase includes two steps that applicants must complete and optional opportunities for those new to coding:

  • Complete and submit an application for the SE program
  • A conversation with one of our SE program team members/admissions representatives
  • Optional: Software Engineering Jumpstart or Web Development Jumpstart

The admissions process is always initiated by the applicant submitting a completed application. We recommend that you complete the application thoughtfully. If the application appears to be incomplete, we may request you resubmit with more information.

Admissions Conversation

For most applicants, the next step after applying will be a conversation with a representative from the program so we can get to know you better, learn why you think you have the aptitude and interest in this type of work, and if you’re ready for an intensive nine-month training program. This conversation is also designed to help answer many of the questions that applicants might have about the program: schedules and other logistical details, clarifications about the admissions process and timeline, discussion of tuition and financing options, etc.

What If I've Never Coded Before?

For applicants that have applied without prior programming exposure, we ask that they undertake study to help them, and us, assess whether they enjoy learning to code, and whether they can see themselves diving into software engineering as a career. We don’t know a way for applicants to assess that without starting to learn the basics of coding - knowledge that also helps prepare them to start the class if they are accepted. There are two ways to get that exposure.

Take a Jumpstart course

NSS offers what we call Jumpstart classes that provide an introduction to coding. We offer both a Software Engineering Jumpstart and a Web Development Jumpstart course. These classes are instructor-led and online, but synchronous. They also give you a taste of NSS.

Self-study Options

For applicants whose schedule can’t accommodate the Jumpstart class, or who simply prefer self-study, you can get started on the pre-requisites outlined below.


Following your conversation with our admissions representative, the admissions committee will review your application and notes from our team and make a decision whether to offer you a seat in an upcoming SE cohort. If the committee decides to extend an offer, there are a couple of steps that involve signing documents required by our regulators and then signing the admissions agreement. After the admissions agreement is signed, the applicant is ready to start the second phase of the admission process - the enrollment phase. 


The enrollment phase has two activities - 1) acquiring the prerequisite knowledge necessary to be successful in the initial units of the class and 2) passing the Java coding assessment required for all students before they can begin the class. We’re not going to go into as much detail about that phase in this post, but here’s a summary. 

Java Prerequisite Course

Acquiring the prerequisite knowledge is accomplished by completing four study modules. The first course is an introduction to Java created and offered by Team Treehouse. The second and third courses were created by Duke University and are hosted on Coursera. The fourth course was originally created by Amazon Technical Academy (ATA) and modified by Nashville Software School (NSS). These modules introduce students into the fundamentals of coding. We supplement the courses with coaching/mentoring sessions from our instructors to help ensure students don’t need to struggle more than is useful as part of the learning process. Once the student has finished the prerequisite study they can take our Java coding assessment and demonstrate that they are ready for the first day of class.

Java Coding Assessment

Once the student has finished the prerequisite study they can take our Java coding assessment and demonstrate that they are ready for the first day of class.


After passing the Java coding assessment, you will receive an offer for enrollment. This is the final step in the admissions process and you are now ready to start class.


This process is a little more involved than admission to any of our other programs, but then this program sets a higher bar for incoming students than our other programs. This program ramps up the complexity faster than the typical bootcamp program and eventually goes much deeper. We designed the admission process to help ensure that we prepare our applicants for success, whether in this program or in some other program that’s a better fit for the student’s goals.

Have questions about the admissions process? Contact us here.

Topics: Learning, News, Software Engineering