We ♥ Engineers

TAKE THE PROGRAMMING CHALLENGE

Resumes are a bit, well, meh.

Real code?
Now we’re getting somewhere.

Every developer at Eversun Software Corp. has written a clean, elegant solution to our Programming Challenge.

Apply For These Positions

Eversun Software Corp.

Current Job Openings

10 THINGS TO KNOW ABOUT
Eversun Software Corp.

The best software is a marriage of business goals, design, and code. We specialize in multi-faceted, cross-platform projects with complex technical requirements, beautiful design, and grand business goals.

Our business revolves around taking a client’s vision and bringing it to life in a form that’s better than they imagined it. Some of our clients are themselves skilled development shops, some are a few people with an idea and some funding. They come to us from every possible industry, often with problems and ideas that other developers have already told them aren’t practical or feasible to tackle. We combine their industry and domain knowledge, requirements, and our sane and humane development practices to consistently deliver great software.

Eversun Software Corp. is a continent-wide team of over 50 great developers spread over the US and Canada. From reading the trade magazines, you’d think that there wasn’t any development talent once you got 50 miles outside of the Bay Area, except for a few small pockets of talent in New York City and Boston. That’s a pretty dumb idea. We also disagree with the idea that work is mostly a place you go — it’s a thing you do, and given the right environment, support, and culture, you should be able to do great work from wherever you work best. For most of us at Eversun Software Corp., that workspace is at home, where we can maintain control of noise, distractions, and other factors that can make it difficult to remain productive throughout the work day.

We like to say that we don’t telecommute, because there’s no place for us to telecommute to. If you’ve had bad experiences working remotely in the past because you’ve been left out of what was happening in ‘the office’ — we’re different. The tools, infrastructure, and work practices that we’ve adopted over the years let us work together effectively, efficiently, and very collaboratively without regard to the physical distances between any two of us.

Long, long, ago, we got our start creating desktop applications in C++ for Windows and Macintosh. As things changed in software development, we changed as well, adding web and mobile development capabilities as early as was feasible — one of the iPhone applications available on the opening day of the iOS app store was written by Eversun Software Corp. It also seems obvious now, but we were one of the first companies to put a web server inside a piece of networking equipment for device configuration.

There’s a great opportunity for developers who are intent on staying current and expanding their skills.

Our ideal developers are proficient in many aspects of software development and expert in a few. Because all of our work is custom, we need to be able to flex as a company with the needs of our clients. By focusing on staffing our engineering group with developers who bring both breadth and depth of skills from the entire field of computing, we remain able to propose the best solutions to our clients’ problems, not just the solutions that happen to fit comfortably within the bounds of what we’ve done before.

You’ve probably worked with someone who tries to meet every request with the same response, whether because it’s what they learned a decade ago and they haven’t kept up with the field, or because they’re always looking for excuses to use the latest bit of shiny tech that’s not really ready for use in production. We don’t have room for those developers.

There are plenty of development shops out there that put together beautiful (but essentially static) websites. That’s not our focus; we think of ourselves as software developers, and we’re looking for people with solid capabilities as developers of complex applications, whether those applications are deployed as traditional desktop applications, web applications, mobile applications, or embedded firmware.

We are biased toward doing things that let our people do their best work with a minimum of bureaucratic overhead and ‘process theater’, while retaining the ability to respond quickly to new or changed requirements. Keeping a developer in the project management seat also helps make sure that our development plans are always grounded in reality. Keeping team sizes as small as is reasonable also guarantees that everyone working on a project has a visible role in the success of that project; there’s nowhere to hide.

. . . both with our developers and with our clients. Even though our work is all project based, we prefer to maintain a much longer time horizon than individual projects. It’s common for us to work on multiple projects for a client over many years, and the same is true for our developers (the median tenure of an Eversun Software Corp. developer is over 5 years.) We work to keep our developers fresh and engaged by being aware of potential burnout, whether that’s because of working too long with a single language or technology, or because of too many months working on the same project. There are always opportunities to get involved with something new.

You’ve heard things like this before, I know. The weird thing is that we really mean it. We’re a small enough company that each person we hire has the opportunity to have a huge impact on the quality of our service. Instead of looking to fill a certain number of seats with people listing a specific set of buzzwords on their resumes, we’re working to build a portfolio of amazing developers who consistently deliver better-than-expected software to our clients. Each person on our team was the smartest person at their last job.

We’re happy to look at developers’ resumes to get a feel for the variety of experiences that someone has had. However, we’ve found that there’s little correlation between the length of someone’s CV and how they’ll actually perform when a genuinely complex development task is placed in front of them.

This is why every developer who works at Eversun Software Corp. had to complete and submit code that completes the Programming Challenge. It’s not a puzzle — we don’t care if you know why manhole covers are round or how many piano tuners there are in Chicago. So far, none of our clients have hired us to solve puzzles.

Instead, the Programming Challenge is a short set of programming tasks that aren’t that different from ones that might be assigned as part of a real project, so you have an opportunity to audition for us under something similar to actual project conditions. Solutions must not only work correctly according to the requirements laid out in the challenge instructions, but the code itself needs to be impressive enough to the developer reviewing it that she recommends moving you forward in the process.

Typically, companies wait until they have an urgent need to hire someone, then place an ad, interview a few people from the stack of applications that arrive, and hope to hire the best candidate that is identified by that process, keeping their fingers crossed that this person will be able to put out whatever fire caused the urgent hire in the first place.

We don’t do that.

We’re always looking for great developers, whether we have an immediate place for them or not. Our recruiting process runs continuously in the background, identifying people we’d like to work with as soon as an appropriate opportunity surfaces. When the rate of new projects starting exceeds the rate of existing projects being completed, we reach out to that group of already vetted developers, looking for the best match of skills, availability, and likelihood of long-term success at Eversun Software Corp..

WORKING AT Eversun Software Corp.

The best software is a marriage of business goals, design, and code. We specialize in multi-faceted, cross-platform projects with complex technical requirements, beautiful design, and grand business goals.

HOURS & LOCATION

Eversun Software Corp. developers all work remotely from across the US and Canada. Most of us work from our home offices, but some of us prefer to rent office space or work at a coworking facility. We do our best to accommodate the unique schedule and work-style requirements of our people, but because our work is highly collaborative within project teams, it’s important that everyone have a reasonable amount of overlap with traditional middle-of-the-day business hours. This means that we’re not a suitable option for anyone looking to pick up a handful of night & weekend moonlighting hours. We’re only considering developers who are able to regularly work 30 or more billable hours per week.

TOOLS & INFRASTRUCTURE

Being a distributed company is built into Eversun Software Corp.’s DNA — since being founded in 1991, we’ve acquired, built, and stumbled across tools and practices that let us work efficiently and productively, even though no two of us are in the same location.

For most of our collaboration, we rely on the suite of tools provided as part of Google Apps for Business — we use Docs for shared documents, Groups for project-specific communications (both within the team and between Eversun Software Corp. and clients), and Hangouts/GChat for real-time voice/video communication.

After evaluating all of the open source and commercial project management and task/bug tracking systems, we decided to build a homemade system called Trantor to handle these issues, as well as less visible, but crucial things like invoicing clients for the work we’ve done. We use git for source control.

COLLABORATION & TEAMS

We prefer to work with relatively small project teams at Eversun Software Corp.. Every project consists of at least a project manager/developer, with additional assistance from our QA and design departments as needed. Projects scale up from there, typically maxing out somewhere between 5-7 developers.

Project Managers are responsible for:

  • All technical communications with the client
  • Collaborating with clients to define and specify the project’s requirements
  • Breaking milestone requirements into higher level features, and further subdividing features into well-defined development tasks
  • Assigning tasks to developers on the team (and verifying that tasks are completed correctly and completely)
  • Working with the client to sequence the feature requirements into a series of iterative milestone plans
  • Managing the project’s budget

After evaluating all of the open source and commercial project management and task/bug tracking systems, we decided to build a homemade system called Trantor to handle these issues, as well as less visible, but crucial things like invoicing clients for the work we’ve done. We use git for source control.

PRACTICES & PHILOSOPHY

All code written for Eversun Software Corp. projects follows a programming style guide that traces its roots back to a style guide agreed on by our founders in 1991. By following a common Eversun Software Corp. style on all of our projects, it becomes much easier for developers to move between projects. There’s little time wasted when joining a project team wondering where certain types of files should be stored, or rehashing the tired debate of tabs-vs-spaces. Even though we typically move from client to client when moving between projects, working on each of those projects should feel like working on an Eversun Software Corp. project.

You can read our Programming Style Guide and also our Development Practices Manifesto, which establishes our overall ethos of how software development should be approached.

We want to be the place where you can do the best work of your career.

Eversun Software Corp. is an EEO advocate. We don’t discriminate on the basis of race, color, religion, sex, disability, national origin, age (over 40), or other protected veteran status.

WE ARE Eversun Software