- Overall 7-12 years of industry experience in programming web applications, mobile and/or large scale enterprise products.
- At least 6 years of experience in Ruby
- Deep knowledge of the Ruby language, related frameworks (Rails), and the Ruby toolchain
- Substantial experience with BDD or TDD and testing frameworks
- Substantial experience designing APIs
- Hands-on experience with both RDBMS (PostgreSQL, SQLServer, etc) and NoSQL (Mongo, DynamoDB, etc).
- Fluency in Git and branching workflows such as Gitflow or Trunk-based development.
- Demonstrated ability to work well on highly collaborative scrum teams.
- Familiarity with Agile concepts and comfortable working with issue tracking tools such as Jira or ADO.
- Detailed oriented, professional and possesses a positive work attitude.
- Comfort with *nix-based systems and the command prompt.
- Experience using Docker and/or Kubernetes
- Experience with Amazon Web Services (AWS).
- Demonstrated ability to pick up new concepts quickly.
- Interest in working with various server languages such as: Golang, C#, Haskell, Clojure, or something other than Ruby
- Communicate professionally both verbally and in writing.
- Effective time management skills.
- Bachelor s Degree in Computer Science or equivalent
PRINCIPAL DUTIES AND RESPONSIBILITIES:
- Serves as a self-directed, key contributor on a scrum team building new features.
- Resolves ongoing defects to ensure high quality software delivery.
- Makes implementation design decisions around new features.
- Analyzes technical requirements with the team to gauge level of effort.
- Breaks down complex projects and mentors more junior engineers.
- Carefully analyzes design specifications before coding to understand effort levels required.
- Creates technical documentation for new features that can be easily understood by peers.
- Writes and executes tests, including creating comprehensive unit tests.
- Performs peer code reviews to ensure quality of the codebase.
- Keeps abreast of new technologies.
- Ensures designs and projects created comply with design library guidelines, internal best practices, and coding conventions when applicable.
- Ability to decompose and delegate work to junior engineers.
- Assists in removing obstacles for the team to yield successful sprints.
- Performs peer code reviews to ensure quality of the codebase.
- Updates job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities, reading professional publications, maintaining personal networks, participating in professional organizations.
- Works effectively with multiple projects and features.
- All other duties as assigned.
ADDITIONAL DESIRED BACKGROUND:
- Familiarity with architecture patterns like Pub/Sub, Event Sourcing and CQRS
- Familiarity search engines such as CloudSearch and ElasticSearch
- Familiarity with IaC concepts and tools: Terraform, Puppet, Chef, CloudFormation, or similar.
WORK ENVIRONMENT AND PHYSICAL DEMANDS:
- Dexterity of hands and fingers to operate a computer keyboard.
- This position is mostly stationary and will be required to remain stationary for extended periods of time.
- Specific vision abilities required by this position include close vision, color vision, and the ability to adjust focus.
- The noise level in the work environment is usually moderately quiet.
Skills Required
Cloud Formation, Terraform