- Company Name
- OpenText
- Job Title
- Senior Principal Software Engineer
- Job Description
-
**Job Title:**
Senior Principal Software Engineer
**Role Summary:**
Senior Principal Software Engineer is a technical leadership role responsible for end‑to‑end design, architecture, and delivery of high‑scale, secure, and distributed software solutions. The role drives engineering best practices, mentors developers, manages cross‑functional projects, and ensures technical excellence across multiple concurrent initiatives.
**Expectations:**
- 15+ years of professional software development experience.
- Proven expertise across the full SDLC with multiple methodologies.
- Demonstrated ability to lead complex, multi‑project initiatives and mentor engineering teams.
**Key Responsibilities:**
- Define and enforce technical direction, architectural standards, and engineering practices for multiple projects.
- Own solution, integration, security, and physical design; review and approve design artifacts (SDD, ERD, architecture docs).
- Estimate project effort and resource needs; monitor progress and report status to stakeholders.
- Lead development of Java/JEE microservices, REST APIs, and associated front‑end components.
- Conduct code reviews, enforce coding standards, and maintain high code quality throughout the lifecycle.
- Mentor and coach junior and senior engineers, fostering knowledge transfer and career growth.
- Identify risks, propose mitigation strategies, and monitor implementation.
- Research emerging technologies, evaluate tooling, and recommend upgrades.
- Perform performance tuning, debugging, monitoring, and JVM optimization.
- Provide on‑call production support when necessary.
- Collaborate closely with product, QA, operations, and security teams to ensure alignment.
**Required Skills:**
*Programming & Frameworks*
- Java 8+ (Java SE/EE), Spring (5+), Hibernate (5+), JEE Web services (Servlet, JSP, EJB, JMS).
- RESTful microservices, Spring MVC/REST, and implementation of API gateways.
*Architectural & Design*
- Design patterns, Soa, Domain‑Driven Design, UML, BPM techniques.
- Distributed & multi‑threaded systems, database‑centric architecture (Oracle, MySQL, PostgreSQL).
*Front‑End*
- Modern JavaScript frameworks (Angular, React or Vue), HTML5, CSS3, Ajax, and templating engines (Freemarker).
*Development Practices*
- Test‑driven development, unit/ integration testing (JUnit, Mockito), code quality tools.
- Build & CI/CD tools (Maven, Gradle), version control (Git, SVN).
*Middleware & Runtime*
- Messaging: IBM MQ, ActiveMQ, Kafka.
- In‑memory caching: Hazelcast, Redis (preferred).
*Deployment & Operations*
- Containerization & orchestration (Docker, Kubernetes).
- Performance testing, log management, JVM tuning, monitoring tools.
*Platform & OS*
- Windows, Linux, Unix environments; application servers (WebLogic, Tomcat, WildFly).
*Data & Security*
- SQL/PL/SQL, stored procedures, data modeling, secure coding, authentication/authorization.
*Soft Skills*
- Strong communication, critical thinking, stakeholder facilitation, hands‑on leadership.
**Required Education & Certifications:**
- Bachelor’s (or higher) degree in Computer Science, Software Engineering, or related field.
- Preferred certifications: Oracle Certified Professional (Java SE), Spring Professional Certification, or equivalent.
---