Lead Consultant/Developer
As a Lead Consultant/Developer (Multiple Positions), here’s what you can do at ThoughtWorks:
Leading large-scale, custom-designed, enterprise-level software development projects that use object-oriented technologies, such as Java, Ruby, or .NET. Responsible for analysis, development and testing on full life-cycle software development projects using Agile methodologies, including Extreme Programming, Continuous Integration, Continuous Delivery, Test-Driven Development and pair programming. Making architectural and design decisions and overseeing project activity. Responsible for the team’s performance and reporting any issues, and acting as liaison between the client and team to define scope and technical direction, as well as gather requirements and update on deliverables and timeframes. Managing coordination across countries and time zones whenever project teams are distributed. Coaching and mentoring developers on Agile Best Practices and various languages and technologies. Utilizing technologies such as Java, Ruby, JUnit, J2EE, JavaScript, Spring, MySQL, Selenium and Oracle.
Here’s what you’ll bring:
Bachelor’s degree in Computer Science, Computer Information Systems, Information Technology, or related field and 5 years of experience as a Consultant, Developer or related occupation. Employer will accept a combination of degrees or diplomas equivalent to a bachelor's degree in Computer Science, Computer Information Systems, Information Technology, or related field. At least 80% travel throughout the U.S. required.
Prior experience with:
- Participating at all stages of the software delivery life-cycle, including analysis, development, testing and deployment;
- Leading a team of software engineers to oversee project activity, manage project deliverables and progress, prioritize plans for future iterations, and manage team performance;
- Utilizing Agile development methodologies including Continuous Integration, Extreme Programming, Continuous Delivery, Test-Driven Development and pair programming;
- Using test automation frameworks to test at different levels, including unit, functional and integration testing;
- Developing software applications using Java, Ruby or .NET;
- Serving as a liaison between client and development team to define scope and technical direction of the project including requirements gathering and design discussions and managing project deliverables and timeframes;
- Working on projects with distributed teams, including managing coordination across countries and time zones;
- Coaching and mentoring junior developers in all aspects of software development, including Agile development methodologies.
*NO