The work we do

Position profiles; typical projects; tools and technologies
How long is the typical project?

Most projects last from 3 to 12 months. For developers who like to try a lot of different things, we try to staff them on shorter projects and move them around. For developers who like to become experts in a particular area, we try to staff them on longer projects and keep them working in the same areas.

How many developers are on a typical project?

Most project teams have a core of between three and four developers, but some of our larger projects have contributions from almost everyone in the group (in one way or another).

Position profile - Software Developer

Software developers build the tools that help our clients and consulting teams make multi-million-dollar decisions. Our software ranges from single-user desktop tools to large multi-server parallel optimization frameworks. We are passionate about creating software with both analytic rigor and a refined user experience.

Our software developers are intimately involved with the business issues. This means we work closely with project and client teams to fully understand the business problems our software is being built to solve. We don't get someone's specs; we design and build the software from the ground up.

Position profile - Software Test Developer

Software Test Developers at ZS make sure our software actually does all the great things we want it to. We collaborate equally with software developers and business users, understanding both the technical nuances of the software and the underlying business needs. This means that we spend our time looking for tough, subtle bugs and pushing applications to their limits. We don't sit with a mountain of feature specifications confirming that yes, Ctrl+C really does copy the currently selected text to the clipboard--or if we do, we'll take 5 minutes to automate this test so that we never have to think about it again. We have much more interesting problems to solve. Like making sure that our software isn't just useful, it just feels right. Like defining what "just feels right" really means--bringing fuzzy ideas into focus.

We’re curious about all aspects of software development, not just testing. We think deeply about how to build better software and put those ideas into practice. We find great joy in seeing the huge effect our work has on the software.

Typical projects

Examples of software applications created by the software development group are: a high-end desktop tool for business users, large-scale numerical optimization tool using grid computing, and an easy-to-use browser application for sales reps. Depending on scale, projects can last from a few months to a year. Some teams build applications from the scratch and other teams build new versions of existing applications. In either case, developers are involved throughout the entire software development lifecycle.

Tools and technologies

We believe that having the right tools is important to keeping developers happy and productive. This means that all of us have computers that are no more than 18 months old, with dual flat panel monitors, and plenty of RAM and hard disk space. In addition to our core tools (compilers, debuggers, editors, and profilers), most of us have a few other pet utilities that we've come to depend on, all of which are provided by ZS.

We believe that applications should be written in the highest-level language possible. Thus, although we still write performance-critical code in C and C++ (and lots of us could write in assembler if it really came down to it), most of our programming is done in .NET (VB.NET or ASP.NET). Our web work usually involves a fair amount of client-side JavaScript as well.