ELEKSSoftware Engineering and Development Officeis looking for a Senior PHP (Symfony) Software Developer in Poland, Croatia.
ABOUT PROJECT
Our client is a French company that aims to revolutionize digital payments in Africa. The customer's team is ambitious and hard-working, consisting primarily of senior-level specialists. We develop innovative solutions for Guinea that help them with money transfers and cashless payments. The app is constantly in top positions in its category on the marketplace with over 10K installations per day.
REQUIREMENTS Strong experience with PHP 8.3/8.4Proficiency with Symfony 6.4 / 7.xDeep knowledge of PostgreSQL 13+Practical experience with RedisExperience with RabbitMQExperience with AWS services (ECS/Fargate, EC2, Auto Scaling, Secrets Manager)Experience building CI/CD pipelines with GitLab and DockerPractical experience with PHPStan, PSR-12, ECSExperience with PHPUnit and Foundry NICE TO HAVE Experience operating services on FrankenPHP/Caddy and Nginx + FPMExperience with CodeceptionKnowledge of of DDD, modular architectures, and boundary enforcement (Deptrac)Experience with microservice architectures or asynchronous workflowsFamiliarity with event-driven systems, DLQ/ACK/NACK mechanics, routing, and the outbox patternUnderstanding of high-concurrency patterns (race conditions, data consistency, audit trails)Experience working with feature flags (Unleash) RESPONSIBILITIES Develop solutions and algorithms according to technical specifications or other requirements documentation; use standard algorithms in the applicable casesWrite program code according to the defined application architecturePossess knowledge of software development methodologies (Waterfall, Agile, etc.)Structure and format the source code, comment and mark up the code, as well as name variables, functions, classes, data structures, and files according to the company conventions and industry best practicesImplement code refactoring and optimization methods. Post refactoring and optimization results to thecollective knowledge baseas the best practicesModify existing software code and test its availability. Analyze software code compliance with readability and performance standardsUse version control systems to track code optimization progress, as well as to merge or split code entities. Commit changes according to version control rulesPerform analysis, verification, and debugging of the software code at the level of application unitsDevelop procedures to test code availability, collect diagnostic data, generate test data sets with desired characteristics; examine the required software characteristics etc.Reproduce defects logged in the defect database, establish their causes, and modify code to eliminate defectsDetermine software product compliance with the technical requirementsCollect and analyze results of software tests. Deliver correct interpretation of diagnostic data; analyze the significance of the obtained software characteristics; can document test results. Assess software product availabilityDevelop, document, and edit programming interfaces, software modules and components assembling procedures, software deployment and update procedures as well as data migration and transformation (conversion) proceduresAssemble software modules and components into software product; connect software product to the external environment. Test availability of software product versionsAnalyze variants of software requirements implementation; evaluate their time-consumption and workload. Conduct assessment and justification of the solutions recommended for software requirements implementationApprove technical requirements for software with stakeholders. Evaluate and justify terms of task completion. Assign tasks to developers, monitor task implementation. Provide training on the projectHave valid competence-related certificationsParticipate in conducting of internal staff testing (“matrix”), organization of lectures, seminars, developers’ talks, knowledge sharing sessions, and other forms of trainings for developersParticipate in conducting of external training (Academies) for students and staff from regional offices etc. WHAT YOU WILL GET WITH ELEKS Close cooperation with a customerChallenging tasksCompetence developmentTeam of professionalsDynamic environment with a low level of bureaucracy