What are the responsibilities and job description for the Principal Software Engineer position at TechDigital Corporation?
Responsibilities:
- Product focus: Closely collaborates with engineering teams to architect and develop resilient; reliable; scalable; secure; compliant; and highly available products -- with plans to mitigate system risk.
- Standards/Best Practices: Identifies, documents, communicates, champions, and drives adoption for: standards; policies; processes; best practices; and aligned software architecture/software engineering points of view.
- Leadership: Encourages positive conflict and discourse within the team to challenge our thinking and ensure the best ideas surface - no matter where they may arise from. Provide technical guidance, mentorship, and feedback to team members to grow overall team capabilities.
- Outcome-Oriented: Displays ownership of outcomes. Provides trusted expertise for effort estimates. Able to provide alternate approach recommendations along with associated tradeoffs / risks where appropriate.
- Technical Roadmap: Participates in refining the technical roadmap to evolve and mature systems and horizontals in accordance with architecture vision, strategy, and goals. Participate in researching new technologies, tools, and frameworks for potential adoption.
- Role is at the same organizational level as Sr. Architect. Strong hands-on technical skillset required.
- Industry Knowledge: Keeps current on industry-standards and brings insights back to the team.
Required Experience/Skills:
- Experience in architecting, designing and developing complex, cloud-native, scalable, performant and highly available distributed systems
- Expertise in microservice architectural patterns and design
- Expertise in Java/Spring Boot
- Expert-level understanding of relational and NoSQL databases (MySQL, Postgres, MongoDB, etc), SQL, and database/schema design
- Experience working with API management platforms (Apigee X)
- Experience with GCP and serverless compute platforms (e.g., Google Cloud Functions)
- Experience with message broker/event queue technologies (e.g. Rabbit, Kafka)
- Strong Computer Science fundamentals in OOAD, SOLID, design patterns, data structures, and algorithms
- Experience with TDD/BDD/DDD using JUnit, Cucumber etc.
- 6 years of experience and expertise in designing, developing, and consuming RESTful API's.
- 10 years of overall hands-on software engineering experience.
- Strong verbal and written communication skills
- 10 years working in software development, and 4 years of software architecture experience.
- Product focus: Closely collaborates with engineering teams to architect and develop resilient; reliable; scalable; secure; compliant; and highly available products -- with plans to mitigate system risk.
- Standards/Best Practices: Identifies, documents, communicates, champions, and drives adoption for: standards; policies; processes; best practices; and aligned software architecture/software engineering points of view.
- Leadership: Encourages positive conflict and discourse within the team to challenge our thinking and ensure the best ideas surface - no matter where they may arise from. Provide technical guidance, mentorship, and feedback to team members to grow overall team capabilities.
- Outcome-Oriented: Displays ownership of outcomes. Provides trusted expertise for effort estimates. Able to provide alternate approach recommendations along with associated tradeoffs / risks where appropriate.
- Technical Roadmap: Participates in refining the technical roadmap to evolve and mature systems and horizontals in accordance with architecture vision, strategy, and goals. Participate in researching new technologies, tools, and frameworks for potential adoption.
- Role is at the same organizational level as Sr. Architect. Strong hands-on technical skillset required.
- Industry Knowledge: Keeps current on industry-standards and brings insights back to the team.
Required Experience/Skills:
- Experience in architecting, designing and developing complex, cloud-native, scalable, performant and highly available distributed systems
- Expertise in microservice architectural patterns and design
- Expertise in Java/Spring Boot
- Expert-level understanding of relational and NoSQL databases (MySQL, Postgres, MongoDB, etc), SQL, and database/schema design
- Experience working with API management platforms (Apigee X)
- Experience with GCP and serverless compute platforms (e.g., Google Cloud Functions)
- Experience with message broker/event queue technologies (e.g. Rabbit, Kafka)
- Strong Computer Science fundamentals in OOAD, SOLID, design patterns, data structures, and algorithms
- Experience with TDD/BDD/DDD using JUnit, Cucumber etc.
- 6 years of experience and expertise in designing, developing, and consuming RESTful API's.
- 10 years of overall hands-on software engineering experience.
- Strong verbal and written communication skills
- 10 years working in software development, and 4 years of software architecture experience.