Role: Software Engineer [FTE]
Location: Dubai, UAE
Amphora Software. is the premier software solution provider for energy trading, logistics and risk management in the global crude oil, refined products and energy derivatives marketplace. Our team includes some of the most experienced software designers, developers and business analysts in the commodities industry today. Since our inception, our main goal has been to provide the trading community with the most robust, user-friendly, enterprise-wide software package available. We continue to launch new products that address customers’ needs and adjust to dynamic market demands.
Reports to: Head of UI.
Role purpose: 100% FTE allocation development of product UI across modernised products (web native, ReactJS). Contribution to consistent UX across all products and adherence to design standards and high standard of compliance with engineering excellence governance.
Technical Roles and Responsibilities
[SFIA alignment: PROG-L4 | DTAN-L2 | VISL-L3| UNAN -L3 | HCEV-L5 | USEV-L2 | FEAS-L3 | SCTY-L3]
- Front-End Development:
- Design, develop, and maintain responsive web interfaces using React and related technologies.
- Implement reusable components and performance-optimized UI elements.
- Ensure consistent user experience across supported devices and browsers.
- Integration & Data Visualization:
- Collaborate with the back-end team to fetch and display data via RESTful APIs and other integration layers.
- Work closely with ETL processes to render dynamic data visualizations, charts, and dashboards for metrics on counterparties, credit reviews, and exposure computation.
- Collaboration:
- Partner with back-end developers to resolve API integration challenges and optimize data flow.
- Provide input during code reviews and contribute to team brainstorming sessions.
- Performance Optimization:
- Monitor and optimize application performance, focusing on page load speed and responsive UI behavior.
- Debug and resolve front-end issues.
- Quality Assurance & Maintenance:
- Write clean, maintainable, and well-documented code.
- Develop and maintain unit tests for front-end components using tools such as Jest or React Testing Library.
- Stay proactive in identifying areas for improvement and address technical debt in the codebase.
- Adherence to Best Practices:
- Follow industry-standard coding practices, version control workflows, and Agile methodologies.
- Stay up-to-date with React ecosystem updates and emerging front-end trends.
- Designs, codes, verifies, tests, documents, amends and refactors moderately complex programs/scripts.
- Applies agreed standards and tools to achieve a well-engineered result.
- Monitors and reports on progress. Identifies issues related to software development activities. Proposes practical solutions to resolve issues.
- Collaborates in reviews of work with others as appropriate.
- Establishes, modifies or maintains simple data structures and associated components.
- Uses specific data modelling and design techniques under guidance.
- Uses a visualisation product, as guided, to design and create data visuals.
- Selects appropriate visualisation techniques from the options available.
- Engages with the target user to prototype and refine specified visualisations.
- Applies standard techniques and tools for developing user stories and eliciting user experience requirements.
- Organises and structures user experience analysis.
- Works with stakeholders to prioritise requirements and resolve conflicts.
- Selects appropriate tools, methods and design patterns to design user interactions with and experiences of a product, system or service.
- Translates concepts into outputs and prototypes and captures user feedback or evaluation to improve designs.
- Evaluates alternative design options and recommends designs taking into account performance, security, usability and accessibility requirements.
- Interprets and follows visual design and branding guidelines to create a consistent and impactful user experience.
- Assists in preparing and operating the environment, facilities and tools needed to evaluate systems, products, services or devices.
- Assists in the collection of feedback on prototypes and designs from users and others.
- Applies and maintains specific security controls as required by organisational policy and local risk assessments.
- Communicates security risks and issues to business managers and others. Performs basic risk assessments for small information systems.
- Contributes to the identification of risks that arise from potential technical solution architectures. Suggests alternate solutions or countermeasures to mitigate risks. Defines secure systems configurations in compliance with intended architectures.
- Supports investigation of suspected attacks and security breaches.
Other Roles and Responsibilities
- Adherence to the company engineering excellence by following mandated practices and patterns.
- Contribution to security.
- Accounting for personal daily time and attendance.
- Such tasks as the Company may reasonably request from time to time.
Technical Experience and Expertise
- Atlassian JIRA & Product Discovery
- Microsoft Azure DevOps (build, test, deploy) pipelines (with self-hosted agency)
- GraphQL
- Github Enterprise and Microsoft Azure artefact repositories
- ReactJS Developer Tools
- Javascript, CSS and HTML
- Typescript
- REST/GraphQL
- Bootstrap and Material UI
- Apollo Client Devtools
- Redux/Mobx/Zustand global state management frameworks
- Microsoft Visual Studio
- NodeJS
- Yarn
- Azure VPN Client
- SourceTree GUI for Git
- Postman
- Freshdesk FreshService (ITSM)
- 1Password password manager
Skill Set
- Be self-motivated, proactive with thoroughness and attention to detail in communication, documentation etc. without assumption.
- Strategic and analytical thinking with ability to grasp internal and external customer requirements.
- Ability to conceptualize solutions and present ideas to management and stakeholders
- Great communication and negotiations with the ability to be proactive in adapting to technology needs and requirements.
- Organization and time management.
- Excellent written and verbal communication skills with the ability to prepare and eventually deliver presentations to audiences, demonstrating knowledge of domain and technology.
Experiential Requirements
- 8+ years experience developing high quality UI solutions ideally in a commodity trading or financial services industry context and working on an event driven, high transaction volume solution.
- Demonstrable success in delivering features and bug fixes in an Agile project team using SCRUM project methodology.
- Knowledge of and experience in branch-based workflow (GitHub Flow).
- Career long immersion in modern software engineering environment with high frequency deployment eg: with CI/CD utilizing Azure DevOps pipelines.
Educational Requirements
- Bachelors degree in Computer Science, Mathematics or Engineering disciplines from a reputable university.