Lead Software Engineer
Company | Clarivate |
---|---|
Location | Lowell, MA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s |
Experience Level | Senior |
Requirements
- Master’s degree in Computer Engineering, Computer Science, or a related field plus a minimum of 5 years of software development experience
- Alternatively, a Bachelor’s degree in Computer Engineering, Computer Science or a related field plus a minimum of 7 years of software development experience
- Minimum of 5 years of experience in Isomorphic SmartClient framework
- Experience with software version Management tools including: GitHub and Bit Bucket
- Experience in building web services and Remote Procedure Call (RPC)
- Deep understanding of distributed systems design
- Deep knowledge of Object-oriented software design and development
- Deep knowledge of front-end technologies (HTML, CSS, AJAX, XML)
- Minimum of 5 years of experience with relational database systems like Postgres or SQL Server
- Experience conducting code and architectural reviews
Responsibilities
- Gather user requirements to determine feasibility of design within time
- Implement the design and architecture of the software application using advanced Javascript framework
- Experience in Isomorphic SmartClient framework
- Design and develop the server layer of the application including CRUD (Create, Read, Update, Delete) operations using Postgres or SQL Server database
- Design and develop custom ETL process using Java and Javascript frameworks
- Design and develop the middle layer of the application for communication to the Postgres database using Java libraries and Remote Procedure Call
- Design and develop the client layer of the application including login, detailed usage and security aspects of the product using Java, JavaScript, HTML, CSS
- Architect and produce efficient, clean, and reusable code with automated tests
- Integrate software components and third-party tools
- Redesign existing code to correct errors, optimize system’s performance, and improve scalability
- Create or update technical documentation for operational process, procedures, and environment configurations including the software architecture and design decisions
- Define and implement databases and workflows
- Define and implement a strategy for testing new features
- Direct and execute software system testing and validation procedures
- Communicate information about the Software system design and maintenance to the project management team
- Coordinate and verify software system installation, including operations to ensure proper functioning
- Conduct code and architectural reviews
- Collaborate with team of engineers and project managers to determine scopes of work, provide estimates and meet deadlines
- Provide guidance to other engineers to drive quality and deliverables
Preferred Qualifications
-
No preferred qualifications provided.