When you join ThoughtWorks you join a wonderful community of people who are passionate about learning, and about sharing what they learn. A community that includes the people who write the books on software excellence and innovation, who write the tools that we all use. A community that is passionate about doing great work for interesting clients, and bringing those clients on a journey of change. A community that is determined to use software to improve lives.
As a Lead Developer at ThoughtWorks, here's what you can do:
- Learn something new, everyday
- Work on large-scale, custom-designed, enterprise-level software development projects using languages and technologies such as Java, Scala, and AWS
- Ensure there is a balance between technical innovation and what’s right for the client by considering appropriate technology choices and understanding the business vision
- Champion agile best practices, Continuous Delivery and Cross Functional Requirements
- Help the team to champion software excellence, craft technical vision and ensure we deliver value to our clients and their customers
- Facilitate problem solving and work with a team to make them reality
- Work in a dynamic, collaborative, transparent, non-hierarchical, and ego-free culture where your talent, ideas and opinions are valued
- Craft your own career path - without the confinement of a one-size-fits-all plan
- Help to grow the next generation of developers and have a positive impact on the industry, and beyond
Here’s what you’ll bring:
- Hands-on development and delivery experience with a broad mix of languages and technologies
- Experience with architectural design whilst leading and inspiring software development teams
- Have helped lead development on large, custom-built object-oriented applications
- Great OO skills, including strong design patterns knowledge and enterprise integration
- Experience working with Agile, Lean and/or Continuous Delivery approaches and best practices, such as Continuous Integration, TDD, BDD, Infrastructure as Code etc.
- Knowledge of software best practices like Refactoring, Clean Code, Domain Driven Design, Encapsulation, etc.
- Ability to work in a variety of client settings and in a team-oriented, collaborative environment
- A coaching mentality as well as strong relationship-building skills at all levels