Summary of Position:
The Principal Software Development Engineer will have expert knowledge in Java service development. This role requires a deep understanding of process threading, asynchronous execution methodologies, and a proven track record of leading large-scale software projects. The Principal Software Development Engineer will be a technical leader who drives project initiatives and mentors team members to achieve excellence in every aspect of software development.
Essential Functions:
- Design, develop, and maintain robust Java services using industry best practices
- Lead the architecture and development of scalable and high-performing backend services
- Ensure the quality of architecture and design of systems
- Leverage performance profiling and log analysis to understand system behavior
- Approach every customer engagement with a profound commitment to their success
- Deliver clear written communication of technical designs and solutions
- Analyze and improve the efficiency, scalability, and stability of system resources
- Implement advanced process threading and asynchronous execution models
- Collaborate with cross-functional teams to integrate various software components into a cohesive system
- Manage junior developers and engineers, promoting technical growth and excellence, including hiring, terminating, and all aspects of performance management
- Stay abreast of the latest industry trends and technologies, applying them to improve existing solutions
- Drive the research, evaluation, and adoption of new tools and frameworks
Competencies:
- Ensures Accountability
- Tech Savvy
- Communicates Effectively
- Values Differences
- Customer Focus
- Resourcefulness
- Drives Results
- Plans and Prioritizes
- Decision Quality
- Self-Development
Work Environment
This position is based in a professional office setting and regularly utilizes workplace technology, including computers, smartphones, multi-function printers, cloud-based filing systems, and collaboration tools.
Physical Demands:
This role requires physical capabilities that support the successful execution of key responsibilities. The employee regularly engages in verbal and written communication with colleagues and clients to address project-related inquiries and must be able to convey accurate information clearly and efficiently. The position involves remaining seated at a workstation for approximately 75% of the time, with occasional movement throughout the office to access equipment, supplies, and shared resources. Daily tasks include consistent use of computers and standard office technology such as keyboards, printers, and multifunction devices. The role also involves transporting equipment boxes weighing up to 25 pounds within the building and to other offsite locations as needed for project support.
Required Education and Experience:
- Bachelor s degree
- 10+ years of experience
Qualifications:
- Bachelor s or Master s degree in computer science, engineering, or a related field preferred. Equivalent experience is also considered
- 10+ years relevant working experience and 5+ years as an engineering lead, especially for a large and complex software project
- Experience building and supporting complex, high-concurrency SaaS products, from the lead developer or architect role
- Deep understanding and direct knowledge of software scalability and stability techniques for cloud-based software
- In-depth knowledge of various database technologies including relational (SQL) DBs AND non-relational (NoSQL) DBs
- In-depth knowledge of Java required
- Proficient in process threading, asynchronous execution, and concurrent programming.
- Experience with cloud-based hosting solutions necessary AWS, Azure, Google Cloud Platform
- Experience with Big Data, Machine Learning, and Software-defined Network is a plus
- Understanding of software quality assurance principles
- High-quality organizational and leadership skills
- Outstanding communication and presentation skills