Software Developer

  • SumUp
  • Sofia, Bulgaria
  • Jul 28, 2017
Full time Developer

Job Description

Who we are

Sumup's mission is to make card acceptance as simple and accessible as cash. The people of SumUp have brought the best way to accept card payments to 15 countries on three continents so far, but we won’t stop there.

With SumUp, merchants can accept credit and debit cards, using their smartphones or tablets, in a simple, secure and cost- effective way. Partners and software platforms can connect within minutes to Sumup's proprietary EMV terminals through mobile SDKs or integrate Sumup open APIs to accept card non-present payments.

The company is authorized as a Payment Institution by the Financial Conduct Authority (FCA) and is Europay, MasterCard, and Visa (EMV) and PCI-DSS certified, ensuring that payments are processed in accordance with the highest security standards.

SumUp could be interesting for you as an engineer as we build an end-to-end product that includes our own hardware, merchant- facing mobile and web applications fueled by RESTful APIs that form an open payment platform.

We do things differently. We build our own payment solution end-to-end so that we can always offer the best value & service. We know how vital payment is to small business, so we use our technology to solve their problems. We believe in open and transparent communication, not strict rules and hierarchies. If you’re looking for the chance to innovate, and disrupt the payment industry – join us.

What we are looking for

You are a developer who is familiar with Service Oriented Architecture and has an affinity to wrap business models into well shaped, self contained and highly performant services. You like building strong interfaces that can serve any client application. You are obsessed by monitoring and measuring the performance and the availability of the application stack. In our day to day work we are heavily using Ruby, Erlang and JavaScript but this shouldn't be a limitation for you. Last but not least you believe that the knowledge of the entire system is a key to operate efficiently and to develop really valuable solutions.

You'll fit in perfectly to our team if:

  • You strive for clean code, but also know how to make your "shortcuts" easy to delete in a crunch.
  • You know what to test, why to test it, and how to write flexible tests that won't break with minor changes.
  • You're comfortable with Linux and know how to get things done on the command line, including on remote servers.
  • You have experience with or interest in Functional Programming techniques.
  • You're not afraid to use Google or ask for help when something is beyond your grasp.
  • You care about usability and clear description that ease anyone integrate and reuse what you are building.
  • In general, technology excites you and you strive to learn something on a daily basis!

Please note: these aren't all hard requirements, but should give you a taste of the kind of skills you should have or be willing to learn on the job.

Our tech stack and projects

  • Service applications: Ruby and Nodejs component that exposes all the functionality needed to run our operations - from merchants onboarding to payments, anti-fraud and risk assessment.
  • Infrastructure to manage deployments, monitoring and external access to SumUp services.
  • Web apps: A modern Angular 1.5 application helping merchants keep track of their revenue and manage their accounts. Our Angular codebase uses a modern component approach and pure services supported by Jasmine unit tests. Apart from that, we heavily use JavaScript libraries like Lodash, Moment.js, and d3 and rely on Gulp and Webpack for our build and deployment tasks. Naturally, our codebase is in ES6.
  • Payments backend: Erlang application that manages terminals and connects to several acquirers and PSPs for payment processing.

Your impact at SumUp

You'll shape some of the core experiences of our merchants and partners from their first impression on our website and mobile apps, to an outstanding usability and ease of integration of our payments platform.

In the first few weeks, you'll dive into the code and learn how to create clean, composable components in our codebase. You'll use this knowledge to start developing and refining features.
In the first three months, you'll develop major features that impact our merchant base. You'll work closely with product and design departments to build features that are maintainable, usable, and beautiful. You'll help us re-think problems we've solved before in a different way as requirements evolve.

In one year, you'll have a wealth of knowledge about our complex problem domain, as well as its implications in the interface and in the backend – and how to manage it in a clean way. You'll have launched numerous features, as well as contributed to side projects and initiatives that gave you an opportunity to diversify your skills and learn something new.


No hard requirements. Show us you have the aptitude for problem solving and programming, and we're off to a great start.


More reasons to work at SumUp

  • Your immediate team: you'll be with people who care about mutual learning, keeping our technical knowledge up to date, and discussing ideas (on a technical, design, and product level) that contribute to not only the company's success but keeping everyone well-rounded and hands-on.
  • Our office is like a growing family; we get together regularly for brunches, cocktail nights, ping pong, and yoga.
  • People at SumUp meet across locations for work or self-organized off-sites in the woods or at the sea side.
  • Opportunity to attend tech meet-ups and conferences with the team.
  • All the office swag you expect: ping pong table, beer in the fridge and your preferred type of laptop and operating system.

Apply now!

We're looking forward to meeting our next teammate. Please include a brief (~1 page) cover letter to explain why you'll be a good fit. We'd also love to read about one of your favorite coding challenges you encountered in the last two years: what was it about, how you tackled it, and what you learned. You can choose whether to include a CV, a link to your Xing/LinkedIn, a link to your github, tech blog, or portfolio whatever you think will give us the complete picture!