

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



About the role:
We are seeking a highly motivated Principal Engineer with expertise in building scalable, extensible customer payment solutions, identifying and addressing performance bottlenecks, collaborating with other team members across teams to innovate current/new products; Identify, communicate and implement best practices for the engineering team. Our engineering process is fully agile and has a really fast release cycle - which keeps our environment very energetic and fun.
What you will do:
- Architect, design and lead the development of key software infrastructure, systems, tools and processes, ensuring high scalability and performance.
- Collaborate with the product and other stakeholders across the company to solidify/ negotiate requirements and feasibility.
- Identify, influence and participate in making technical decisions that have a positive impact on engineering and business as a whole.
- Problem-solving that involves complex interactions, constraints imposed by systems, processes, people and physical goods.
- Drive automated solutions that enable better efficiency and process improvement
- Identify and address performance bottlenecks, collaborate with other team members across functions to innovate/improve current/new products by suggesting improvements to the software system.
- Identify, communicate and implement best practices for the engineering team.
- You will advocate for good, clean, well documented and performing code; follow standards and best practices.
- As a Principal Engineer, you will be additionally responsible for planning and timelines of all projects in your domain
We would love for you to have:
- Education: Bachelors/Masters in Computer Science
- Experience: 7-10 yrs recent hands-on experience of working on scalable systems and a diverse set of products/systems.
- Experience with Java stack. Hands-on experience with development and troubleshooting of services.
- Experience with SQL and NoSQL databases and Hadoop stack.
- Experience in System Design of complex Supply-Chain e-commerce systems, Algorithm design and their optimization is a huge plus.
- Strong working knowledge of any REST-based framework, OOPS, Design Patterns
- Expert level experience in building fault-tolerant and scalable platforms.
- Excellent problem-solving skills
- Strong verbal and written (technical) communication and able to work across teams like Business, Product, Engineering, Analytics, App Engineering seamlessly.
- Ability to deliver great results in an agile development
- Exposure to open-source libraries and frameworks.
- Experience with the full software development lifecycle, design, develop, review, debug, document, and deliver (especially in a multi-location organization).
- Ability and experience in the evaluation and integration of third-party systems and libraries and independent completion of POC. Prior experience in integrating with 3rd party Payment solution (like Stripe) is a plus.
- Passion for performance benchmarking and debugging



Responsibilities include:
- Coordinate and clarify the requirements and technical issues (including client interaction)
- Support creation of high and low level design
- Development and maintenance of automation code
- Build reusable Business objects as required
- Review the automation implemented code
- Deploy the code to multiple environments phase wise
- Provides regular status updates to clients and management
- Participates in research/design/implementation of appropriate automation tools
- Develop .net libraries using C# /.Net
- Design and develop SQL scripts – Stored procedures, queries, and functions
- Perform unit testing, support systems integration testing and UAT testing
- Raise ticket and co-ordinate with IT team and CS team
- Analyze, estimate and implement special projects
- Effectively manage multiple priorities / assist with various projects as they arise.
- Accurately track, monitor, and report progress and obstacles
- Travel requirements will be modest, working hours must be flexible to deal with international time zone and key process owners located throughout the world.
Education, Experience, & Required Skills:
- Bachelor degree in Computer Science, Computer Engineering or equivalent is required
- 7+ years of overall IT experience
- 2+ years of overall development experience with leading RPA tool.
- Certified RPA Tool (UiPath, UiPath X, Blue Prism, Automation Anywhere) as developer
- Programming experience in Java, .Net, C, C#, .Net, Python
- Sufficient knowledge of RDBMS like ORACLE / MS SQL Server and SQL tools
- Knowledge in developing & understanding excel macros codes.
- Knowledge in Power BI, Excel Macro, web forms, mobile applications are preferable.
- Knowledge of service oriented architecture is preferable.
- Knowledge in Finance & Accounting domain is preferable.
- Strong written and verbal communication skills
- Excellent organization and communication skills.
- Effectively interact with various levels of management.
- Ability to multitask.
- Excellent Java programming skills.
- Experience in Web application Technologies like JAVA/JSP, HTML, Javascript, and CSS.
- Development experience using Java Spring Boot, Maven
- Knowledge and Experience in using REST API
- Experience in Database Query Languages.
- Experience in designing new application framework or migrating to new framework architecture, redesign, working on POC
- Should be open for understanding debugging the architecture of legacy systems and suggest changes wherever applicable.
- Experience in frameworks like Spring, Hibernate
- Experience in Multi-tier development/deployment of Web Application
- Experience in Producing and Consuming RESTful Web Services
- Strong in developing complex SQL Scripts to generate reports
- Familiarity in Maven, Gitx
- Familiarity in Unit Testing (JUnit)
- Familiarity with Continuous Integration tools (Jenkins etc)
● Partner with the product/business teams to understand the product features and
specifications, translate them into high level and low-level design
● Participate in all stages of the Software Development Lifecycle
● Develop back-end components, services, and APIs. Support integration of user-
facing elements, and collaborate closely with the design and front-end development
team
● Write elegant, effective, and scalable code while maintaining the highest level of
coding standards
● Take ownership of the work and ensure timely deliveries
● Drive innovation in product development, while relentlessly improving performance,
scalability, and maintainability
Requirement
● Strong problem solving and analytical skills with a minimum of 2-4 years of
experience in backend development
● 1+ experience as a Java Developer, with strong knowledge of Java web frameworks
like Spring Boot, Hibernate, etc. and experience working in Microservices
architecture
● Hands-on experience of working with Linux/Unix platform
● Strong knowledge of SQL and RDBMS like PostgreSQL/MySQL etc.
● Experience in - Python, Git
● Strong technical aptitude and good knowledge of CS fundamentals
● Sound knowledge and application of algorithms and data structures with space and
time complexities
● Strong design skills involving data modelling and low-level class design
● Follow industry coding standards and responsible for writing maintainable, scalable,
and efficient code to solve business problems
Good to have
● B. Tech./M. Tech. in Computer Science or equivalent from a reputed college
● Prior experience working in a startup environment
● Experience in setting up an entire product from scratch







