We are looking for a Principal Software Engineer who will be help with design, development and implementation of the front-end and back-end web development but especially out main user interface. You will run assigned projects and work flow of engineers, serve as a mentor to junior staff members. You will participate on cross-functional design projects, serving as organizational spokesperson on advanced projects/programs. Often knowledge is self-taught as formal training in emerging technologies may not exist. You will build formal technology proposals and gets appropriate consensus to productize it.
- Write and enhance code and make best practice recommendations on how to improve the app, with specific focus on the UI/UX.
- Work on to define and build our next-generation APIs, Command Line Interfaces (CLIs), and Software Development Kits (SDK).
- Applyarchitecture and design principals consistently and holistically to enable target end-to-end usage scenarios.
- Strong focus on DevOps use-cases and work-flows.
- Work with SCRUM teams and Product Management to refine requirements, understand how we will meet the broader properties of the system and help design efficient, flexible, highly scalable and extensible services.
- Drive critical component design decisions across working teams.
- Work to drive decisions through a crisp decision-making process and framework.
Knowledge, Skills and Abilities:
- Working knowledge of microservices architecture & large scale API design and development.
- Good working experience with front-end development in the React framework.
- Experience with Docker containers and orchestration platforms such as ECS, Kubernetes, Mesos and/or Swarm.
- Experience developing solutions using automation tools such as Ansible, Chief, Puppet, System Center.
- Experience designing complex product technologies and initiatives from concept through release.
- Able to collaborate and thrive in a dynamic inspiring environment.
- Demonstrated excellence in written and verbal communications.
- Act as a mentor for junior members of the team.
- Recommends and maintains technical design methodologies, processes and standards.
- Participates on cross functional design teams to develop expertise in other modules/systems.
- Engages with Product Management to drive detailed product requirements.
- Typically requires a minimum of 10 years of related experience with a Bachelor’s degree; or 8years and a Master’s degree; or a PhD with 5 years experience; or equivalent experience.
- In depth working experience on modern web development.
- In depth working experience with one of the frameworks React/Angular.
- Exposure to Node, Express, MySQL, Django, and Redis.
- Software development experience in XML, Web services, UNIX tools.