Senior Software Engineer
Position Title: Senior Software Engineer
SBU Technology & Ops - Data Center & Infrastructure Services
Department Technology & Ops - Data Center & Infrastructure Services
Job Family: Technology Development
The position description is a guide to the critical duties and essential functions of the job, not an all-inclusive list of responsibilities, qualifications, physical demands and work environment conditions. Position descriptions are reviewed and revised to meet the changing needs of the company at the sole discretion of management.
This position focuses on the design, development, and delivery of product specific solutions for Source Code Management, Continuous Integrated Builds, Continuous deployment automation and Release Solutions services, Configuration management tools offered by Software Production Engineering team. Senior Software Engineer work hand in hand with each other and developers on a given product or module, to create integrated build and/or deployment processes and solutions, that maximize efficiencies and minimize variables for error. Candidates for this team are expected to have a unique mix of knowledge that spans software development, n-tier application environments, cloud infrastructure, and the product delivery lifecycle. This allows us to construct complete deployment solutions that take into account environment and software architecture, functionality, and dependencies from the perspective of delivering a build and deployment process that updates an application from one version to the next through multiple environments with little to no variables for error. The candidate must have excellent people skills and be able to interface with a number of people and groups concurrently in a knowledgeable and professional manner. Please review the description of duties and qualifications for this position below.
Individual contributor; receives assignments from Manager of Software Production Engineering Services in either of two general job functions: a) developing, building, and extending existing Software Production Engineering Services tool suite and integrations, or b) maintenance of Software Production Engineering Services systems providing services to development and support groups. The size of the projects varies according to size of the code base of the product subscribing to service. Regardless of project size, the Senior Software Engineer's role impacts all development activity and as such provides a critical function in sustaining the product development lifecycle.
Responsibilities and Duties
- •Develop, analyze and maintain tools that automate processes for software build and continuous delivery.
- Authors new and maintains existing standards and best practices around versioning, tagging, building, configuring, packaging and deployment for release of products
- Writes pipeline and publishing scripts for deployment of products.
- Work with project teams to determine required technologiesand then initiate the build and packaging process.
- Compile and assemble software from source code including integrity, fit and unit testing and work with development engineers to correct build errors
- Ensure tools are stored in source control.
- Support developers for software package/containerregistry and delivery.
- Work with others to complete analysis, evaluations and design alternatives and to implement process improvements.
- Support and enhance build and release processes through automation using a combination of processes, existing tools, new tools, and enhancements.
- Maintain and improve monitoring and alerting systems.
Measures of Success
Prompt delivery of service to development and support groups in the following areas:
- •Maintenance of Subversion, GIT based Source Control system for all development groups subscribing to this service
- Maintenance of Continuous Integration and Continuous Deployment tool suite, including Jenkins, AWS, Docker, Mesosphere, and more.
- Maintenance of Artifact repository (Artifactory) for all product builds subscribing to this service.
- Maintenance of code analysis and code metrics tool (SonarQube) for all product builds subscribing to this service.
- Creation and maintenance of packaging solutions for all development groups subscribing to this service.
- Delivering sound scalable extensions that integrate increased value to service offering
- Conceptualize, architect and build automated deployment pipelines in a CI/CD environment like Jenkins.
- Conceptualize, architect and build a containerized infrastructure using Docker, Mesosphere or similar SaaS platforms.
- Create reliable and high available server infrastructure for our applications, in partnership with the development team.
- Ability to efficiently investigate and troubleshoot problems when they arise.
Competencies, Qualifications and Experience
To perform this job successfully, the incumbent must be able to perform each essential duty satisfactorily. Reasonable accommodations may be made to enable qualified individuals with disabilities to perform the essential functions unless this causes undue hardship to the company.
- •Bachelor's degree in Computer Science or related field and 5 to 7 years' experience in a development/Release engineer role.
- Knowledge of the software development/integration process, customer operations, and Configuration Management in a heterogeneous computer platform environment.
- Strong understanding of programming concepts; product versioning, tagging and building; source control, and supportable, repeatable process.
- Many development environments and deployment platforms are used. The candidate must be experienced with a range of tools and technologies. Java/.NET experience is a must. Ruby and Angular/NodeJS desired.
- Minimum of three-years of hands on experience in software development and DevOps, specifically managing AWS Infrastructure such as EC2s, RDS, Elastic cache, S3, IAM, cloud trail and other services provided by AWS
- Programming languages and frameworks : Python,Shell & Perl ( expert in atleast one)
- Knowledge of continuous code quality management tools such as Sonar/SonarQube
- Administration Linux servers in Amazon Web Services.
- Ability to efficiently investigate and troubleshoot problems when they arise
- Experience with CI/ CD tools like Jenkins and experience in cloud infrastructure
- Experience with Source code Management: Subversion (SVN);(GIT);(TFS) support, administration, and development
- Experience in Cloud Hosting: AWS, Azure, Open stack.
- Experience developing in Visual Studio 2010, 2012, 2013, 2015, 2017 (C#, etc.)
- Experience developing in Java 1.7 and 1.8.
- Experience in Continuous Deployment: Jenkins, Puppet, etc.
Additional software engineering skills includes:
Groovy script, Microsoft Installer technologies and standards and WiX (Windows Installer XML)
Ant, Maven, MSBuild, Grunt, Gradle and other build tools
MStest, Junit, TestNG and other test frameworks with good understanding of unit testing methodologies
IIS 8, AJAX, ASP.NET, Active Server Pages
C#, COM ,Java
HTML, VB Script, Perl script
Linux command line and shell scripting.
- Solid understanding of Windows 2008, Windows 2010, Unix, and Linux operating systems,
- Knowledge of registry and application configurations for the Windows environment.
- Knowledge of IT-industry accepted configuration management practices, policies, and procedures. Experience in all phases of structured life cycle.
- Proven leadership and technical mentoring abilities
- Must be fluent in English with the ability to communicate clearly and lead a technical conversation on any of the above technologies
- Candidate shall be self-motivated and driven to succeed under adverse conditions
- Creative thinking with the ability to look beyond standard practices to meet a required deadline or change a current standard policy that is in place
- Limited travel necessary between company sites.
- Personally developed or worked with a team to develop a form or web application that provided data to more than 1,000 clients.
- Experience with Vagrant and Jcloud for creating and configuring virtual development environments.
- Understanding of network load balancing
- Knowledge of standard TCP/IP networking (ability to understand fundamentals such as sub-netting, NAT, NAT and basic TCP port assignments (e.g. HTTP => port 80).
- Understanding of Microsoft Active Directory and other directory systems.
Knowledge of relational database systems (e.g. SQL Server, Oracle and MySQL).
- Experience with developing products for the financial market segment is desirable.
Key Organizational Relationships
Senior Software Engineer contact other Software Engineers daily for the purpose of creating, managing and maintaining product builds and deployment solutions as well as the infrastructure and toolsets necessary for these responsibilities.
Senior Software Engineer contact software developers daily for the purposes of facilitating them in the building and delivery of their product software.
Senior Software Engineer contact application support engineers and database administrators regularly as needed for the purpose of deploying product to various environments within the development lifecycle (for example, QA and production environments).
Thomson Reuters provides professionals with the intelligence, technology and human expertise they need to find trusted answers. We enable professionals in the financial and risk, legal, tax and accounting, and media markets to make the decisions that matter most, all powered by the world's most trusted news organization.
At Thomson Reuters, we believe what we do matters. We are passionate about our work, inspired by the impact it has on our business and our customers. As a team, we believe in winning as one – collaborating to reach shared goals, and developing through challenging and meaningful experiences. With over 50,000 employees in more than 100 countries, we work flexibly across boundaries and realize innovations that help shape industries around the world. Bring your ambition to make a difference. We'll bring a world of opportunities.
As a global business we rely on diversity of culture and thought to deliver on our goals. To ensure we can do that, we seek talented, qualified employees in our operations around the world regardless of race, color, sex/gender, including pregnancy, gender identity and expression, national origin, religion, sexual orientation, disability, age, marital status, citizen status, veteran status, or any other protected classification under country or local law. Thomson Reuters is proud to be an Equal Employment Opportunity Employer providing a drug-free workplace.
Intrigued by a challenge as large and fascinating as the world itself? Come join us.
To learn more about what we offer, please visit thomsonreuters.com/careers.
More information about Thomson Reuters can be found on thomsonreuters.com.
Meet Some of Thomson Reuters's Employees
Producer, Facebook Live
Stephanie creates innovative video copy for live Facebook feeds, working with reporters right in the office, as well as those stationed all around the world.
Back to top