CAS is seeking a Software Engineer to develop, enhance, and maintain online products and scientific databases, creating and maintaining various applications to support the research efforts of scientists, information professionals, patent examiners, corporations, and law firms worldwide.
Requirements
- Proficiency in multiple programming languages, including C, C++, Perl, Shell, Python, Java, JavaScript, TypeScript, Scala
- Strong proficiency in Linux/Unix environments
- Experience building containerized applications using Docker
- Experience with Node.js and ECS/Fargate
- Experience with database technologies, including MarkLogic and RDF/triple stores
- Understanding of data processing and information system architecture
- Experience working in AWS environment
Responsibilities
- Develop, enhance, and maintain software applications, services, and systems within an Agile delivery team, working with Unix/Linux environments, Python, Perl, and modern cloud technologies to support CAS products and solutions
- Exercise independent judgment to analyze and resolve technical problems at increasing complexity levels, troubleshooting production issues and delivering fixes through organized change management systems
- Partner with product management, delivery leads, and technical staff to explore requirements, prioritize work, create solutions, and drive software projects to successful completion across the organization
- Plan, estimate, schedule, and support projects with medium-to-high complexity, managing special assignments and routine work while meeting target completion dates with appropriate oversight
- Anticipate potential problems that could impact the team or end users, developing sound strategies to prevent or reduce adverse impacts while ensuring customer considerations guide planning and implementation
- Identify and implement process improvements that contribute to improved service delivery or reduced operational costs, collecting data on critical success factors to evaluate progress
- Share technical expertise and coach colleagues, building productive internal and external working relationships while contributing to team goals that support the company's mission
Other
- Bachelor’s degree in computer science, Engineering, Informatics, or related field AND minimum of 2 years of software development experience OR Advanced degree without experience OR Equivalent combination of education and work experience
- Experience working with production software systems required
- Provide transparency in work status, challenges, and progress; communicate clearly and eagerly in team settings; hold healthy dialogue and embrace diversity of thought
- Pair programming: experience with or willingness to pair with others when beneficial
- Accept personal accountability for individual and team outcomes; demonstrate ownership for team deliverables; commit to team decisions once made and do the right thing even when challenging