As a Software Programming Instructor, Online at App Academy, you have the crucially important role of using your software development experience to ensure that students transform themselves into software engineers over a 24 week period. You will be primarily responsible for the instruction of a single module, approximately four weeks of material, in the curriculum. This provides you the opportunity to truly master all aspects of that content, be it data structures and algorithms, front-end development, back-end development, microservices, or more. Once you demonstrate mastery and provide training to other instructors on the material, you can move to another module and master its content, too! This is a 100% remote position. This position reports to the Online Senior Manager of Instruction.
Education, Skills, and Knowledge
- At least one year of hands-on software development experience creating and maintaining software as part of a team in production in one of the following environments: At a company that creates software products;or, At a non-software company that creates internal tools and systems to support the business
- Demonstrable knowledge of all of the following programming topics: JavaScript, HTML 5, and CSS 3, ReactJS and the Flux architecture, Object-oriented design patterns and principles
- Demonstrably excellent written and oral communication skills
- Demonstrable capacity to judiciously handle interpersonal relationships with empathy
Responsibilities
- Confirm that students understand the technical content of one module of the curriculum at a time
- Provide supplementary explanations and real-world context to students about ideas and techniques found in the curriculum
- Provide the answers during Q&A sessions for the cohort’s class
- Conduct and deliver supplemental lecture to students from questions curated by Teaching Assistants
- Take direct responsibility for the training and mentoring of Teaching Assistants
- Use instructional techniques to help students build multi-context durable knowledge
- Suggest secondary resources to enhance student comprehension
- Provide qualitative feedback about students interactions with the curriculum content as part of the Curriculum Design Lifecycle
- Participate in internal professional development to hone your craft of instruction
- Upskill yourself to master all parts of the curriculum for which you are responsible
Nice To Haves
- Demonstrable competence of at least one of the following languages and associated frameworks: Ruby with Ruby on RailsNode with Express.js and SequelizePython with Flask and SQL AlchemyJava with Spring and JPAC# with ASP.NET MVCand EF
- Demonstrable knowledge of macOS, Windows, and Ubuntu Linux
- Demonstrable knowledge of devops tools such as Docker, Kubernetes, or Terraform
- Demonstrable knowledge of using microservice-based architecture
- Demonstrable knowledge of functional patterns and principles
Our Values
- Take responsibility for student success:. Everyone works together to enable student success.
- Follow the numbers. Decisions should be backed by data.
- Embrace a growth mindset. View challenges and failures as opportunities to improve.
- Start with why. See the big picture and question the status quo. If there’s a better way of doing things we should investigate it.
- Create an inclusive environment. We work together to promote empathy and respect amongst all students and staff.
- Build with urgency. Build like careers depend on it.