Senior software engineer — PHP

Belgrade Software engineer

Who are we looking for?

We're on the lookout for accomplished professionals who resonate with the following:

Firstly, they embrace the daily rigors of managing diverse projects, thriving on the perpetual problem-solving that entails addressing intricacies of various magnitudes.

Secondly, they're ready to step up and become the knowledge-bearers of our company's technology, specifically pertaining to the PHP ecosystem. Their aim would be to uphold the targeted software quality, with an emphasis on sustainable code that adheres to both the company and industry standards, along with ensuring scalability, performance and the overall effectiveness of the entire solution.

Lastly, while they're big on sharing their know-how, they understand there's always room to grow. So they're all in for learning and improving non-stop.

What do we offer?

  • Salary: 3,000–4,000 EUR net depending on the assessed level of competence + annual bonuses
  • Paid initial training that includes the following areas:
    • Company's work processes with a special focus on software design and production
    • Technological policies and knowledge bases
    • Current projects and applied architectures
  • The possibility of shaping your optimal work routine (working hours and place of work)
  • Work with a team of exceptional people ready to openly express their opinions and engage in reasoned discussion
  • Everything else that makes a pleasant working environment

Project responsibilities:

  • Closely collaborate with the Team Lead in planning and executing all phases of software development
  • Together with the Software Architect, work on the design of software solutions and the selection of the optimal technology stack
  • Cooperate with other team members (Project Manager, Business Analyst) in the process of collecting and analyzing user requirements
  • Play a dominant role in solution implementation with a focus on:
    • Development of key system components
    • Code review of parts of the system done by other team members
    • Promotion of good practices, patterns and defined standards equally when creating new parts of the system, as well as when revising and refactoring previously written code
  • Participate in the verification of the software solution and ensure compliance of the implemented solution with the projected solution and with company and professional standards

Application requirements:

  • 5+ years of experience as a software engineer
  • Active, comprehensive and applied knowledge of PHP language, its standard libraries (Eloquent, Doctrine, Guzzle, etc.) and at least one of the dominant frameworks (Laravel, Symfony, Zend, CodeIgniter)
  • Recognizing the importance and the ability to write quality code (primarily readable, maintainable and testable), with the application of significant design principles (KISS, DRY, YAGNI, Separation of concerns, Loose coupling, etc.)
  • Full command of OOP, design patterns, data structures and algorithms
  • Relevant experience working with relational databases
  • Completed four-year studies and obtained a degree in software engineering, information systems and technologies, or computer science

Desirable Experience:

  • In the development of electronic business systems, especially e-commerce
  • Experience with at least one of the leading cloud platforms (AWS, Azure, Google Cloud)
  • In the development of scalable, containerized applications with automated delivery using Docker and Kubernetes platforms
  • In asynchronous programming and microservices
  • Experience with non-relational and graph databases

Preference will be given to candidates who, in addition to their CV, submit a cover letter with a brief depersonalized description of 2 selected projects they have worked on in the last 3 years, with a clear overview of their own responsibilities on them.

What does the selection process look like?

After receiving applications, we will conduct an initial selection of candidates and invite selected ones for a short (half-hour) online interview for a brief presentation and to determine the existence of a mutual feeling of compatibility.

After that, the selected candidates will be invited to a technical interview where the candidate will have the opportunity to present their previous work, the way they think about key topics and specific knowledge gained related to the advertised position. Additionally, the candidate will have the opportunity to get acquainted with the standards, practices and processes applied in our company, as well as additional details related to the position itself.

The final interview involves an open conversation aimed at getting to know each other better and a potential job offer.

We commit to providing relevant feedback to all applicants and interviewed candidates, regardless of the stage of the selection process they have reached (whether they are invited to the next round or are rejected).

Apply Now