Post a job

Principal Software Engineer - Java, Oracle, SQL

C

Location
United States
Base Salary
115k-161k USD
Cotiviti

Job Description

Overview

The Principal Software Engineer is primarily responsible for the architecture and high level design of software applications and reusable software components deployed in the Cotiviti product suite. You will be required to collaborate effectively with architects, developers, offshore development teams, business owners, infrastructure providers, data operations, project management, and other internal stakeholders. You will be relied upon to mentor junior technical team members in the adoption of best practices.

Responsibilities

  • Work closely with product architects to review and influence the application architecture. Monitor the development of the system platform architecture to maintain the consistency and integrity of the platform architecture.
  • Design innovative components within high level architectural blueprints, and articulate reusability best practices to component consumers.
  • Act as technical lead on a wide variety of development projects.
  • Mentor junior team members in proper software engineering methods and techniques, and develop programming guidelines to ensure these methods are accessible to other developers.
  • Continuously develop and socialize best practices for the design and development of scalable and highly available software applications. Review work done by other developers to ensure adherence to the best practices.
  • Work closely with product architects to identify and evaluate new technologies to be leveraged to meet emerging business needs, and play a leadership role in prototyping reference implementations for these technologies.
  • Solid understanding of multi-threaded applications; Concurrency, Parallelism, Locking Strategies and Merging Datasets
  • Completes all responsibilities as outlined on annual Performance Plan.
  • Completes all special projects and other duties as assigned.
  • Must be able to perform duties with or without reasonable accommodation.

Qualifications

  • B.S. Degree in Computer Science or technically related or equivalent
  • Minimum of 8 years relevant industry experience
  • 7+ years of hands-on experience in the design, development of Web based applications
  • Deep expertise in specific coding techniques or languages such as Java (must), C# (preferred), Angular, Scala, Mircroservices, Spring Boot, RESTful services, APIs, TypeScript, ASP.NET, JavaScript, CSS, HTML, jQuery, jQuery UI is a must
  • Experience working with large data sets and libraries of Hadoop ecosystem such as Spark, HDFS, YARN, Hive and Oozie
  • Experience in transforming data using data frames (in memory processing), write sync processes to write data into multiple targets (RDBMS, Hive, HDFS, HBase, HADoop, Snowflake, etc.)
  • Extensive knowledge of best practice design patterns and demonstrated experience applying those patterns in the design, development, and delivery of highly scalable enterprise class systems
  • Strong practical knowledge of third party software application framework, database management systems (Oracle, SQL Server, NoSql), messaging systems (preferably Kafka), operating systems (Linux, Windows), container frameworks (Spring, Docker, Kurbernetes, Openshift)
  • Solid understanding (3+ years) in Memory Management, Garbage Collection & Performance Tuning
  • Experience and working knowledge of distributed/cluster computing concepts
  • Solid understanding and experience in Linux environments; strong knowledge of shell scripting and file systems
  • Works with Business Systems Analysts to ensure programming code meets business requirements.
  • Team Player
  • Experience working in an Agile delivery framework (SAFe preferred)
  • Self-motivated, innovative, and ability to take ownership in concert with his/her manager with little guidance
  • Exhibits intellectual curiosity, emotional maturity, humility, and the willingness to learn and share technical information to enrich and strengthen the organization.
  • Expertise with Single Page Application (SPA) is required.
  • Experience creating custom controls for use with web-based applications is a must
  • Advanced knowledge of unit testing best practices and Continuous Integration processes (CI/CD)
  • Hands-on strong experience with web services technologies such as REST, SOAP or a similar technology
  • 2+ years of experience leading/mentoring engineers and other team members
  • Proven experience designing and implementing large-scale or complex commercial software systems
  • Experience with React, Angular is highly desirable.
  • Previous agile experience a big plus.
  • Knowledge/Experience working with Azure, AWS, SSO is a plus.

Base compensation ranges from $115,000 to $161,000. Specific offers are determined by various factors, such as experience, education, skills, certifications, and other business needs.

This role is eligible for discretionary bonus consideration.

Cotiviti offers team members a competitive benefits package to address a wide range of personal and family needs, including medical, dental, vision, disability, and life insurance coverage, 401(k) savings plans, paid family leave, 9 paid holidays per year, and 17-27 days of Paid Time Off (PTO) per year, depending on specific level and length of service with Cotiviti. For information about our benefits package, please refer to our Careers page.

This role is based remotely, and all interviews will be conducted virtually.

#Senior

Advice from our career coach

A successful applicant for the Principal Software Engineer position at Cotiviti should have a deep expertise in coding languages such as Java and C#, as well as experience with technologies like Angular, Scala, microservices, and RESTful services. To stand out as an applicant, it is important to showcase hands-on experience with web-based applications and large data sets, as well as a strong understanding of design patterns for highly scalable systems. Here are some specific tips to help candidates standout:

  • Demonstrate practical knowledge of third-party software application frameworks and database management systems
  • Show experience with distributed/cluster computing concepts and memory management
  • Highlight expertise in Linux environments, shell scripting, and file systems
  • Showcase experience with Agile delivery frameworks and mentoring team members
  • Demonstrate advanced knowledge of unit testing best practices and Continuous Integration processes

Apply for this job

Expired?

Please let Cotiviti know you found this job with RemoteJobs.org. This helps us grow!

RemoteJobs.org mascot