![Marine Software Engineer](/images/mcswf_marine.png)
SOFTWARE ENGINEER
Software Development Engineers are responsible for creating, refining, and launching applications. They prioritize high availability, minimal latency, and scalability. Their approach is to first implement user stories from the backlog and adopt a test-first methodology. This strategy helps them to ensure that the software is free of bugs or security vulnerabilities. Additionally, Software Engineers engage in eXtreme Programming (XP), a collaborative method where pairs of engineers simultaneously work on the same code segment. This facilitates knowledge sharing and context understanding.
![Marine Product Designer](/images/marine_product_designer.png)
PRODUCT DESIGNER
Product Designers, specializing in UI/UX, play a vital role in guiding application teams to develop products that meet user needs. They serve as the primary link between the user and the team, utilizing a wide range of skills, including user research, experience and interaction design, and visual design. Designers skillfully filter user feedback, focusing their teams on the most pressing user concerns. Working within a balanced team alongside Product Managers and Engineers, UI/UX Designers engage in a collaborative process. They help set design priorities, refine project backlogs and roadmaps, and assess the technical feasibility of their design proposals.
![Marine Product Manager](/images/marine_pm.png)
PRODUCT MANAGER
Product Managers play a key role in balancing user requirements, organizational goals, and technical feasibility. They aim to create value quickly, while taking a strategic and comprehensive approach. In our collaborative environment, Developers, Designers, Product Managers, and Platform Engineers work together as a cohesive, flat team structure to create software solutions that meet the needs of FMF Marines. Product Managers are responsible for creating user stories based on new features identified by Designers through user interviews, managing the product backlog, and ensuring that Developers' output aligns with the initial product vision. Their role is crucial in maintaining the team’s momentum and mitigating risks through hypothesis-driven development strategies.