How would you leverage your technical expertise to create extraordinary impact for our clients?
Thoughtworks is a global software consultancy with an aim to create a positive impact on the world through technology. Our community of technologists thinks disruptively to deliver pragmatic solutions for our clients' most complex challenges. We are curious minds who come together as collaborative and inclusive teams to push boundaries, free to be ourselves and make our mark in tech.
Our developers have been contributing code to major organizations and open source projects for over 25 years. They’ve also been writing books, speaking at conferences and helping push software development forward, changing companies and even industries along the way.
As consultants, we work onsite with our clients to ensure we’re evolving their technology and empowering adaptive mindsets to meet their business goals. You could influence the digital strategy of a retail giant, build a bold new mobile application for a bank or redesign platforms using event sourcing and intelligent data pipelines. You will use the latest Lean and Agile thinking, create pragmatic solutions to solve mission-critical problems and challenge yourself every day.
For a team to thrive, it needs active collaboration and room for healthy, respectful debate. Senior Software Engineers are the technologists who cultivate this environment while driving teams toward delivering on an ambitious tech vision and acting as mentors for more junior-level consultants. They leverage their deep technical knowledge to solve more complex business problems and actively assess their team’s health, code quality and nonfunctional pipelines.
You’ll spend time on the following:
- You will use continuous delivery practices to deliver high-quality software as well as value to end customers as early as possible.
- You will work in collaborative, value-driven teams to build innovative customer experiences for our clients
- You have a fierce sense of ownership, caring deeply about the quality of everything that you deliver into your clients hands
- You love the challenge of engineering, and are confident in your ability to bring clarity and direction to ambiguous problem spaces
- You work well in a fast paced environment while deeply invest in long term quality and efficiency
- Create large-scale distributed systems out of microservices
- You will apply the latest technology thinking from our tech radar to solve client problems
- Efficiently utilize DevOps tools and practices to build and deploy software
- You will lead or take part in the entire cycle of software consulting and delivery from ideation to deployment and everything in between
- You will act as a mentor for less-experienced peers through both your technical knowledge and leadership skills
Here’s what we’re looking for:
- 5+ years of development experience Core Java (Java 8 & 11), and experience in backend technologies such as Spring framework, JSON, REST, Hibernate, etc.
- Skillfully write high-quality, well-tested code and you are comfortable with Object-Oriented programming
- Comfortable with solving datastructures medium to high complexity both code and psuedo code ways. Ability to communicate solution options and tradeoffs for the approach taken
- Hands on experience working on CI/CD pipelines and Kafka for messaging. Knowledge of developing and deploying applications in public cloud (AWS, GCP or Azure) is a plus.
- Database Exposure i.e. PostgreSQL, MongoDB or ORACLE.
- Exposure working with microservices and distributed systems is also needed
- Presence in the external tech community: you proactively share your expertise with others via speaking engagements, contributions to open source, blogs and more
- Comfortability with Agile methods, such as Extreme Programming (XP), Scrum and/or Kanban
- Prior experience of working in a Co-sourced delivery and a fast-paced environment with a global/remote team.
- You’re willing and able to commit to travel to client sites in order to solve their business problems. Also, resilient in ambiguous situations and can approach challenges from multiple perspectives.
- Some experience using Infrastructure As Code tools (eg. AWS CDK, Terraform, CloudFormation) is a plus.