Role: Application Developer
Bangalore, Karnataka, India
If you would like to...
Create complex, enterprise-transforming business applications as a member of diverse, high energy teams focused on full life-cycle development through the use of Agile Methodologies
Use the latest tools and techniques (currently Java/J2EE, Ruby/Rails, C#/.NET, XML, Agile Methodologies, Web Services, EAI tools...)
Do hands-on coding and proactively mentor developers (including pair programming)
Work in highly collaborative teams that strive to build quality code and provide business value
Have the opportunity to work in a number of different domains in a variety of different client environments
Continually learn, mentor and develop your career
Work closely with clients, both in the Business Domain and with Technical staff members
Travel to work at client sites and other ThoughtWorks offices.
This may include international travel
Senior developers are expected to be the Architect for relatively smaller enterprise level projects and for larger projects, you are expected to work closely with the fellow architects to come up with the architecture and take it further.
And you have...
5+ years delivery experience on a commercial application development project including integration with 3rd party applications
Experience including analysis, design, coding and implementation of large scale custom built object-oriented applications
Strong OO design knowledge, including extensive design patterns knowledge
Familiarity with relational databases, preferably Oracle or SQL Server
Exposure to EAI technologies MSMQ, Tibco, Vitria, MQSeries is helpful
Knowledge of Agile Methodologies, such as Extreme Programming - XP and Scrum
Understanding of code manipulation and optimisation issues
Ideally, knowledge of test-driven development and continuous integration
Strong communication and client-facing skills with the ability to work in a consulting environment is essential
Experience in a leadership and mentoring role is a huge plus
And you want to learn...
Test Driven development, continuous integration, refactoring, code pairing methods of development
How to bring about a big change in the way software is developed and delivered
If this sounds like the sort of thing you are looking for, we should be speaking.