We are seeking an enthusiastic Technical Trainer in several of our office locations to lead our intensive technical onboarding program that teaches qualified candidates how to be full-stack web developers. The Trainer will teach, coach, and mentor qualified candidates throughout the training program to ensure they are prepared to be hired into the organization as entry-level software developers. To achieve success, the experienced software developer must have a passion for teaching and mentoring aspiring programmers. The trainer must be extremely knowledgeable in full-stack development and software engineering practices, and be willing to constantly learn new, and strengthen existing, programming languages. Candidates must be able to explain complex topics in an understandable, interesting manner to aspiring software developers. The trainer will also have opportunities to transition from training assignments to working on internal or client-based software development projects.
* Deliver technical training programs to aspiring software developers
* Collaborate with software developers, technical leaders, business analysts and project managers to determine program topics, skills and knowledge to teach
* Provide ongoing technical support and guidance to trainees (e.g., conduct code reviews)
* Evaluate trainees' deliverables (e.g., projects, exercises, etc.) and provide targeted mentorship, coaching and feedback to improve performance
* Facilitate the growth of essential non-technical (i.e., soft) skills in trainees
* Coach new instructors and teaching assistants in the subject matter, content and instructional strategies
* Evaluate current training programs and make iterative improvements
* Identify innovative approaches to teach software development and professional skills
* Provide feedback to and collaborate with curriculum design team to increase the effectiveness of training curriculum
* Communicate with management to provide updates on progress of trainees
* Continuously research and learn new technologies, and expand depth of understanding with known technologies
* Work in an Agile environment
* Serve as a technical resource for client projects
* Contribute to functional specifications and detailed design documents for client projects
* Deliver timely project execution and project work products that exceed customer expectations
* Perform other duties and responsibilities, as assigned
What we'd like to see
* 5+ years of experience in software development
* 2+ years experience in training
* Excellent communication and team-building skills
* Excellent coaching and mentoring skills
* Excellent attention to detail.
* Familiarity with adult learning principles and multiple pedagogical strategies
* Experience teaching adult learners
* Experience with project management and/or leading software teams
* Experience developing full-stack web applications
* Experience with source control, specifically Git
* Minimum 3 years experience developing custom solutions using Java, C# or .NET
* Experience in a back-end programming stack using Java Spring, C# .NET or Node.js
* Experience with Agile software engineering practices
* Experience with Test Driven Development, Continuous Integration, Continuous Delivery, and Automated Testing.
* Experience developing web services, utilizing REST and microservices.
* Familiarity with cloud environments such as AWS.
* Familiarity with NoSQL databases such as MongoDB or Cassandra
* Familiarity with RDBMS (SQL Server or Oracle)
* Management experience preferred