Youtap Technology is responsible for the development of its three flagship products:
-
Digital Finance
-
Merchant Payments
-
Loyalty and Promotion
Youtap employs various development stacks to create the products and subsystems related to its core operations:
-
Mobile Development: Flutter is the primary platform, with Kotlin, Swift, Java, and Objective-C used in the past.
-
Front End Web Development: Utilizes React and Angular, with some versions of Angular dating back to version 1.
-
System of Record (Core): Each product is constructed on a foundation of microservices, predominantly employing Java and Spring Boot.
The following link takes you to the Youtap Tech Development confluence page.
Bitbucket Pipelines - Development - Confluence
Micro-service and Data storage patterns - Development - Confluence
Technical Design
All new products and features undergo a comprehensive technical design review, ensuring the following aspects are addressed:
-
Security
-
Personal Information/Privacy
-
Architecture Review
-
Data Model Review
-
Workloads/Performance
-
Redundancy/High Availability
-
Impact Analysis
Technical Design Approval (TDA) is a mandatory prerequisite for the base product.
Technical Design Authority - Architecture - Confluence
Code Review Process
Team-specific channels are established for each technology stack. All merge requests are initiated in GitLab and then discussed in team communication channels. Code reviews are conducted informally and necessitate approval by at least two individuals. Each squad is primarily responsible for managing its own code reviews, although anyone within the technology stack team, be it Java, Flutter, or any other, can participate in the review process.
Legacy Code
A significant portion of Youtap's code has undergone rapid and lean development cycles. The transition to a more Agile and product-driven approach represents a new mode of operation. In many instances, the existing code lacks unit tests and comprehensive design documentation. To address this, as new code changes are required, the existing code is documented, and unit tests are incorporated.
Test-Driven Development
Promoting test-driven design and development is essential for building more reliable and extensible products. Design sprints are instrumental in outlining the development process, emphasizing the interplay between test automation and developers. This approach prioritizes the construction of a robust framework and error handling mechanisms before gradually integrating additional features as the code evolves and matures.
KPI’s and Time sheeting.
The provided link directs you to the Youtap Development Confluence site, where you can find information detailing the expectations for a developer's role.
Managing timesheets with Jira - Development - Confluence (atlassian.net)
Owner: @Unknown user