PHP Developer (Senior)

Job description

We are looking for experienced PHP developers for backend programming tasks. You will support our new developments on the backend side, as well as maintain our existing systems in a modern, microservice-based (SOA) architecture.

  • Development of PHP microservices
  • Writing high quality, reusable, „clean” code
  • Writing tests
  • System designing
  • Recognizing and fixing architecture related issues, performance optimization
  • Database designing
  • Database query optimization

What we offer

  • Experience and performance-based salary
  • Bonus system
  • Travel voucher and paid extra leave (if company-level annual targets are met)
  • Challenging and interesting problems to solve
  • Full time employment
  • We support home office and remote work
  • Quiet & convenient work environment
  • High performance DELL and HP workstations with 2 or more monitors
  • Atlassian (Jira, Confluence, BitBucket) and JetBrains based software stack
  • In-house workshops and English courses
  • Traveling opportunities (mainly US)

About Us

Seattle based ICF Technology Inc. is the owner - developer of one of the world’s most visited online streaming platforms, serving 200M+ of users globally. Out of its offices in 4 countries, the company is employing 500 people.

The Budapest office opened its doors in 2019 with the goal of increasing the company’s development capacity, now at a global level.

Building on top of the tested, successful, American style and developer oriented structure of ICF Technology, we are focusing on building a successful team in Budapest too, playing an instrumental part in the development of the company’s services and the shaping of its future.

Job requirements

Required technical knowledge

General software developer skills

  • Algorithmic complexity, basic algorithms
  • Memory management fundamentals (heap, stack)
  • Exception handling
  • Clean code concepts
  • Understanding of the more frequently used UML diagrams (class diagram, activity diagram, deployment diagram)
  • User-level experience with Linux (SSH, Bash, permission management)
  • Git fundamentals:
    • Commit, push fetch
    • Branches; creation of merge commits

Object oriented programming

  • OOP fundamentals, polymorphism, abstraction
  • Design patterns: MVC, Dependency Injection, Adapter, Factory
  • SOLID concepts

PHP knowledge

  • Experience in at least one modern PHP framework (eg. Symfony, Laravel, Yii)
  • Experience in a modern templating system (eg. Twig)
  • Experience in a modern ORM solution (eg. Doctrine, Eloquent)
  • Types, type juggling
  • Comparison operators
  • Understanding of the basic LAMP stack
  • PHP OOP quirks & features
  • Error handling
  • Performance optimization techniques and tools

Databases

  • Database anomalies, normal forms, normalization
  • Entity-Relationship diagrams (design and reading)
  • Foreign keys, unique keys, contraints
  • Indexes
  • Concurrent data handling anomalies, transactions
  • Writing complex SQL queries
  • Optimizing SQL queries for performance

Advantages

  • Experience with Redis, Memcached, Elasticsearch
  • Experience in unit testing (eg. PHPUnit)
  • Experience in functional testing (eg. Behat)
  • Good knowledge of PHP extensions (eg. GD, bcmath, mbstring)
  • Web services (eg. SOAP, JSON REST)

Soft Skills

  • Intermediate level English (written, spoken)
  • Good communication skills
  • Proactive, solution oriented approach
  • Willingness to work in a team