Role & responsibilities As a Senior Software Developer, you will have the opportunity to tap into your curiosity and collaborate with some of the most innovative and diverse people around the world. Here, you will make an impact by: Leading technical design sessions to formulate technical designs that minimize maintenance, maximize code reuse and minimize testing time Developing code according to business and technical needs, creating test data, performing unit/integration tests and collaborating with team to ensure functionality meets client expectations Performance and stress testing of assigned functionality to ensure client expectations for software responsiveness and resource utilization are met Driving continuous improvement in processes and software, valuing automation, peer code reviews and Continuous Integration/Continuous Delivery Participating in retrospective reviews to identify and implement process improvement ideas Participating in and/or leading client product/feature demonstrations Identifying risks; risk management in support of release goals Addressing and resolving issues identified by clients Additional requirements Proficient with Java software development Experience with Python software development Experience with Web services and web application development (REST, JavaScript/Angular) Experience with Linux shell scripting Experience using git and/or Jira Experience with Gradle, Ant, or Maven Experience with Amazon Web Services (AWS) Proficient with object-oriented design and applying design patterns. Proficient with an IDE (Eclipse, IntelliJ, Visual Studio) for debugging, code completion, searching, performance, etc. Proficient with software configuration management concepts (source control, build automation) Familiar with SQL and relational database design Knowledge of Agile methodology and experience working with distributed team members Excellent verbal and written communication skills Ability to solve problems in a logical, methodical, and time efficient manner