Software Engineer (multiple levels)

Job description

Meight is a real-time data science company that performs analysis for driving optimization. Meight provides a mobile app that fits the truck driver's cockpit and performs everyday training on the job. With Meight technology, trucking companies can reduce fuel consumption and CO2 emissions by up to 20%, thus increasing efficiency and reducing hazardous gas emissions.

We're looking for Software Engineers to join our Product Engineering Team. The PE team is part of the Product Team, in charge of building all infrastructure and digital products of Meight. We are after talent, keen interest and experience in one of following domains of software engineering:

  • DevOps (cloud, automation)
  • Backend (apis, data pipelines)

The role of Software Engineer at Meight
There are many elements and nuances on being a Software Engineer at Meight, but ultimately it comes down to:
“Creating high performance and maintainable code to deliver tested and well documented functionalities, while advocating for software development best practices to the community and the organization, to teams and new members.”

Underpinning this, there are 4 Skill Areas that we explicitly set expectations for and judge performance against. These are

  • Technic
    • Domain knowledge: Software Engineers build the inner working of every product and service in Meight. Applying the appropriate tools and frameworks given the present and foreseen context of teams and tasks is key to an effective and maintainable delivery.
    • Architecture: Software Engineers develop and assemble the technology stacks powering both backend and frontend. Leveraging the trade-off between centralized and decentralized architectures is key to keep engineering efficient and agile.
  • Execution
    • Testing: Software Engineers have their code covered by default. Unit, Integration and Instrumentation Testing is seen as the contract, the source of truth, between code and its functionality.
    • Readability: Software Engineers understand software life cycle doesn’t end when a feature is delivered. Code user experience is ever more important. Shipped code is designed to be easily understood, maintained, learned from, and easily refactored by ourselves and by others colleagues, long after it was finished.
  • Delivery
    • Planning: Software Engineers understand when to be scrappy and when to be thoughtful when designing a new feature. Measuring individual and collective effort in advance is a tough art Software Engineers strive to master.
    • Engineering Process: Software Engineers engage regularly in tasks to promote cross-check of knowledge, quality, visibility and awareness such as architecture reviews, code reviews and pair programming.
  • Mentorship
    • Onboarding: Software Engineers understand software qualifies as one of the most iterative and fast paced industries in modern economy. Thus, they understand their critical role in bringing quickly and effectively new members up-to-date to the code-base and best practices. 
    • Advocating: Software Engineers are the immediate logic layer between the user and the organization and strive to advocate the high-quality standards and objectivity of their processes to the rest of the organization. 



You will be:

  • sharing ideas and proposing features to product and engineering managers

  • enabling our technology to reach its users

  • developing software to crunch millions of data points per day

  • keep software engineering clean by applying good chess moves



You should be able to check in some of following:

  • a Bachelor or Masters in Computer Science, Software Engineering or similar

  • naturally self-driven, proactive, systematic, well organized and rigorous about details.

  • experience in API development

  • experience with CI/CD (on the cloud is a plus)

  • experience in Unit || Integration Testing

  • experience in TDD || BDD

  • experience with AWS

  • experience with NoSQL databases

  • experience with Docker

  • worked in a team of 4+ 

  • ease with spending most of your day in Linux shell.

  • accountable for software currently in production

  • 1-6 years of experience in Software Development



Role: Software Engineer 

Location: Évora

Contract: Unspecified duration unlimited

Start date: ASAP