Our technical team is divided into three squads: two in Paris and one in Montreal. Each team is made up of a Product Manager, a Product Designer, a Team Lead and 3 to 4 developers of varying seniority.
Each squad works on a high-level business objective, which may evolve marginally over the course of the year, with the idea to keep everyone's expertise on certain parts of the application without being too rigid.
All our developers are full-stack, although each may have their own preferences. In order to prioritize Tech objectives, all devs meet every 2 weeks, and everyone can bring points they'd like to discuss. At the end of the meeting, all the prioritized points will be addressed in the following sprints or defined as objectives for the next 2-month period. We measure the effort put into Tech points as well as Product points to try and keep a good balance between Product velocity and Tech scalability.