Senior Java Backend Engineer
- Bucharest, Romania
- Department: Product & Engineering
Have you ever worked for a company that actually wanted you to bring your whole self to work every single day?
Tradeshift is a unicorn in the fintech industry. We are disrupting a typically stagnant environment by connecting companies of all sizes and providing them with the platform and network needed to create value from old processes like procurement, invoicing, payments, and workflow. We recognize that business is both messy and social - two revelations that have driven the development of Tradeshift, a platform for all your business interactions.
The SRE team is responsible for maintaining high availability, reducing technical debt, and improving reliability overall throughout the platform. We work with both dev-ops and product teams to bridge that gap and deliver highly scalable and resilient solutions, while we also take ownership of the different orphaned areas and do cross-product feature development. We also have a focus on observability of the whole platform and individual solutions, and we write / extract new services that help the teams deliver quality products on time. And one more thing... the SRE team is the last line of defense in case of tough incidents and nasty bugs, so we really embrace challenges and we deal with the most complex problems in our platform.
We expect that you know how to do load balancing, identify bottlenecks in large distributed systems, which metrics to monitor for overall platform health, do DB tuning, etc, etc. All the jazz that comes with making a global, multi-tenant always-on platform scale with very rapid growth. We will provide you with ample opportunity to provide a ton of value, solve real problems, and if you are good enough, articulate longer term thinking for the site reliability effort.
What a day is like:
- Work with a local team of developers, and collaborate with a remote SRE team in Copenhagen, to plan and implement the needed changes to Tradeshift’s platform
- Tackle existing scalability and reliability challenges: enabling load balancing of individual components, improving data structures, evaluating queue technology alternatives, implementing autoscaling, database tuning
- Design and write high-quality, tested and peer-reviewed code, building out large scale load, performance testing frameworks for a microservices landscape, resilience testing tools, and other quality gateways for microservices
- Ensure our platform exceeds goals for availability, capacity and speed
- Help getting insights by improving monitoring, metrics, alerting and logging and improve system monitorability and speed by fixing errors and reducing technical depth
- Helping with investigations and root cause analysis often in real time troubleshooting existing software related platform issues that are impacting our customers
- Develop iterative and staged rollout of transformations to architecture, decoupling existing or new functionality in microservices to improve scaling and reduce lifecycle coupling and participate in long-term migration efforts without visibility or downtime for users
- Identify opportunities, design and implement solutions to improve engineering productivity
- Take ownership of any orphaned services that no longer have a product team responsible for it, and be able to also deliver cross-product / cross-business-domain feature requests
You’re perfect for this role if you:
- Experience with Java and/or JVM based languages.
- Working experience tuning JVM based applications under load
- You are comfortable developing on Linux / Unix operating systems
- Familiarity with configuration management, monitoring and automation frameworks
- You can demonstrate proper software engineering practices, are pragmatic in your solutions, and take ownership for the quality of your deliveries
- You have experience with Docker + Kubernetes
- You have worked in cloud solutions AWS
- You are interested in problems around concurrency, scalability, and distributed systems
- Thirst for innovation and solving problems at lightning speed
- Obsession with Software Scalability and performance under high loads
- Experience with designing and running performance and stress tests is an advantage
- Experience with queue systems (RabbitMQ/HornetQ, ActiveMQ), NoSQL datasources (Redis, Cassandra) and search engines (ElasticSearch, Lucene) is a plus.
- Proficient in English for conversing, reading and writing
- BA/BS in Computer Science preferred, or equivalent experience
Our culture began day one when three Danes poured their brains, heart, and guts into creating a platform that could connect every business in the world. We expect each employee to approach their work with the same amount of pride and passion. One day you might find us having a ping pong match in the middle of the work day, and then you’ll find us handing off projects to colleagues in different time zones so we can continue progress around the clock.
TradeShifters come from various backgrounds and nations, and we all thrive off challenging the status quo. We take pride in nurturing employee happiness, encouraging personal development, and welcoming teammates from all walks of life.
Why you might like working here:
- You love autonomy and the freedom to get your work done how you want
- You like sharing your opinions and feeling like they matter
- You want to work for a company that requires you to bring your whole self to work every day: brains, heart, and guts.
- Ambitious international startup, and agile environment in Bucharest, Romania
- Competitive compensation package
- Career and professional development opportunities (workshops, trainings etc.)
- Trips to design-camps for working with and learning from professionals in other countries
- Flexible work hours
- Company laptop provided
- Medical Subscription
- Access to Bookster
- Friendly and relaxed working atmosphere
- Relaxing spots, games - ping pong, board games
- Fun team-bonding events such as Team Camps, Hack-a-thons, Game & Field Days