The Principal Engineer position will be engaged on tasks spanning all aspects of software development lifecycle to meet the needs of our customers, company, and the market. The Principal Engineer position includes all activities during the development life cycle, while meeting the design guidelines, quality standards and customer’s expectations. Additionally, the Principal Engineer should have strong communications skills and foster close relationship with executives, product managers and developers to achieve the best mobile experiences, combine engineering excellence, create immersive UX, and secure backend services.
Duties and Responsibilities:
- Develops software for a product that meets the needs of company customers and strategy.
- Ensures software written is deemed readable, maintainable and efficient by co-workers in the development team.
- Work with PM and senior management to break down high-level product vision to manageable pieces for development execution.
- Research new technologies and make sound technology recommendations appropriate for the business needs.
- Iterate with PM, UX designer to rapidly prototype as needed.
- Lead, Design and implement critical components of the software throughout the stack.
- Provide technical guidance and mentorship to engineers, designers, and developers.
- Contribute ideas for continually improving the team’s productivity, job enjoyment, code quality and engineering excellence.
- Represent the team internally and externally on technical front.
- All other duties and responsibilities as assigned.
Desired Education, Skills & Experience:
- Bachelor’s degree in Computer Science, Mathematics or Electrical Engineering, or the equivalent knowledge and experience, is required.
- Experienced with multiple SDLCs such as agile or water fall.
- Detail and results oriented with a decisive approach to work required to ensure the deliverables are met on time with multiple assignments.
- Experienced user building and maintaining of high scale databases and cloud computing platforms.
- Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis.
- Helps determine technology platform choices, including assessment/estimates for new features, product requirements, evaluation of 3rd party components.
- Proven ability to communicate effectively with management. Excellent written and verbal communication skills.
- Good general knowledge of Internet technology and software development lifecycle, including current industry trends and their application.
- Passionate about software development.
- Self-starter and can always work under pressure.
- Sound judgement in connecting business need with technology choices.
- 10+ years of experience in commercial software development, in cloud environment, mostly as a leading engineer.
- Deep experience in both backend and frontend design and implementation.
- Experience supporting continuous integration tools such as Jenkins, Travis, RunDeck, AWS CodePipeline.
- Experience delivering software across various platforms, Web, Desktop, Android, iOS, Cordova, or Xamarin.
- Proficient in mainstream development tools and processes.
Strong knowledge in many of these areas:
- AWS services EC2, S3, AWS Securities etc. Fully understand the services lifecycle management and API interface.
- Deep knowledge on modernization techniques for legacy software.
- Deep knowledge on architecture design for modern high performance & concurrent, high throughput react programming, traffic balancing & transaction management.