
Senior Software Developers collaborate with Business and Quality Analysts, Designers, Project Managers and more to design software solutions that will create meaningful change for our clients. They listen thoughtfully to understand the context of a business problem and write clean and iterative code to deliver a powerful end result whilst consistently advocating for better engineering practices. By balancing strong opinions with a willingness to find the right answer, Senior Software Developers bring integrity to technology, ensuring all voices are heard.
For a team to thrive, it needs collaboration and room for healthy, respectful debate. Senior Developers are the technologists who cultivate this environment while driving teams toward delivering on an aspirational tech vision and acting as mentors for more junior-level consultants. You will leverage deep technical knowledge to solve complex business problems and proactively assess your team’s health, code quality and nonfunctional requirements.
Job responsibilities
- You will learn and adopt best practices like writing clean and reusable code using TDD, pair programming and design patterns
- You will use and advocate for 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 will create large-scale distributed systems out of microservices
- You will collaborate with a variety of teammates to build features, design concepts and interactive prototypes and ensure best practices and UX specifications are embedded along the way.
- You will apply the latest technology thinking from our Technology Radar to solve client problems
- You will efficiently utilize DevSecOps tools and practices to build and deploy software, advocating devops culture and shifting security left in development
- You will oversee 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
Job qualifications:
Technical Skills
- You have experience using one or more development languages (Java, Nodejs, React, TypeScript, JavaScript, etc.) with experience in Object-Oriented programming
- You can skillfully write high-quality, well-tested code and you are comfortable with Object-Oriented programming
- You are comfortable with Agile methodologies, such as Extreme Programming (XP), Scrum and/or Kanban
- You have a good awareness of TDD, continuous integration and continuous delivery approaches/tools
- Bonus points if you have working knowledge of cloud technology such as AWS, Azure, Kubernetes and Docker
Professional Skills
- You enjoy influencing others and always advocate for technical excellence while being open to change when needed
- Presence in the external tech community: you willingly share your expertise with others via speaking engagements, contributions to open source, blogs and more
- You’re resilient in ambiguous situations and can approach challenges from multiple perspectives
Other things to know:
Learning & Development
There is no one-size-fits-all career path at Thoughtworks: however you want to develop your career is entirely up to you. But we also balance autonomy with the strength of our cultivation culture. This means your career is supported by interactive tools, numerous development programs and teammates who want to help you grow. We see value in helping each other be our best and that extends to empowering our employees in their career journeys.

About Thoughtworks
About
Founded in 1993, we’ve grown from a small team in Chicago to a leading software consultancy of more than 8000 Thoughtworkers in 17 countries. Our cross-functional teams of strategists, developers, data engineers, and designers bring over two decades of global experience to every partnership.
Thoughtworks invented the concept of distributed agile and we know how to harness the power of global teams to deliver software excellence at scale. Today we help our clients to create their own path to digital fluency and to build organizational resilience to navigate the future.
Our job is to foster a vibrant community where people have the freedom to make an extraordinary impact on the world through technology.
As a Thoughtworker, you are free to seek out the most ambitious challenges. Free to change career paths. Free to use technology as a tool for social change. Free to be yourself.
Company video


Connect with the team
Similar jobs
Position Overview
We are seeking a skilled Developer to join our engineering team. The ideal candidate will have strong expertise in Java and Python ecosystems, with hands-on experience in modern web technologies, messaging systems, and cloud-native development using Kubernetes.
Key Responsibilities
- Design, develop, and maintain scalable applications using Java and Spring Boot framework
- Build robust web services and APIs using Python and Flask framework
- Implement event-driven architectures using NATS messaging server
- Deploy, manage, and optimize applications in Kubernetes environments
- Develop microservices following best practices and design patterns
- Collaborate with cross-functional teams to deliver high-quality software solutions
- Write clean, maintainable code with comprehensive documentation
- Participate in code reviews and contribute to technical architecture decisions
- Troubleshoot and optimize application performance in containerized environments
- Implement CI/CD pipelines and follow DevOps best practices
- Required Qualifications
- Bachelor's degree in Computer Science, Information Technology, or related field
- 4+ years of experience in software development
- Strong proficiency in Java with deep understanding of web technology stack
- Hands-on experience developing applications with Spring Boot framework
- Solid understanding of Python programming language with practical Flask framework experience
- Working knowledge of NATS server for messaging and streaming data
- Experience deploying and managing applications in Kubernetes
- Understanding of microservices architecture and RESTful API design
- Familiarity with containerization technologies (Docker)
- Experience with version control systems (Git)
- Skills & Competencies
- Skills Java (Spring Boot, Spring Cloud, Spring Security)
- Python (Flask, SQL Alchemy, REST APIs)
- NATS messaging patterns (pub/sub, request/reply, queue groups)
- Kubernetes (deployments, services, ingress, ConfigMaps, Secrets)
- Web technologies (HTTP, REST, WebSocket, gRPC)
- Container orchestration and management
- Soft Skills Problem-solving and analytical thinking
- Strong communication and collaboration
- Self-motivated with ability to work independently
- Attention to detail and code quality
- Continuous learning mindset
- Team player with mentoring capabilities
"Hands-on experience with minimum 3 years of programming experience in JAVA 8 (or) 11.
Good experience using Springboot, Hibernate or JPA frameworks, Spring Security, Spring MVC (or) Spring Ioc (or) Spring AoP (or) any other spring framework.
Good experience in utilizing & working in Restful Webservices & Java Collection."
"Experience in Swagger, Microservices, Basic security, Design patterns.
Good Experience in utilising & working with Cosmos (or) MySQL."
| Experience | 4 - 8 Years |
Java Developer Job Responsibilities
A developer is responsible for several Java-related duties throughout the software development lifecycle, from concept and design to testing. The developer is required to create user information solutions through the development, implementation, and maintenance of Java-based components and interfaces.
Required Skills:
"Overall 5-9 years of experience
Experience of working in Agile projects and aware of key Agile concepts
Good Problem solving and communication skills
Team player, hard working and innovative in his approach
Having stretch mindset and eagerness to learn/adopt new frameworks.
Expertise in Java 8 version or later
Hands on coding experience in Core Java ,Java, J2ee
Should have experience in Spring Boot
Should have good experience in Hibernate, Spring DATA JPA
Experience in RestFull Web services and microservices
Hands on knowledge in JMS and messaging Queues
Hands on Knowledge in Open API spec / swagger 2.0
Hands on knowledge in writing unit test cases using java test framework (Junits, Mockito)
Strong Ability to troubleshoot vulenerabilities and sonar issues and remediate with appropriate sonar rules compliant solution.
Should have hands on experience in SDLC
Should have an excellent client interaction background with Smart, Innovative, Enthusiastic, Proactive
Nice to Have
------------
Knowledge in kafka integeration
knowledge in OCP4 configs and deployment
Knowledge on secret Vaulting
Experience working in Agile project
- Knowledge on CI/CD process.
Back End Developer
Job Description:
Location: Pune (Initially Remote due to COVID 19)
We are looking for an experienced Backend Developer to join the team in India and be instrumental in taking our products to the next level. In this role, you will be working in close collaboration with a team of highly empowered, experienced developers who are building a high-performance, highly scaled global platform.
About the Organisation:
- It provides a dynamic, fun workplace filled with passionate individuals. We are at the cutting edge of advertising technology and there is never a dull moment at work.
- We have a truly global footprint, with our headquarters in Singapore and offices in Australia, United States, Germany, United Kingdom, and India.
- You will gain work experience in a global environment. We speak over 20 different languages, from more than 16 different nationalities and over 42% of our staff are multilingual.
You will:
- conceive, build, and operate highly distributed systems deployed around the planet
- employ cutting-edge technologies and techniques in a rapidly evolving domain
- thrive in a progressive, environment which relies on communication and initiative rather than process to deliver at a high velocity
- have a "Product Owner" rather than a "Task Implementer" attitude
Candidate's Profile:
- Experience building systems involving messaging or event-driven architectures
- Deep technical understanding of Java or Go, and willing to work with both
- Strong handle on concurrency challenges and design solutions
- Strong buyer of Agile / Lean values
- Heavy emphasis on code testing and designing for test-ability
- Maturity and aptitude to operate in a high-freedom/high-responsibility environment
- Strong troubleshooting skills
- Experience with supporting and troubleshooting large systems
- Exposure to infrastructure automation tools such as Ansible
- Exposure to IAAS platforms such as AWS EC2, GCP, etc…
- Experience with Cassandra, Aerospike, or other NoSQL databases
· 3+ years of Java backed application development and implementation experience.
· Minimum of one year of experience in Cloud, AWS Engineering & Development .
· Demonstrated knowledge of Distributed and Scalable systems.
· Experience on AWS Services is a big plus, such as EC2, ECS, ECR, Lambda, Elastic Cache, API Gateway.
· Knowledge about API design standards, patterns and best-practices especially Swagger and OpenAPI 3.0, REST, SOAP, MQ, JSON, Microservices etc.
· Java Microservices, RESTful Web Services.
· Spring Boot, Spring Cloud, Hibernate.
· JMS, queues, JBoss/Wildfly.
· Tools - JUnit, Easymock, Mockito, Docker, Kubernetes, Teraform.
Experience:
The candidate should have about 2+ years of experience with design and development in Java/Scala. Experience in algorithm, data-structure, database and distributed System is mandatory.
Required Skills:
Mandatory: -
- Core Java or Scala
- Experience in Big Data, Spark
- Extensive experience in developing spark job. Should possess good Oops knowledge and be aware of enterprise application design patterns.
- Should have the ability to analyze, design, develop and test complexity of spark job.
- Working knowledge of Unix/Linux.
- Hands on experience in Spark, creating RDD, applying operation - transformation-action
Good To have: -
- Python
- Spark streaming
- Py Spark
- Azure/AWS Cloud Knowledge of Data Storage and Compute side
Responsibilities:
- The candidate will get an opportunity to work on AI/ML technologies using NodeJS for web applications.
- Deliver high-quality code in a fast-paced customer-facing product.
- Specify, design, and implement the functionality and behaviors of the web infrastructure.
- Be involved in the full life-cycle of development from concept through integration, test, and high web traffic deployments.
- Interface with the firmware team as well as clients and end-users of the products.
- API development using REST JSON/XML, and security standards like OAuth.
Requirements:
- BTech or MTech in Computer Engineering, Computer Science, or other similar majors.
- Experience building products with full-stack technologies, and an excellent understanding of computer science fundamentals, data structures, and algorithms.
- Must have experience in version control systems like GIT.
- Strong in NodeJS, MySQL, MongoDB, Kafka, Elasticsearch.
Notice Period: Immediate to 60 Days
Below is the JD
Expert: Micro services. Core Java and Spring framework (MVC, Boot).
Practitioner: IT experience in Agile, Test Driven Development approach and software delivery best practice. Strong design and technical skills. Continuous integration/deployment pipelines.
Desirable: ReactJS, Experience with Databases. Preferably Oracle. Knowledge of working in cloud environment. Preferably PCF and AWS.
Joining location will be either Gurgaon, Chennai & Bangalore only.
Skills Mandatory Skills
JAVA Micro service Java8+, Spring Boot, Micro services Devops, CI/CD 40
Tech Stack:
Golang, Microservices (AWS ECS, App Mesh), Ruby, Rails, MySQL, Postgres, Redis, NATS.
Required Skills:
- 5+ years of experience with Ruby on Rails OR 2+ years of experience with Golang.
- 5+ years of experience with MySQL or Postgres and relational data modelling.
- Experience consuming and writing REST APIs.
- Focus on writing clear, maintainable, tested code.
- Experience with Git, continuous integration and regular deployments.
- Experience with complex Rails projects and design principles.
- Strong willingness to learn and use Golang at work.
- Experience with CI (continuous integration).
- Strong understanding of Linux.
- Strong understanding of Docker.
- You must be a strong communicator who can explain complex ideas to anyone regardless of background.
Preferred Skills:
- 2+ years of experience with Golang.
- Experience with Microservices deployed in Kubernetes.
- Experience with AWS ECS, App Mesh and Lambda.
- Ability and interest in mentoring junior engineers a plus.
- Excellent written communication skills and diligent ability to contribute to the team by performing code reviews.
- B.S. in Computer Science, Computer Engineering, Software Engineering, or equivalent experience






