Senior Software Engineer
Há 16 horas
Porto, Portugal
ISS Tech Team
Tempo integral
46 000 € - 70 000 € Contrato
Grátis com e-mail ou Google
Guarde esta oferta e mantenha a sua pesquisa organizada
Crie uma conta gratuita para guardar ofertas, criar alertas e voltar a este anúncio a partir do seu painel.
Grátis com e-mail ou Google
Ao continuar, aceita os nossos Termos & Política de Privacidade.
Want to know how a leading workplace experience and facility management company is powered by technology?
At ISS Tech Team, we create smarter workplace experiences through technology. Our Global Technology Solutions team builds digital solutions, from sensors and IoT devices to data, analytics and AI-driven capabilities, that support our ISS A/S operations across Cleaning, Workplace, Food and Technical Services. With tech hubs in Copenhagen, Warsaw, and Porto, and teams collaborating across more than 30 countries, our ISS Tech team develops our digital solutions that have a real impact on both our customers and our people.
Location:
Porto, Portugal Work regime: Hybrid The Job Role As Senior Software Engineer (PHP) We build the platform people use to order and pay for food and services at work. It sounds simple. It is not. Behind it are three apps, a PHP backend that moves real money in real time, native integrations with payment terminals, printers, scales and scanners, and a long list of payment, identity and workplace systems that all have to agree with each other. Every receipt has to be right, in every country, under every local fiscal rule. And it runs in production for some of the largest organisations in the world, so when you ship something, people use it the same day. We are also changing how we build software. Specs come first. AI coding assistants and agents are part of everyday work, not a side experiment. We care about moving fast and we care just as much about not breaking things, and we are still learning how to do both at once. One thing we are sure of: the fundamentals matter more now, not less. Clean code, good design, clear domain boundaries and solid tests are what separate an AI-assisted team that ships from one that just produces code. If that sounds like the kind of problem you want to be part of, keep reading. As a Senior Full Stack Developer you will be one of the people the team in Porto looks to when things get hard. You will own features end to end, make the architecture calls on the apps, the backend and the integrations, and take on the thorniest problems around payments, authentication, devices and performance. You will review a lot of code, mentor the people around you, and have a real say in what AI-native, spec-driven engineering looks like here and across our hubs in Copenhagen and Warsaw. What You’ll Do
- Start from the spec. We write down what we are building before we build it, and you will help turn product ideas into clear specs and acceptance criteria that product, QA and your AI tools can all work from.
- Build with AI as a normal part of your day. Coding assistants and agents help us move faster on implementation, tests, refactoring and docs, and you own the result as if you had typed every line yourself.
- Help us get better at this. Context files, prompt and spec libraries, automated reviews, the guardrails that keep us fast without getting sloppy. We are figuring it out together and your ideas count.
- Keep the fundamentals strong. AI does not replace good engineering, it amplifies it. Clean code, design patterns, domain-driven design, SOLID, sensible boundaries and tests you can trust are what make the AI output worth shipping.
- Work on our Angular and Ionic apps (TypeScript, RxJS, SCSS). Three apps, shared libraries, per-customer configuration, theming, and the local and fiscal rules of every country we run in.
- Make the apps talk to real hardware: barcode scanners, NFC, card readers, printers, scales and POS peripherals through Capacitor and native plugins, and ship them with Android Studio and Xcode.
- Build on our PHP backend: Slim, PHP-DI, JWT middleware, mPDF, the Google API client, and the endpoints behind authentication, payments, printing and push notifications.
- Keep authentication solid: JWT access and refresh tokens, SSO with PKCE, exchanging external tokens for our own, API keys for integrations. This is the part where getting it right matters a lot.
- Shape the data model in MySQL/MariaDB, write the SQL, and ship schema changes and migrations without anyone noticing.
- Look after the Management System (PHP and JavaScript), including the Aptic and platform-specific plugins, configuration and access controls.
- Care about quality the way we do: GitLab CI, ESLint, Jasmine/Karma, Cypress, and a Java API test suite (Maven, REST Assured, JUnit).
- Understand how it all runs: Linux VPSs behind a load balancer, dedicated database server, private networks and a high-availability ingress. You will deploy to it and debug it.
- Lead the technical design of new features and integrations. Write the specs, make the architecture decisions, document the trade-offs, and keep us honest about speed versus maintainability.
- Mentor mid-level and junior developers. Lead code reviews, set the standards, and make the team better than it was when you joined.
- Be the technical go-to for product, architecture, QA and business stakeholders, and for
Location:
Porto, Portugal Work regime: Hybrid The Job Role As Senior Software Engineer (PHP) We build the platform people use to order and pay for food and services at work. It sounds simple. It is not. Behind it are three apps, a PHP backend that moves real money in real time, native integrations with payment terminals, printers, scales and scanners, and a long list of payment, identity and workplace systems that all have to agree with each other. Every receipt has to be right, in every country, under every local fiscal rule. And it runs in production for some of the largest organisations in the world, so when you ship something, people use it the same day. We are also changing how we build software. Specs come first. AI coding assistants and agents are part of everyday work, not a side experiment. We care about moving fast and we care just as much about not breaking things, and we are still learning how to do both at once. One thing we are sure of: the fundamentals matter more now, not less. Clean code, good design, clear domain boundaries and solid tests are what separate an AI-assisted team that ships from one that just produces code. If that sounds like the kind of problem you want to be part of, keep reading. As a Senior Full Stack Developer you will be one of the people the team in Porto looks to when things get hard. You will own features end to end, make the architecture calls on the apps, the backend and the integrations, and take on the thorniest problems around payments, authentication, devices and performance. You will review a lot of code, mentor the people around you, and have a real say in what AI-native, spec-driven engineering looks like here and across our hubs in Copenhagen and Warsaw. What You’ll Do
- Start from the spec. We write down what we are building before we build it, and you will help turn product ideas into clear specs and acceptance criteria that product, QA and your AI tools can all work from.
- Build with AI as a normal part of your day. Coding assistants and agents help us move faster on implementation, tests, refactoring and docs, and you own the result as if you had typed every line yourself.
- Help us get better at this. Context files, prompt and spec libraries, automated reviews, the guardrails that keep us fast without getting sloppy. We are figuring it out together and your ideas count.
- Keep the fundamentals strong. AI does not replace good engineering, it amplifies it. Clean code, design patterns, domain-driven design, SOLID, sensible boundaries and tests you can trust are what make the AI output worth shipping.
- Work on our Angular and Ionic apps (TypeScript, RxJS, SCSS). Three apps, shared libraries, per-customer configuration, theming, and the local and fiscal rules of every country we run in.
- Make the apps talk to real hardware: barcode scanners, NFC, card readers, printers, scales and POS peripherals through Capacitor and native plugins, and ship them with Android Studio and Xcode.
- Build on our PHP backend: Slim, PHP-DI, JWT middleware, mPDF, the Google API client, and the endpoints behind authentication, payments, printing and push notifications.
- Keep authentication solid: JWT access and refresh tokens, SSO with PKCE, exchanging external tokens for our own, API keys for integrations. This is the part where getting it right matters a lot.
- Shape the data model in MySQL/MariaDB, write the SQL, and ship schema changes and migrations without anyone noticing.
- Look after the Management System (PHP and JavaScript), including the Aptic and platform-specific plugins, configuration and access controls.
- Care about quality the way we do: GitLab CI, ESLint, Jasmine/Karma, Cypress, and a Java API test suite (Maven, REST Assured, JUnit).
- Understand how it all runs: Linux VPSs behind a load balancer, dedicated database server, private networks and a high-availability ingress. You will deploy to it and debug it.
- Lead the technical design of new features and integrations. Write the specs, make the architecture decisions, document the trade-offs, and keep us honest about speed versus maintainability.
- Mentor mid-level and junior developers. Lead code reviews, set the standards, and make the team better than it was when you joined.
- Be the technical go-to for product, architecture, QA and business stakeholders, and for