Are you ready to join a company that's a world leader in converging leading-edge technologies and methodologies? Are you a bit-twiddling techie who gets excited about using a wide range of tools to build, integrate, release and maintain complex enterprise systems? Do you see yourself as both a developer and a system administrator? Do you believe that there's a better way? Do you see people and process issues as well as technical? Interested in Agile? ThoughtWorks might be for you.
We see the pain ...
We see severe pain at many organisations where development and operations overlap. Unreliable deployments relying on heroics; slow, fragile builds that teams don't trust; a lack of automation; and myopic views in both development and operations teams.
We want to fix these problems for our clients (and our own sanity), and along the way influence the industry to move in a better direction.
We've suffered the pain. We're looking for people who get frustrated by these problems as well, and want to roll up their sleeves and solve them like we do. We're looking for experienced generalists who can help undo some of the hurt that operations and development teams do to each other.
If you join us, you'll get to:
- Influence clients about the right way to build, release and manage software. Sometimes we call it "subversive Agile transformation" because of the impact that this has on the successful delivery of software
- Assess and make recommendations to organisations to improve how development and operations work together. This includes technologies, organisational structure, people and practices
- Design, implement and administer build & deployment systems, infrastructure, environments and more
- Explore and evaluate new processes, techniques and tools
- Work with the development and systems teams of ThoughtWorks & those of our clients
- Travel to and work at clients in Thailand, with opportunities to work at other ThoughtWorks locations around the world
You'll bring the following:
- Collaborative, team focus. You might be tired of working alone and are looking to be part of a great team
- Great communication skills. You’ll break the stereotype of a grumpy system administrator and be able to have lively, engaging conversations with our clients
- A strong technical foundation in build, release and/or operations
- An eagerness to learn about whatever tools or techniques are needed to make things work
- An understanding of the internals of operations teams and good operations practices (monitoring, recovery, incident management, et al)
- Some strong opinions on how development and operations teams should work together; and the flexibility to absorb the ideas of other people
- Strong knowledge of a variety of Operating Systems, including Linux, Windows
- Experience with Virtualisation systems (VMWare, Xen, etc)
- Experience with a variety of SCM tools (SVN, Git, Perforce, Mercurial, et al)
- Strong scripting language experience (Shell, Ruby, Perl, Python, et al)
- Strong understanding of software configuration issues and patterns
- Experience with Continuous Integration practices and tools (TeamCity, CruiseControl, Hudson, et al)
- Experience with database systems (Oracle, SQL Server, MySQL, et al)
- Some experience with automated testing tools
And we'd love it if you also bring some of these:
- Passion for designing and supporting robust build, deployment and configuration management systems for multi-tier Java, Ruby & .Net applications
- Leadership of and responsibility for teams of systems or software engineers
- Experience of systems management frameworks (ITIL, Cobit etc)
- Networking concepts, technologies, and protocols (TCP/IP, IPSec, HTTP, FTP, DHCP, and DNS)
- An understanding of project planning and tracking practices
- Experience administering application servers, servlet containers, and web servers (WebSphere, Apache Tomcat, Mongrel, Microsoft IIS, Apache HTTP server, et al)
- Experience with infrastructure automation (Chef, Puppet, ControlTier et al)
- Experience with cloud computing (EC2, Google App Engine, Rackspace, et al)
- Expertise with multiple software build tools (Ant, NAnt, MSBuild, Rake, GNU Make, et al)
- Experience administering application servers, servlet containers, and web servers (WebSphere, Apache Tomcat, Jetty, Nginx, Mongrel, Microsoft IIS, Apache HTTP server, etc)
- Networking concepts, technologies, and protocols (TCP/IP, IPSec, HTTP, FTP, DHCP, and DNS).
- Experience with automated unit, functional and integration testing
If you are interested in taking on an opportunity that offers variety, innovation, and unique challenge every day, then we should talk.