Senior Software Engineer
Job description
Senior Software Engineer at Thoughtworks.
About the role
You will design and build software solutions that drive meaningful change for clients by collaborating with designers, analysts, and project managers. This role involves maintaining high engineering standards, mentoring junior consultants, and fostering a collaborative team environment. You will navigate complex business challenges while advocating for technical excellence and an aspirational vision.
Key facts
What you'll do
- Write clean, reusable code using TDD, design patterns, and pair programming.
- Implement continuous delivery practices to provide value to customers quickly.
- Integrate AI tools into the development lifecycle to boost productivity and solve complex problems.
- Build large-scale distributed systems using microservices.
- Collaborate on feature development, interactive prototypes, and UX specifications.
- Apply technical insights from the Thoughtworks Technology Radar to client projects.
- Utilize DevSecOps tools to manage software deployment and security.
- Mentor less experienced team members and guide projects from ideation to delivery.
Requirements
- Proficiency in Java and Object-Oriented programming.
- Experience with Agile methodologies such as Scrum, Kanban, or Extreme Programming (XP).
- Understanding of TDD, continuous integration, and continuous delivery.
- Ability to thrive in ambiguous environments and approach problems from multiple perspectives.
- Willingness to share expertise through blogs, open source contributions, or speaking engagements.
- Mindset focused on integrating AI-assisted tools into technical workflows.
Nice to have
- Working knowledge of cloud technologies including AWS, Azure, Kubernetes, and Docker.
Skills & tools
- Java
- Object-Oriented Programming
- TDD
- Agile (XP, Scrum, Kanban)
- Continuous Integration/Continuous Delivery
- DevSecOps
- Microservices
- AI-assisted development tools
Practical notes
Thoughtworks utilizes AI for administrative recruitment tasks like scheduling and drafting communications. These tools do not make hiring decisions, as all applications are reviewed by human interviewers. The company provides various development programs and interactive tools to support individual career growth.