Principal Engineer

APPLY 

Summary

The Principle Engineer is responsible for working on OPIE Software’s product suite from top to bottom while creating and enhancing capabilities in various modules. The Principle Engineer will also be the chief problem solver within the department.

Essential Functions:

  • Identify the best new approaches for the organization and take the responsibility of training new engineers on how to implement it
  • As a part of agile team, implement new features according to the requirements while adhering to the highest professional development standards
  • Handle all phases of software development including requirements definition, design, architecture, development, testing, and deployment to bring cutting edge technologies to the market
  • Solve interesting technology and usability challenges; be involved in design discussions, coding on the backend, and working heavily with the database
  • Ensure applications receive thorough unit, system, and integration testing
  • Provide solution support and troubleshooting following deployment
  • Contribute to future direction and vision of the product suite
  • Provide support in all phases of SDLC and ensure to deliver high-quality products
  • Lead the team in all the SDLC activities and provide necessary assistance and optimal technical solutions
  • Participate as an evangelist in the organization for newer methodologies, tools and frameworks as required
  • Provide technical guidance in software design and development activities as well as provide trainings and mentor other Engineers when required
  • Work with QA team in preparing test cases, plans and procedures
  • Work with other Engineers in planning, prioritizing, and executing assigned tasks within deadlines
  • Analyze and troubleshoot application issues in a timely fashion
  • Assist in risk assessment and mitigation activities
  • Provide estimates and projects implementation breakdowns
  • Recommend new technologies to ensure quality and productivity
  • Attend team meetings to communicate product status
  • Constantly strive to hit the right balance between simplicity and flexibility
  • Ensure available technology is fully leveraged
  • Support our engineers by being the go-to-person for questions but never be a bottleneck, see around the corner and anticipate developers’ needs, knowledge-transfer sessions and generally evangelize the platform

Required Knowledge, Skills, and Abilities:

Knowledge:

  • S. in Computer Science, Computer Engineering, Information Systems, Electrical Engineering, or closely related field with 5 years of demonstrated experience in a software development role
  • The experience in software development must include the following:
    • A minimum of 5 years of demonstrated experience in Service Oriented Architecture (SOA) and enterprise application integration (EAI) concepts and development
    • A minimum of 5 years of demonstrated experience exhibiting strong object-oriented programming skills
    • A minimum of 5 years of demonstrated development experience using SQL
    • A minimum of 5 years of demonstrated experience with performance optimization and troubleshooting of JavaScript applications
    • A minimum of 5 years of demonstrated experience working with application servers
    • A minimum of 5 years of demonstrated experience in the full software development lifecycle using an Agile development process
    • A minimum of 5 years of demonstrated experience working with CI, CD and DevOps practices
  • Deep knowledge and ability to build high performing, scalable, and reliable services
  • Solid knowledge of storage systems
  • Vast data integration knowledge
  • Strong knowledge of different testing tools, libraries, and databases
  • In-depth knowledge of Software development platforms, integration platforms, engineering collaboration and quality tools and practices
  • Deep understanding of system performance trade-offs, load balancing, and engineering for high availability
  • Extensive experience with database design, queueing, caching, containers, APIs, security and the operational aspects of running large systems

 

Abilities:

  • Proven record of building software components and muti-threaded services
  • Ability to quickly learn techniques as well as upgraded versions of old ones
  • Prolific software writing skills
  • Testing and debugging skills
  • Ability to understand complex business problems and offer technical solutions
  • Domain driven design and event storming-based planning
  • Passionate about creatively solving business problems
  • Effectively prioritize and execute tasks in a high-pressure environment
  • Capable of driving and delivering thin slices of end-to-end functionality on a regular cadence with data-driven feedback loops
  • Research ability preferred

How to Apply

How to Apply

Send your resume to our career center on ADP, and include a cover letter that describes why you feel you would be a good fit for our company and the position you are applying for. Keep in mind that we are interested not only in your background and skills, but also in who you are and how you would fit into our team and our vision.

We are passionate about creating a culture inside and outside of our organization that promotes personal and professional growth, constantly challenges the status quo, and of course incorporates a little fun!