Fast Facts
Innovative hands-on Senior Software Developer needed in the United States to design, develop, and test next-generation applications using Node.js and Angular.
Responsibilities: Design and develop scalable full-stack applications, collaborate with product management, evaluate new technologies, lead cloud infrastructure design on AWS, mentor team members, and contribute code as a hands-on developer.
Skills: Strong software design and implementation, infrastructure management, communication, problem-solving, adaptability, time management, team collaboration, and continuous learning abilities.
Qualifications: Master’s or Bachelor’s degree in Computer Science, with 6+ years in software development and 4+ years in an agile environment; expertise in JavaScript/TypeScript and Angular; experience with AWS is a plus.
Location: United States
Compensation: Not provided by employer. Typical compensation ranges for this position are between $100,000 - $160,000.
We are currently looking for innovative hands-on Senior Software Developer to design, develop, test sophisticated next generation applications.
Responsibilities:
- Design and develop scalable full-stack applications using Node.js as backend service and Angular for modern, responsive frontend interface
- Work closely with the product management team to ensure we're building the best products
- Ability to comprehend business requirements and be able to map them to technical data requirements
- Evaluate new technologies and software products to determine the feasibility and desirability of incorporating their capabilities into the platform
- Lead cloud infrastructure design and optimization on AWS with focus on scalability and cost optimization
- Strong emphasis on code automation so it is maintainable and extensible
- Perform research, analysis, design and implementation and provide effective solutions for short term and long term needs
- Support and migrate existing systems to new platforms
- Mentor other team members and developers
- Work in a team environment and share knowledge
- Contribute as a hands-on software developer
Qualifications
- Master’s or Bachelor’s degree in Computer Science, with strong fundamentals and problem solving skills
- 6+ years experience in software development roles
- 4+ years minimum experience working in an agile environment is required
- Expert knowledge of modern JavaScript/TypeScript including ES6+ features and advanced language concepts. Working experience with Python, Java, SpringBoot is considered a plus
- Extensive experience with Angular ecosystem including Angular CLI, RxJS, build tools and bundlers like Webpack
- Knowledge of accessibility standards (WCAG) and its implementation in Angular applications is considered a plus
- Proven experience with building microservices, Cloud architecture and deployments in AWS and working experience with Infrastructure as Code tools like Cloudformation, AWS CDK is a plus
- Proficient in NoSQL and document-based database design and function, preferably MongoDB, DocumentDB and Dynamo. Experience with SQL and relational database design is considered a plus
- Experience with learning services technologies such as IMS QTI standards, SCORM object reference model, xAPI, CMI5 and any Learning Management System is a plus
- Experience with one or more application servers
- Expert knowledge in Object Oriented Analysis & Design, UML and design patterns
- Experience with configuration management systems and concepts specifically Git
- Working knowledge of automated testing frameworks is considered a plus
Skills
- Software Design, implementation (i.e. coding, testing) and Infrastructure management
- Ability to work with onsite and remote teams
- Communication – be able to communicate information to persons with varying degrees of computer knowledge
- Problem solving and troubleshooting skills
- Desire to expand knowledge in many development languages, applications, and tools
- Proven ability to quickly learn new processes and tools, business domains and technical applications
- Must assimilate information, distill knowledge, apply experience and provide solution alternatives and recommendations
- Must have strong time management skills - including the ability to work well under pressure, plan, set priorities, adapt to change, and meet established timelines
- Must develop effective relationships with internal and external contacts and work well within a team
- Must be a self-starter and detail-oriented
- Must have a “positive” and energetic demeanor
- Effective written and verbal communication skills
- Creative problem-solving skills