Senior Software Engineer (Remote)

Remote, Full time

PMI is recruiting a Senior Software Engineer (Remote) 

  PMI is reinventing itself, from traditional on-prem services focused on stability and resiliency, to modern applications running in the cloud, focused on speed and agility.

About: At PMI, they’ve chosen to do something incredible, transforming their business, and building the future on smoke-free products with the power to improve the lives of a billion smokers worldwide. This is only possible, thanks to an investment on Technological improvement and researching on several areas and projects. They are building a state-of-the-art cloud platform called “DEEP” which includes a secure cloud landing zone and a set of advanced engineering tools that allows software developers to quickly build and operate differentiating applications to empower the company. DEEP will be the pillar of the IT ecosystem in the cloud and is a core component for IT transformation.

Who are they looking for:

  • Understand product area of focus, how it fits into the overall business and sometimes makes improvements or suggestions for it;

  • Drive alignment by having conversations based on engineering strategy and principles with your teammates when appropriate, strongly oriented towards working to the same goal as a team;

  • Strive to be objective and continuously reflect on your own biases when making decisions, holding yourself accountable for decisions and outcomes;

  • Understand your work domain, sharing knowledge frequently with your teammates, and contributes to the team’s documentation, creating an organic culture for opportunities to share knowledge;

  • Able to communicates effectively, clearly, concisely, and in an audience-oriented way in written and verbal form both technical and non-technical stakeholders;

  • Before beginning work, ensure that tasks are appropriately sized for continuous integration and incremental delivery with help from teammates and the manager;

  • Understand the importance of security, utilizing this knowledge to input on making decisions that may have security implications;

  • Consistently design code that is aligned with the overall service architecture, utilizing abstractions and code isolation effectively;

  • Use a systematic approach to debug issues located within a single service;
    Understand the testing pyramid, able to write unit tests in accordance with it, as well as higher-level tests with support if required;

  • Consistently write functions that are easily testable, easily understood by other developers, and accounts for edge cases and errors, with the ability to uses docstrings effectively;


  • Are passionate and experienced about software development - in particular, advanced with Python development;

  • Have experience with microservices for our front-end and back-end;

  • Have experience working on a large-scale system. Making it faster, more scalable, and fault-tolerant;

  • Know about systems architecture;

  • Highly collaborative and love participating in code reviews and discussions about architecture, and design;

  • Are thoughtful about product design, with good user experience instincts;

  • Are knowledgeable about design patterns and testability; having experience with performance testing, and unit testing is very welcome;


Want to know more? Get in touch with us 👇

Apply to Job
Full Name*
LinkedIn Profile*
Are you currently living in Portugal?*
Yes   No