Description
As a Software Engineer you will have the opportunity to work as an individual contributor or as a technical lead of a team of developers, based on the size and scope of a feature.
- Design and enhance features for a large-scale service environment using OO principles with a deep focus on performance, scalability, quality and extensibility
- Full stack development, including APIs, using Ruby on Rails
- Embrace test-driven development with complete code coverage and continuous integration
- Provide diagnostic support and fix bugs for service features
- Follow Medidata’s Standard Operating Procedures to ensure all software meets regulatory and company requirements
- Work with Agile team members, particularly Software Quality Assurance and Product Management, to write clear, concise and comprehensive feature files
- Participate in Agile working practices such as daily scrum meetings, sprint planning meetings, reviews and retrospectives
- Share your knowledge and experience with a highly motivated and collaborative team in regards to code reviews, software designs as well as all other engineering and business aspects
Your Competencies
- Proven technical leadership regarding feature design, enhancement and implementation within a single instance multi-tenant service environment
- Ability to solve complex problems and provide solutions that can be applied optimally in a service environment
- Strong cross team collaboration skills
- Effective communication skills to relay technical information to various cross functional teams and clients
- Effectively execute processes associated with the software development life cycle
Your Education & Experience
- Bachelor’s degree required; or equivalent years of experience
- Extensive experience supporting an entire stack built with Ruby on Rails ( ROR )
- Extensive Experience with JavaScript, jQuery, Ajax and HTML/CSS
- Experience with SQL optimization and database schema design (we use MySQL)
- Experience with Git
- Experience designing and writing unit tests, step definitions and scenarios to maintain a high level of code coverage and quality standards
- Experience working with Agile methods such as Scrum preferred