ELEKS Software Engineering and Development Office is looking for a Senior PHP (Symfony) Software Developer with strong cloud technology knowledge, particularly AWS, in Poland, Croatia.
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.
Technology Stack:
PHP 8.1, Symfony 5.4 (LTS), PostgreSQL, Symfony Messenger and RabbitMQ (for SMS and emails), REST API (for mobile apps), Twig templates (for admin panels).
Quality tools: PHPStan, PHP-CS-Fixer
Mobile apps: Flutter both for iOS and Android
CI/CD: Automated CI/CD on GitLab
AWS
Team Description: 3 Senior Developers, including Team Lead, 1 Designer (Eleks side); 3 Developers, PM, Designer (Customer side)
REQUIREMENTS
- 5+ years of experience with PHP
- 2+ years of experience with the Symfony framework
- Strong experience with API development
- In-depth knowledge of PostgreSQL and Doctrine ORM
- Experience with Codeception testing framework
- Familiarity with Symfony UX and Twig
- Strong experience with AWS services (ECS, ECR, EC2, S3, Secret Manager, IAM, RDS, MQ, ELB)
- Hands-on experience with setting up/refactoring/optimizing CI/CD processes
- Experience with containerization (especially managing user roles and permissions on EC2 containers)
- Experience with message queueing systems, specifically RabbitMQ
- Basic scripting skills (python)
- Knowledge of monitoring tools like DataDog and Sentry
- Experience with Ansible is a plus
- Upper-intermediate level of English
RESPONSIBILITIES
- Develop solutions and algorithms according to technical specifications or other requirements documentation; use standard algorithms in the applicable cases
- Write program code according to the defined application architecture
- Possess 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 practices
- Implement code refactoring and optimization methods. Post refactoring and optimization results to the collective knowledge base as the best practices
- Modify existing software code and test its availability. Analyze software code compliance with readability and performance standards
- Use version control systems to track code optimization progress, as well as to merge or split code entities. Commit changes according to version control rules
- Perform analysis, verification, and debugging of the software code at the level of application units
- Develop 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 defects
- Determine software product compliance with the technical requirements
- Collect 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 availability
- Develop, document, and edit programming interfaces, software modules and components assembling procedures, software deployment and update procedures as well as data migration and transformation (conversion) procedures
- Assemble software modules and components into software product; connect software product to the external environment. Test availability of software product versions
- Analyze variants of software requirements implementation; evaluate their time-consumption and workload. Conduct assessment and justification of the solutions recommended for software requirements implementation
- Approve technical requirements for software with stakeholders. Evaluate and justify terms of task completion. Assign tasks to developers, monitor task implementation. Provide training on the project
- Have valid competence-related certifications
- Participate in conducting of internal staff testing (“matrix”), organization of lectures, seminars, developers’ talks, knowledge sharing sessions, and other forms of trainings for developers
What will you get with ELEKS
- Above average compensation
- Close cooperation with a customer
- Challenging tasks
- Competence development
- Ability to influence project technologies
- Projects from scratch
- Team of professionals
- Dynamic environment with a low level of bureaucracy
ELEKS is a custom software development company. We deliver value to our clients, thanks to our expertise and experience gained from working as a software innovation partner since 1991.
Our 2000+ professionals located in the Delivery Centers across Eastern Europe and sales offices in Europe and North America, provide our clients with a full range of software engineering services. These include product development, QA, R&D, design, technology consulting and dedicated teams.