POSITION PURPOSE The Sr. Software Engineer is responsible for joining a product team and contributing to the software design, software development, and overall product lifecycle for a product that our users love. The engineering process is highly collaborative. Sr. Software Engineers are expected to pair on a daily basis as they work through user stories and support products as they evolve. In addition, Sr. Software Engineers may be involved in product configuration, performance tuning and testing as well as production monitoring. As a Sr. Software Engineer, you will be able to operate independently, though typically will work as part of a team with varying skillsets to create, support, and deploy production applications.
MAJOR TASKS, RESPONSIBILITIES AND KEY ACCOUNTABILITIES
70% – Delivery & Execution:
- Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
- Documents, reviews and ensures that all quality and change control standards are met
- Works with Product Team to ensure user stories that are developer-ready, easy to understand, and testable
- Writes custom code or scripts to automate infrastructure, monitoring services, and test cases
- Writes custom code or scripts to do “destructive testing” to ensure adequate resiliency in production
- Configures commercial off the shelf solutions to align with evolving business needs
- Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
20% – Support & Enablement:
- Fields questions from other product teams or support teams
- Monitors tools and participates in conversations to encourage collaboration across product teams
- Provides application support for software running in production
- Proactively monitors production Service Level Objectives for products
- Proactively reviews the performance and capacity of all aspects of production: code, infrastructure, data, and message processing
10% – Learning:
- Participates in learning activities around modern software design and development core practices (communities of practice)
- Proactively views articles, tutorials, and videos to learn about new technologies and best practices being used within other technology organizations
NATURE AND SCOPE
Typically reports to the Software Engineer Manager or Sr. Manager.
ENVIRONMENTAL JOB REQUIREMENTS
Environment: Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.
Travel: Typically requires overnight travel less than 10% of the time.
MINIMUM QUALIFICATIONS Must be eighteen years of age or older. Must be legally permitted to work in the United States.
Additional Minimum Qualifications: Must be legally permitted to work in the United States Experience in an object oriented programming language (preferably Java)
Education Required: The knowledge, skills and abilities typically acquired through the completion of a bachelor’s degree program or equivalent degree in a field of study related to the job.
Years of Relevant Work Experience: 1 years
Physical Requirements: Most of the time is spent sitting in a comfortable position and there is frequent opportunity to move about. On rare occasions there may be a need to move or lift light articles.
- 1-3 years of relevant work experience
- Experience in a modern scripting language (preferably Python)
- Experience in a modern web application framework such as Ruby on Rails, Spring MVC, and Node.js
- Experience in writing SQL queries against a relational database
- Experience in a version control system (preferably Git)
- Experience in a Linux or Unix based environment
- Exposure to a CI/CD toolchain
- Exposure to destructive testing methodologies and tools
- Exposure to a cloud computing platform and the associated automation patterns they provide
- Exposure to production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security
- Exposure to defensive coding practices and patterns for high-availability
- Exposure to a NoSQL database
- Exposure to query optimization and troubleshooting
- Exposure to effective data modeling within both SQL and NoSQL databases
- Understanding of modern microservice-based architectures and methodologies
- Exposure to 12-factor methodology and its benefits, and able to demonstrate appropriate patterns to more junior team members
- Exposure to REST and effective web service design
Knowledge, Skills, Abilities and Competencies:
- Action Oriented: Taking on new opportunities and tough challenges with a sense of urgency, high energy and enthusiasm
- Collaborates: Building partnerships and working collaboratively with others to meet shared objectives
- Communicates Effectively: Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences
- Cultivates Innovation: Creating new and better ways for the organization to be successful
- Drives Results: Consistently achieving results, even under tough circumstances
- Global Perspective: Taking a broad view when approaching issues; using a global lens
- Interpersonal Savvy: Relating openly and comfortably with diverse groups of people