• Jobs
  • >
  • Lead Software Engineer (MetaSoccer)

Lead Software Engineer (MetaSoccer)

  • Indefinite
  • Full time
  • Spain
  • Tech

Imagine writing a back-end for an MMO game, you have a set of characters that belong to a user who can improve the characters stats by either playing with them or by equipping some items. Besides being massive, it sounds easy enough, right?

Now, what if the user can freely edit some parts of the DB completely bypassing the Backend and there is nothing you can do about it?

Not only that, these items and characters have a real value worth thousands of dollars so transparency, reproducibility, fairness is a must.

This is precisely what we are doing at Metasoccer, a football manager play2earn blockchain game where our characters and currency can be freely trade-able in the blockchain while the games are executed in a transparent and reproducible way in our back-end so our users can be sure that they can never be tricked.


Your role

  • Lead and help create a full multidisciplinary Squad
  • Participate in the full application development lifecycle
  • Have a holistic view of the architecture (Front, Back, Ops, Blockchain)
  • Participate in the evolution of our architecture
  • Make sure that Agile principles are are followed and embraced

Our ideal candidate

  • You consider yourself a software engineer and not a specialist (Back, Front, etc)
  • Be passionate about software engineering and app development, from Ops to Frontend.
  • 5+ years of experience building and delivering b2c applications
  • Experience with event source or other eventually consistent architectures
  • Experience with Scrum/Agile and similar approaches to software development
  • TDD, able to know when to use what kind of test
  • General architecture knowledge (rule of 5whys).
  • Fluent in English
  • Experience with SQL is a plus
  • Experience with React is a plus
  • Experience with Node/Typescript is a plus

What our Backend stack looks like

We use a monorepo (rushjs) that holds the entire project, Frontend (Vue migrating to React), Backend (services based monolith) and our smart contracts.

As for the database, we are using a mix of relational and document oriented all based on PostgreSQL.

This is a small summary:

  • NestJS (multiple services that can be enabled/disabled per instance)
  • EventSource architecture
  • TDD (unit and integration tests)
  • Gitlab and Github for CI
  • AWS with EKS for prod
  • Docker for development
  • Ethers/Solidity for Web3 stuff

What our overall stack looks like

We use Typescript as much as we can, right now we use it for:

  • Frontend (nextjs)
  • Backend (nestjs)
  • Smartcontracts tests
  • Some internal tools

The other only language that we use is Solidity, used to write the Smart Contracts.

Benefits

  • Full remote position ยท You can expect the usual flexibility that comes with it
  • Front-row seat in the development of the new Game future where value is controlled by users.
  • Joining a small yet growing company with the objective of reaching the moon ๐Ÿš€
  • Flat hierarchy company, working side by side with everybody (CTO, Leads, CEO...)
  • Transparency
  • Bonding Activities - We get together once every few months (usually in Barcelona)