As a Senior Software Engineer or Architect on the Platform Team, you are responsible for architecting, designing and developing custom solut...
As a Senior Software Engineer or Architect on the Platform Team, you are responsible for architecting, designing and developing custom solutions to provide scalable, reliable and secure solutions adhering to software development lifecycle. Perform peer code reviews, coordinate production releases with product owner and stakeholders. You will be an evangelist on our team s development, maintenance, design patterns, and culture. This may include forming development standards, creating internal presentations on best practices, tutorials and pair programming with developers getting comfortable with the language.
- Build APIs and web applications using Ruby on Rails and/or Elixir that handle complex data models efficiently, while having great architectural design to manage complexity.
- Establish technical decisions and direction for one or many projects/teams.
- Appropriately manage team demands and delegate technical execution or responsibilities when appropriate.
- Direct technical aspect of operations related to escalated client accounts or high severity issues as they affect or confront a project or team.
- Attend to both business and technical considerations when designing solutions to project/team or company related issues.
- Actively work to improve the company s technical awareness, depth and use of technology across the business while establishing and maintaining positive and effective working relationships.
- Participate in the evolution of company-level best practices, standards, and policies as it related to software development.
- Provide leadership/mentorship as it relates to emerging technologies and preparing engineers for productively integrating the same into business.
- Bachelor's degree in Computer Science (or equivalent experience) required; Master's degree in information technology or computer sciences preferred, or equivalent experience.
- Minimum of 7+ years of related work experience.
- Experience working in an Agile/Scrum development process preferred.
- Experience with Ruby on Rails, React, Git, SQL, and APIs.
- Experience with Elixir or an interest (with a RoR background).
- Knowledge of modern technologies like Docker, GitHub, Continuous Integration, etc. preferred.
- Active social media or conference presence for the Open Source community is a big plus!
- Experience with Test-Driven Development and writing unit and integration tests.
- Experience using Behavior-Driven Development suite like Cucumber.
- Competent and willing to write software using Ruby on Rails and/or Elixir, .
- Competent writing software with MVC frameworks. Ruby on Rails preferred.
- Comfortable working in a cloud environment like AWS.
- Must have experience basic Linux/Unix CLI and using Git and GitHub for source code control.
- Knowledge of Continuous Integration/Continuous Delivery systems like Jenkins.
- Knowledge of Docker and Kubernetes is a plus.
- Exhibits enthusiasm and well-rounded knowledge of backend systems and software architecture.
- Applies best practices including design patterns and linting to all software development.
- Approaches engineering requests from a user's vantage point to form architectural and technical requirements.
- Stays well-informed of emerging technologies and software trends.
- Capable of debugging problems related to HTTP, XHR, JSON, CORS, SSL, S3, etc.
- Able to investigate performance and memory issues.
- Able to reduce complex requirements and user interaction flows into long-term API designs.
- Good understanding of architectural messaging patterns and pitfalls using Kafka, Rabbit MQ, etc.
- provided by Dice