Senior Software Engineer, Platform
Goal
Build rock solid Java &NodeJS services using MySQL, ElasticSearch, and MongoDB.
Role
Reporting to the Engineering Manager, Backend, you will build out services and APIs that support Shift’s suite of products. You will be working on a team of Java and NodeJS engineers who have strong domain knowledge and experience in their technical areas. You will work on problems related to API deployments, video transcoding, video watermarking, auth systems, and workflow systems. You’ll be a part of our full development cycle including product reviews, development, code reviews, testing, and support.
It will be your responsibility to build advanced solutions through design, architecture, planning, and collaborative execution. You will lead projects regularly and support the success of others through good mentoring, planning, and teamwork. You will use your strong planning, prioritization, and communications skills and communicate clearly and frequently with your team. You must be able to effectively contribute and mentor across the full application and effectively juggle multiple tasks and problems at once.
Responsibilities
Leadership
- Be able to mentor junior engineers
- Give guidance, feedback, and direct mentorship to ensure junior team members are set up to succeed and grow
- Review code to enforce best practices
Project Delivery
- Take ownership of a product or a complex set of product features
- Think critically about problems and be able to provide reasonable and realistic estimations
- Prioritize tasks and goals to meet daily challenges and evolving company needs
- Identify risks early and work with the project team to communicate and remediate
- Be able to set short term plans in writing for distributed team members
- Deliver projects on time and on budget
Communication
- Communicate complex engineering concepts to various audiences
- Be an example for effective collaboration and contribution
- Great listening skills with a strong desire to understand who you’re communicating with.
- Big respect. Small ego.
Engineering
- Understand clean coding principles
- Understanding of design patterns and common application architectures
- Implement and maintain Shift architecture patterns, styles, and engineering best practices. Strike a practical balance between DRY and KISS principles.
- Review code to enforce best practices
- Properly communicate, document, and execute releases
- Be a contributor. Regularly make high quality, meaningful contributions to the development of Shift applications and systems
- Design and contribute to internal tools that increase velocity and quality of business decisions.
Attributes of a successful Senior Software Engineer at Shift are:
- Pragmatic. You understand that meeting business objectives is the ultimate goal.
- Experienced. You’ve done this before. You have a strong foundation in software engineering and can take responsibility for complex problems.
- Thoughtful. You have learned that the best solutions start with understanding the problem. You listen to others and seek out information.
- Responsible. You believe you are accountable for what you create. You test your work and support your customers.
Competency
Languages: Java, NodeJS
Platforms: MacOS, Linux (Debian, Amazon Linux)
Databases: MySQL, ElasticSearch, MongoDB
Support &Tooling: IntelliJ, VSCode, GitLab, Git