Overview & Responsibilities
The Cross-Platform Engineering team is seeking an experienced Software Developer to join our team. You will be responsible for designing and developing software for REST API's, application deployment, infrastructure automation, and CI/CD services. You will work with a team of top talent who stay close to the experimental edge of technology, where "Serverless", "Microservices", "DevOps", and "ChatOps" are more than just buzzwords.
Our team moves fast, gets things done, cares about quality, and loves to come up with innovative ways to deliver tools and APIs to fellow Rackers and customers. We follow a Lean Startup approach to development with a good mix of having fun while delivering top-notch results, often ahead of schedule!
Assist and/or lead design initiative for complex solutions.
Design secure, robust, scalable, and globalized features. Identifies risks and dependencies for features.
Manage dependencies for feature areas across complex solutions.
Drive continuous adoption and integration of relevant new technologies into design.
Implement or leads the implementation of complex solutions with minimal technical debt. Develop solutions that are easy to deploy, maintain, and are bug free.
Develop unit tests for own feature areas in solution to achieve established code coverage targets. Ensure areas in solution are test-driven designed, enabling efficient regression testing.
Proactively drive refactoring and code-reuse. Make regular contribution to test automation.
Background and Experience
Knowledge in multiple technologies relevant to current activities across multiple business units in the company.
Ability to research and gain good working knowledge of technologies relevant to the strategic direction of the company.
Proven systematic and structured in problem solving approach.
Ability to generalize a specific problem and derive solution for a class of problems.
Ability to derive causal relationship from ambiguous data.
Ability to extend factual relationship to anticipate problems or opportunities.
Ability to drive innovation into and to continuously improve complex solutions and products within the business unit.
Demonstrates ability to gain support for complex architecture and to negotiate solution/architectural trade-offs.
Bachelor’s degree in a technology related field. In lieu of a degree, experience may substitute at a ratio of 3 years of experience for each year of education.
A minimum of 4+ years’ experience in software development, engineering, testing, or a related field.
Understanding of software engineering fundamentals gained through training, course work, or relevant experience.
Experience designing and developing REST API's
In-depth experience with Python
Experience with serverless architecture and concepts
Experience with infrastructure automation
Experience with CI/CD methodologies and concepts
Experience with NoSQL storage solutions
Experience with Linux