A Senior Software Engineer at ARCOS is a customer-oriented, quality-first tactician who leverages experience across a wide range of technologies to inform architectural choices, improve continuous integration/deployment, and improve our code base's security, scalability, readability, and testability. The scope of this position includes all activities during the development life cycle while meeting the design guidelines, quality standards, and customer expectations

As a Senior Software Engineer, you:

  • Advocate for the quality of your team's code
  • Create and maintain unit tests
  • Are a trusted advisor to your peers and mentor less-experienced engineers
  • Add to technical discussions with a keen ability to spot problems before they arise
  • Develop solutions with a focus on optimal performance
  • Propose and implement improvements to the development process, software development life cycle, and deliver value to our customers
  • Are helpful in supporting the success of technical and non-technical team members
  • Are aware of changes in the software development market and identify cutting-edge tools and/or practices that could help us develop better solutions
  • Spend time helping improve the technical knowledge and ability of other engineers
  • Strive to make ARCOS products accessible to any user without compromise.

Duties and Responsibilities

  • Ensure software written is deemed readable, maintainable, and efficient by co-workers in the development team.
  • Analyze and resolve software development issues and needs regarding the software's full life cycle. 
  • Are a Subject Matter Expert (SME) for and assist in executing internal training, development tools, and support documentation for tasks worked on.
  • Lead projects such as internal process improvement (to align us to industry best practices) or product improvements (new functionality, redesign existing functionality, technology upgrades, etc.)
  • Operate in an Agile Scrum environment, including participating in daily stand-ups and other Agile ceremonies (spring planning, backlog grooming, and retrospective)
  • In-depth knowledge of the products assigned to and able to effectively communicate and share knowledge with peers or project team members
  • All other duties and responsibilities as assigned.

Desired Education, Skills & Experience

  • Bachelor's degree in Computer Science, Mathematics, Electrical Engineering, or equivalent knowledge/experience
  • Minimum of 5-7 years of software development experience in a high-availability web application
  • Minimum 4 years of experience building and maintaining web applications including front-end, server-side, and database code
  • Minimum 3 years of experience building and/or maintaining internal-facing and external-facing APIs
  • Demonstrated experience building configurable applications to support multiple customers
  • Experience with high-scale databases and cloud computing platforms
  • Experience and ability to develop, debug, and design with some of the following technologies: Oracle, PostgreSQL, Java, J2EE, HTML, JSP, JavaScript, Web services, REST, JSP, Linux, XSLT, and AJAX, and other technologies as platform scales
  • Experience with JavaScript frameworks such as React, Angular, and Vue is a bonus
  • Proven success at meeting deliverable deadlines at measurable levels of quality
  • Proven ability to communicate effectively with management and cross functional team members
  • Good written and verbal communication skills
  • Good general knowledge of and experience in Internet technology and software development lifecycle, including current industry trends and their application
  • Demonstrated experience building configurable applications to support multiple customers.


JavaScript (Programming Language)
Spring Boot
Java (Programming Language)
Java Platform Enterprise Edition (J2EE)