Nashville Software School Small Logo
  • Menu
  • Programs
    • Software Engineering Jumpstart
    • Web Development Jumpstart
    • Analytics Jumpstart
    • Software Engineering with Java/AWS Specialization
    • Full-Time Web Developer Bootcamp
    • Part-Time Web Developer Bootcamp
    • Front-End Web Designer/Developer Bootcamp
    • Full-Time Data Analytics Bootcamp
    • Part-Time Data Analytics Bootcamp
    • Statistics For Data Science
    • Data Science Bootcamp
    • Professional Development
  • Community
    • Our Team
    • Alumni
    • Mentors
    • Employers
    • Veterans' Information
    • Podcast
    • Join Our Team
  • Support NSS
    • Donate
    • Become An Employer
    • Become A Volunteer
    • Community Impact Report
  • Calendar
    • Upcoming Events
    • Upcoming Programs
  • Blog

Software Engineering with Java/AWS Specialization

  • Apply
  • ↑ Return to Top
  • Overview
  • Syllabus
  • Pricing & Schedule
  • Requirements

This class will be live online (i.e. synchronous).

Prepare for a Software Engineering Career

Software Engineering with Java/AWS Specialization is a nine month, intensive, full-time program designed to prepare highly motivated adult learners for careers in software engineering, including jobs such as Software Engineer, Cloud Software Developer, Full-stack Software Engineer, Backend Software Developer, etc.

This program is for highly motivated adults who want to acquire the skills necessary to build complex and high performance software applications and qualify for junior software engineering jobs without a computer science degree at Amazon, other tech companies of all sizes, and enterprise IT organizations.

Program Highlights

The nine-month, full-time program combines:

  • A broad introduction to applied computer science concepts, including algorithms and data structures, object-oriented programming, concurrent programming, etc.
  • Hands-on use of real-world software engineering tools and practices such as source code control using Git/GitHub, Agile development methods, testing and debugging, team-based projects, cloud computing platforms, etc.
  • Practice building and deploying cloud-native backend applications using tools such as Java, Amazon’s market leading AWS cloud platform, DynamoDB, etc.
  • Building career development skills so that you’re prepared not just to do the work of a Cloud Software Engineer but you’re prepared to succeed in the job search after graduation.
  • Nashville Software School
  • Amazon
About NSS and Amazon Collaboration

Our Software Engineering program is the result of collaboration between Amazon and Nashville Software School. The NSS program is based on the curriculum from Amazon Technical Academy, a program developed by Amazon engineers to help non-technical Amazon employees with no prior experience move into entry-level software engineer roles. Amazon Technical Academy’s curriculum is based on the critical knowledge and skills required to succeed as a software development engineer at Amazon. Amazon Technical Academy has placed 98% of its internal graduates into software development engineer roles at Amazon. That proven curriculum provided a great foundation for NSS to start from in adapting the program as a public course - integrating the requirements of more employers and the needs of a wider range of types of students.

What You Will Learn

  • Java
    Learn to build object-oriented software systems using the Java programming language. Java has been one of the most popular programming languages for over 25 years and is on track to remain so for years to come. It is used by millions of developers at thousands of companies world-wide to build applications used by billions of people every day. You’ll turn written requirements into complex applications. You’ll write, compile and run Java programs. You’ll begin with the fundamentals of variables, conditions, loops, and classes and move to more advanced concepts such as exceptions, generics, lambdas and streams.
  • Cloud Programming with Amazon Web Services
    Learn principles of cloud native applications and distributed systems. Work with AWS services such as S3, Lambda, DynamoDB, CloudWatch, CloudFormation, APIGateway, CodeCommit, and CodePipeline.
  • Software Engineering Practices
    Learn the software development tools and practices that will allow you to work effectively on a software development team. Collaborate and submit code reviews with git. Discover the benefits of text editors and IDEs. Navigate your computer with the command line. Use proven design patterns to craft quality software. Build and deploy your projects with automated pipelines. Apply Agile values and use the Scrum methodology while working in a team environment.
  • Object-Oriented Programming
    Study object-oriented programming, a popular style of software development that combines many small “objects” in code to construct large, cohesive programs. Protect data with encapsulation. Reuse and extend functionality using inheritance. Share common behaviors with polymorphism. Create abstractions to represent both the physical and conceptual world.
  • Algorithms and Data Structures
    Learn the fundamental concepts of designing, building and analyzing software. Explore a broad range of data structures such as hash tables, queues, stacks, and trees. Know how and when to implement particular searching and sorting algorithms. Use Big O notation to describe and evaluate the performance characteristics of code in order to choose the most efficient approach.
  • Testing and Debugging
    Learn what to test, how to test, and how to determine the root cause of a problem once it’s found. Construct clear and testable use cases. Create and run unit tests. Use an interactive debugger with an IDE. Increase code coverage with reference to a code coverage report. Inspect logs to diagnose a problem. Mock code so that it can be tested without instantiating dependencies. Build and run integration tests.
  • Concurrency
    Discover techniques to boost software efficiency by performing multiple tasks at the same time. Learn about threads, thread pools, executor services, futures, sychronization, and caching.
  • NoSQL Databases with DynamoDB
    Data is an essential component of any software system, and storing that data is a chief concern. Learn the ins and outs of data modeling, storage, and retrieval using AWS DynamoDB, a massively scalable, distributed, cloud-native database created by Amazon and used as a datastore by companies both large and small.
  • Relational Databases and SQL
    Data is so important it made this list twice. In this course you’ll learn to represent and store data in tables, and how to create and use relationships between tables. You’ll also learn SQL, the specialized language created to work with relational databases.
  • HTTP and RESTful Services
    Explore ways in which the components of distributed software systems communicate and interact with one another in order to form a complete application. We’ll cover topics such as basic networking, HTTP, Web APIs, the request/response communication pattern, and more.
  • HTML, CSS, and JavaScript
    Learn how to structure web pages using semantic markup in HTML and then style those pages using CSS. Extend your static pages with JavaScript to create dynamic user experiences. You will use these languages to build web-based user interfaces for your projects.
  • Real World Projects
    You will have two capstone projects for your personal code portfolio. The first will be as part of a project team designing, building, testing and deploying a realistic cloud-native application that can be shared with potential employers as proof of your ability to apply your skills as part of a collaborative project team. Your final capstone project will be an individual effort that demonstrates your ability to take a project through the entire software engineering process. This project will demonstrate to potential employers your ability to apply the skills learned in this class to a complete real-world problem.
  • Career Preparation
    Throughout the program you will be preparing to move into an enterprise software engineering job. You’ll meet working software engineers from several industries. We’ll hold workshops on resume preparation, marketing yourself, interview preparation, negotiating, and more as well as focused preparation for solving technical interview challenges. You’ll get interview practice in mock scenarios with real hiring managers and senior engineers. You will demonstrate your technical ability, teamwork, and professionalism. And we’ll introduce you to prospective employers, share job postings, and support you after graduation during your job search. Our job isn’t done when you graduate, it’s done when you get your first software engineering job.
  • Learn To Work On A Remote Team
    NSS’s live online experience prepares you to work with teams remotely. You’ll learn to communicate in a remote environment through virtual interactions with your instructors and classmates on Zoom, asynchronous communication tools like Slack, and written code reviews with Git and GitHub.
  • Schedule

    Monday - Friday 9AM-4PM CT
  • Location

    This class is live online (i.e. synchronous).
  • Dates

    July 5, 2023 - March 22, 2024

  • Tuition

    $18,000
    See below for detailed information on payment options, including Opportunity Tuition, Payment Plans, and Financing.

Requirements

Student requirements
  • At least 18 years of age

  • American citizen, permanent resident or legally able to work in the U.S.

  • Due to regulatory constraints, we are not yet able to accept students residing in the state of California.

  • High school diploma (or equivalent)

  • A college degree is not required for the program, but may be required by some employers to qualify for a job. (Note: A degree is not required to apply for a role at Amazon.)

Hardware/Software requirements
  • Personal laptop meeting our hardware & software requirements. See this blog post for full details of our laptop specs.

  • Accepted students will be given requirements for software to be downloaded prior to the start of class.


Preparation

Is this right for you?

You do not need prior experience in programming in order to apply for this program. If you have no prior exposure to programming, we can help you. We suggest enrolling in our Software Engineering Jumpstart (more info coming soon), which will offer an instructor-led pathway through introductory material. You can also pursue basic self-study with the resources we recommend. Each pathway, self-guided or instructor-led, is designed to prepare you for the basic coding aptitude assessment required for admission. Each will also help you determine whether software engineering is the right career for you.

Beginning the Admissions Process

Once you’ve applied to this program, the admissions process will start with a conversation with one of our admissions counselors. The admissions counselor will assist you in understanding the rest of the admissions process and help you schedule your technical interview. They will also help you understand how to prepare for the required basic coding aptitude assessment and the short cognitive aptitude test. Once these steps are all completed, our admissions committee will review your application.

The coding aptitude assessment can be prepared for using the methods described above - or, if you have some prior programming experience, you can move directly to taking the assessment. The coding assessment will measure your knowledge of basic coding concepts and terminology, how to read code, and how to write code.

Our admissions process has multiple steps and is designed to make sure you are as comfortable as possible through each step of your journey. Our team is here to help you along the way.

You’re admitted. Now what?

Once admitted, all students will be given the opportunity to ramp-up their Java coding skills to the base level of proficiency required to start the class. As above, those with no experience need not worry. We have a series of prerequisite courses that will help you learn what you need to learn. We also have opportunities for you to interact with and learn from instructors and peers. Successful completion of a final coding assessment will demonstrate that you are ready to start the class.

Tuition

There are two tuition plans at NSS: Standard Tuition or Nashville Opportunity Tuition. Out of 25 seats in each cohort at NSS, our goal is to have at least 12 be Opportunity Students and the remainder paying standard tuition. Grants and scholarships are also available for students from underrepresented groups or who are economically disadvantaged, financially fragile, or underemployed.

Standard Tuition

Tuition for the full-time Software Engineering program is $18,000.

We request a $5,000 deposit on acceptance of our offer of admission. The balance is due at enrollment on the first day of class. You may also elect to pay the balance during the nine months of the program through an approved payment plan, as discussed below. See below for other financing and payment options.

Nashville Opportunity Tuition

Our Nashville Opportunity Tuition allows you to defer most of the cost of your training until you graduate and go to work as a software developer. You will pay us $1,500 as a tuition deposit on acceptance to the program and then nothing more until after graduation.

This program is a mutual risk-sharing program between NSS and the Student. NSS invests in the student through a scholarship and through deferring the balance of the student's tuition until the student a) graduates and b) becomes employed as a developer. Until those conditions are met, the student does not owe NSS the tuition balance.

Once you go to work using the skills you learned at NSS, we'll work out a payment plan for you to reimburse NSS. Some employers are willing to reimburse part or all of your tuition.

  • Initial tuition deposit of $1,500, due on acceptance of our offer of admission
  • $4,000 scholarship
  • $12,500 tuition balance to be repaid on employment as outlined above
Selection criteria for the Nashville Opportunity Tuition includes:
  • Limited to Nashville area residents or individuals who grew up in Nashville/Middle Tennessee and have strong family and personal connections to the area
  • Priority is given to students that are committed to residing in Middle Tennessee post-graduation
  • Priority is given to students whose economic circumstances would otherwise prevent them attending Nashville Software School
  • Priority is also given to individuals from groups that are underrepresented in tech careers (e.g. women, Veterans, Black individuals, etc.)

Financing/Payment Plans

Payment Plans

If you are paying for regular tuition out-of-pocket, there are two payment options:

  • Early Bird Discount: Pay the full tuition before the first day of class and receive a $2000 discount, reducing your tuition to $16,000. (Scholarship and student loan recipients are not eligible for the discount for early payment.)
  • Split the cost into 4 payments. Pay the $5000 deposit on offer acceptance and then $5000 on the first day of class. $4000 will be due at the beginning of months 4 and 8. This is a zero percent interest plan. Your total tuition remains $18,000.

Student Loans

To provide additional financing options and support for our students, we've partnered with Climb Credit and Sallie Mae. We encourage you to evaluate both options to learn which one is right for you.

Both are free to apply!

*Please note that your deposit cannot be included in your loan (i.e. you cannot borrow the full tuition cost).

  • Climb Credit Financing Student Loans Climb Credit Verified Partner School

    Climb Credit provides simple, fast, and affordable loans with fixed interest rates to help you meet your career and financial goals (subject to approval). To learn more and apply, click here.

    Details for Software Engineering:
    • Deposit due to NSS: $1,500*
    • Maximum amount you can borrow for the program: $16,500
    • Maximum amount you can borrow for cost-of-living expenses: $9,000
    • Length of Loan: 60 or 72 months

    Apply for Climb Credit.

  • Sallie Mae

    The Smart Option Student Loan* can help you cover school costs. You can choose from multiple repayment options, and take advantage of benefits that help you while you're in school and in repayment. To learn more, click here.

    *The Smart Option Student Loan references Undergraduate Students. While NSS is not a degree program, NSS students have access to this loan program.

    Details for Software Engineering:
    • Deposit due to NSS: $1,500*
    • Maximum amount you can borrow for the program: $16,500
    • Maximum amount you can borrow for cost-of-living expenses: $10,000
    • Length of Loan: Tenor up to 10 years

    Apply for Sallie Mae Smart Option Student Loan.

    Applicants should reference the administrative processing code 609570-00 when contacting Sallie Mae.

*Please note that your deposit cannot be included in your loan (i.e. you cannot borrow the full tuition cost).



Have Questions?
Email Us
Upcoming Info Sessions
RSVP
Start Your Application
Apply

Nashville Software School is authorized for operation as a postsecondary educational institution by the Tennessee Higher Education Commission. In order to view detailed job placement and graduation information on the programs offered by Nashville Software School, please visit tn.gov/thec or our policies and regulations page.

Stay Informed
  • NSS
    • About
    • Press
    • Contact
    • Virtual Tour
    • FAQ
    • Blog
    • Policies & Regulations
  • Programs
    • Software Engineering Jumpstart
    • Web Development Jumpstart
    • Analytics Jumpstart
    • Software Engineering with Java/AWS Specialization
    • Full-Time Web Developer Bootcamp
    • Part-Time Web Developer Bootcamp
    • Front-End Web Designer/Developer Bootcamp
    • Full-Time Data Analytics Bootcamp
    • Part-Time Data Analytics Bootcamp
    • Statistics For Data Science
    • Data Science Bootcamp
    • Professional Development
  • Community
    • Our Team
    • Alumni
    • Mentors
    • Employers
    • Veterans' Information
    • Podcast
    • Join Our Team
  • Support NSS
    • Donate
    • Become an Employer
    • Become a Volunteer
    • Community Impact Report
    • Upcoming Events
  • NACC Member
  • NTC Member
  • Nashville Business Journal Best In Business Winner
  • Nashville Scene Names NSS as Best Way To Ditch Your Crappy Job 2016