Develops software for new applications and enhances existing applications. Analyzes, designs, codes, tests, debugs, and documents all assigned components. Provides support as required to resolve issues raised by operations or the customer. May need to work with customers directly for resolving production issues.
Minimum Requirements Education
o Bachelor’s Degree in a computer-related field or equivalent experience.
Knowledge, Skills, Abilities, Experience, or Characteristics
- 4 years of experience doing design, coding and testing.
- 2+ years of experience with Ruby or similar languages.
- Knowledge of SQL and fundamentals of database design.
- Comfortable navigating the *nix shell.
Helpful / Preferred
- Experience developing web-based applications using Ruby on Rails using jQuery.
- Experience using PostgreSQL.
- Test-focused development experience, particularly RSpec
- Experience with C# (especially .NET Core) or Java.
- Knowledge of AWS, Docker, Kubernetes.
- Experience in performance tuning of applications.
- Experience using vendor-specific query languages for monitoring and troubleshooting.
Functions and Responsibilities (…in addition to other duties as assigned)
- Design, develop, and debug all assigned components.
- Analyze application problem areas and propose solutions.
- Plan and execute unit and functional tests as required to ensure changes meet customer requirements.
- Conduct code reviews of peer code via pull requests.
- Understand and support use of idiomatic patterns appropriate to the language in use in code changes and reviews.
- Understand priority on tasks and seek clarification if conflicting priorities arise.
- Provide high level estimates and refined individual task estimates as part of a team.
- Complete assigned tasks within the time commitment. Regularly update the progress of tasks.
- Develop clear and concise documentation.
- Provide support services as required resolving application issues raised by operations and/or the customer.
- Develop expert knowledge of existing applications.
- Proactively learn and utilize new technologies, concepts and procedures as appropriate to project requirements.
- Work with team to improve efficiencies, processes and procedures.
- Be available on-call for Engineering Support per on-call schedule.
- Proactively identify application problem areas and implement permanent fixes.
- Assist in restoring services quickly in case of production outages in conjunction with infrastructure team.
Some travel may be involved for both training and customer facing issues.
Equal Opportunity Employer - M/F/V/H