Remote Job Rocks

Remote jobs for developers, designers, marketers, copywriters, customer support reps, project managers, executives and more.

Senior Java Desktop Engineer at O'Reilly Auto Parts

Senior Software Engineer is a highly skilled software developer with expert knowledge in at least one department or system. They work with a high degree of independence and develop information systems to support the business.  Engineers are primarily focused on the design or integration of various software systems, databases, and third-party packages.


Essential Job Functions



  • Generally takes leadership role in guiding projects through the complete software development life cycle

  • Typical focus is on code design efforts

  • Solid understanding of secure coding techniques and best practices

  • Responsible (takes ownership) for multiple software applications

  • Manage tasks and resources while utilizing modern project management principles

  • Participate or lead the development of multiple projects at one time

  • Conducts code reviews and ensures coding best practices are being followed

  • Recommend software improvements and changes to systems, as needed

  • May approve software to be deployed to production systems

  • Perform software and data analysis to uncover issues and solve complicated problems that typically span multiple systems

  • Lead various meetings to gather software requirements and project details

  • Conduct software demo's to educate and train others in the use of software

  • Debug and correct complex software defects

  • Develop new or modify existing software using coding best practices 

  • Create or update advanced project documentation

  • Test software to validate accuracy of code and high quality software systems


Skills and Qualifications



  • 7+ years of software development experience

  • Advanced understanding of change management and the O'Reilly change control process and procedures

  • Advanced knowledge of Project Development Life Cycle (PDLC) and Software Development Life Cycle (SDLC)

  • Advanced understanding of the software and system(s) supported by their team, as well as the overall company business

  • Ability to lead and get results from others

  • Ability to articulate advanced technical concepts and teach others

  • Ability to effectively multitask

  • Expert software debugging and testing knowledge

  • Advanced understanding of complex computer systems (multiple programs, databases, communications etc)

  • Advanced knowledge of programming, database systems, and systems analysis and design

  • Ability to write advanced technical documentation

  • Advanced problem-solving skills

  • Good verbal and written communications skills

  • Must work well in a team environment,

  • Ability to learn independently

  • Experience with Java desktop application development