Position: Principal Java Engineer
Company: Forte group
Category: Java
Experience required: 5y
English level: upper

The Principal Engineer is considered the premier developer on the team. It is therefore your responsibility to engineer solutions within a large-scale platform to enable our client’s business while supporting the strategic architectural vision of quality, scalability, performance, and function.

**Principal Accountability I Technical Planning**
● Owns technical design for a sprint including high-level flow diagrams, ERD, service contracts
● Ensures the whole team understands the technical plan, reasons for it, and adherence to it.
● Considers testability in design with a focus on code determinism, abstraction, and modularity
● Commands a broad awareness of dependent projects and considers them in design
● Works with Enterprise Architects to ensure a team’s direction is in line with the enterprise vision
● Defines technical acceptance criteria (where necessary) for each story
● Integrates the technical PBIs and works with PO/client to justify and schedule those efforts

**Principal Accountability I Software Development**
● Communicates important details of the solution design to everyone on the team
● Encourages collective code ownership through CI and promotes frequent code check-ins (daily)
● Practices and teaches unit test development to achieve at least 80% code coverage
● Addresses technical debt constantly - escalating when it becomes risky to time or quality
● Develops with awareness for team needs and acts as resource/mentor for junior members
● Oversees the merge up/down process
● Carries out root cause analysis on defects to ensure fixes are happening in the right way
● Keeps an up-to-date local development environment to reduce risk

**Principal Accountability I Team Leadership**
● Translate and break down the strategic technical vision into a consumable form for the team
● Assure team productivity meets a high standard that can be quantified
● Low-level development, testing, and deployment tasks have ownership by team members
● Frequently thinks out loud about design with the team and a higher level design committee
● Helps team members define clear, small, and testable tasks
● Enforces the team’s Definition of Done
● Liaises between the team and management to assure needed skills are represented on the team

**Principal Accountability I Software Inspection**
● Ensures daily code check-ins (through spot checks) are happening by each member of the team
● Employs static code analysis to identify code readability, anti-patterns, vulnerabilities defects
● Monitors unit level test results after code are committed and hold a team to account for quality
● Considers cyclomatic complexity of code and drives project refactors where necessary
● Enforces transparency of the inspection process via Continuous Integration and reporting
● Reviews QA test plans for technical coverage
● Conducts cross-team and inter-team code reviews

**We offer**
● Experience working with multicultural distributed teams
● Opportunities for self-realization while working on challenging projects using new technologies and tools
● Friendly and enjoyable working environment with a fully equipped workplace
● Social, corporate and knowledge-sharing events
Possibilities for career development and professional growth
● Medical / family care programs
● Various sports activities and gym membership coverage
● Fully paid 5 sick days yearly