Intentional Software knows your first career move is your most important. We are seeking applications for the 2014 ALPHAclass 3.0, a small group of unique and talented software engineers.

Open Positions

Software Engineer

What is the ALPHAclass 3.0?

It is how we refer to our exceptionally talented incoming new graduates. 2014 will mark our third year of targeting new and recent graduates to join our team in Bellevue, WA.

We are proud of the top talent we recruited and hired for our previous ALPHAclasses. These newest team members have given new meaning to “setting the bar” and we have high hopes for ALPHAclass 3.0. Building strong teams of extraordinarily motivated and brilliant software engineers is paramount to our continued success. If you grok what Intentional does and want to contribute to groundbreaking software development, read on!

What should I do next?

It’s a straightforward process and we aim to move things along…it’s competitive out there!

Here are some firsthand accounts about what it is really like to work at Intentional Software. Click on any of the questions below to see responses from our current ALPHAclass team members.

What does Intentional Software do?

Intentional Software is creating a run time and development environment for a new kind of programming: Intentional Programming. The development of this new kind of programming also involves diving into complex use cases so Intentional Software developers are involved in quite a diverse set of projects. Most interesting to me, personally, is that intentional programming is domain/language independent so very special care is taken regarding concepts such as abstraction and identity.Intentional Software is focused on transforming the way software is developed through structural code and meta-programming. Our current goal is to bring our core technology to product-grade through contractual and secondary products that leverage our core in a number of fields including manufacturing, space systems, and document creation.

We develop using a programing paradigm based on structured relationships between data, where data can be anything from actual database data to code. This means we can program “intentionally.” This allows us to, for example, develop a layout engine where content “lays itself out.”

Working on a new system of representing knowledge, information, and data that reflects the intentions behind that data. Data is a is high-level, transformable, and usable. A move away from bits to ideas.

What is it like to work at Intentional Software?

Day-to-day work at Intentional Software blends the best aspects of teamwork and independence into a relaxed, productive environment and cultures creative thought.  Input on projects is always appreciated and ideas are gauged based on practicality rather than any form of “pulling rank”.  This outlook creates a workspace in which all developers (from senior engineers to new-hires) are able to contribute actively and enhance the product.Compared to other positions in the industry with similar titles, you will write much more complex code. Intentional programming and Hungarian notation enable a way of talking about the code that, while cryptic, is highly efficient. The senior developers are always eager to discuss ongoing projects as well as improvements to the core technology. The environment is relaxed and highly conducive to both learning and innovation.

Intentional Software is a great place to work. Schedules are flexible, so you won’t be worried about traffic. Productivity is key, so no tedious meetings, just a quick daily Scrum where we answer our questions and boast of yesterday’s victories. The teams are small and focused, and everyone contributes to our combined success.

Fun. There are a lot of interesting things to work on and an environment with no administrative meddling!

What will I be doing?

Intentional Software’s active projects span multiple industries, so there’s no telling exactly what field you’ll be contributing to.  One thing is for sure, however—you’ll make use of our proprietary meta-language CL1, as well as C#, pretty much regardless of the project you end up on.You will likely be involved in the development of one of the domain-specific specializations of Intentional Software technology, as well as further improvements of the core technology itself. You will leverage C# and the .NET framework as well as a proprietary meta-language called CL1.

Spending a lot of time learning our system. Have an opportunity to do a variety of things.

You will be learning a ton. You won’t be treated like a code monkey. You will be making a meaningful contribution.

I want to work on something interesting and that has impact…

Then you’ve come to the right place.  Not only is Intentional Software working on groundbreaking projects, the teams that are doing so are relatively small—so you’ll be contributing in a meaningful way from the get-go.Excellent. The degree of impact per developer at Intentional Software  is extremely high. The problem space is unique because it involves challenging long held biases in the development of computer languages.

Don’t worry! Our projects are actively making contributions to a number of very exciting fields including manufacturing, intelligent healthcare, and space systems. Our project teams are relatively small, so even the most junior developers are solving the hard problems.

A job here is equivalent to working on the first object oriented languages. We are developing a whole new system from scratch. There is a lot of opportunity to witness and participate in major design decisions.

What is it like to be a new hire at Intentional Software?

The initial weeks will feel decidedly overwhelming, and that is for good reason—the learning curve and amount of new (unique to Intentional Software) information thrown at you can be challenging.  Luckily, those we hire here at Intentional thrive on a good challenge.  Between the support of the rest of the developers, and the new-hire information, tutorials, and write-ups,  it is certainly a doable process for those with the drive and desire.It can be overwhelming at first because the learning curve is steep. The helpfulness of senior developers, the diverse and interesting set of high impact projects, the relaxed nature of the environment, as well as the novelty of intentional programming all serve to offset the overwhelming nature of being a new hire. It is exciting to say the least :-)

The first two to three weeks at Intentional Software will be spent learning our core technology…the Intentional Domain Workbench. You will meet the team, get experience with our radical approach to software, and start learning the local lingo. You may find that the ramp-up time is higher than at many jobs, but your mentor will work alongside you the entire way to get you up to speed.

You’ll be developing using an extremely powerful methodology that isn’t used anywhere else yet, but will be used by everyone eventually. You’ll spend time learning and developing new tools to work with this technology.

A little overwhelming, at first. There is a lot to learn; you can’t just look things up on the internet. Talk to your co-workers; they are friendly and you will learn a lot.

What excites you about the technology, work, environment, and people?

Being able to participate in the creation of a new system for writing programs. The company is small enough that you get to speak directly to the people behind many parts of the system including the original designers.Here at Intentional, we are sitting on the bleeding-edge of a unique, groundbreaking technology—and we are applying it to real-world projects.  This, combined with the small team size and an environment that fosters creativity and independence, makes for a company that is in an ideal position to change how the industry thinks about software.

First, it’s definitely the ambitious nature of the core-technology. Intentional programming is unlike anything else. I don’t believe the set of problems that it is designed to solve would be encountered in such a way at any other company. Second, the diverse set of domains that we come into contact with serves as the subject of stimulating conversation.

We are out to change the world of software. How exciting is that? We are putting the ability to contribute to software in the hands of people with zero coding skills, including doctors, lawyers, and designers.

We are putting existing technologies together in brand new ways, enabling reasoning and collaboration between distributed teams each working in their favorite programming languages and tools.

It is very exciting to be a part of this company’s growth. I am constantly learning, and with so many new faces all the time, there are at least as many opportunities to teach. And as we mature as an organization, each of us is given the rare opportunity to help shape the future of a company.

Lots of interesting stuff to learn, and many friendly and smart people to work with.

What are the skills I need?

  • Problem solving
  • Abstract reasoning
  • Thinking outside the box
  • Asking questions
  • Knowledge of data structures, algorithms, and different programming paradigms
  • Ability to improve based on feedback, code reviews, and experience
  • Patience :-)

Our approach to software is radically different from traditional methods and requires you to think about software as a fluid, functional system with many layers of abstractions. Be ready to question your assumptions and learn new ways of thinking about software and data.

What will I learn if I come to work at Intentional Software?

How to capture intentions in a domain and represent that with various degrees of abstraction (i.e. make it “meta”).You will learn about intentionality, domain development, language theory, what it means to be “meta”, how to tackle complex and cryptic problem spaces efficiently, space (like the outer kind), manufacturing, and more.

There is absolutely no end to the learning at Intentional Software. You will learn how to design and reason about complex data systems. You will learn to write clean, highly extensible code. You will learn to communicate with team members as well as external customers. You will learn to mentor and to be a mentor. Learning is everywhere here at Intentional Software.

Is it more than a job?

It is a rare thing to be given to opportunity to enter on the ground floor of a company steeped in game-changing ideas—but that’s exactly what this is.  Intentional holds unlimited potential and is hard at work on multiple fronts, changing the way software is thought about and written.  It is more than a job, it’s a career and a new way of thinking.Absolutely. It is a professional career with unlimited growth opportunity. Intentional Software is an excellent place to work.

It is incredibly rare to find such a diverse range of cutting-edge projects under the same roof in so many different fields of computer science, and as we are now growing faster than ever, there has never been a better time to get involved. Joining Intentional Software is much more than a job. It is an opportunity to make a real impact on the world of computing alongside some of the best in the business.

Working here is a much better environment than academia or working for a big developer. There’s little administrative nonsense or meddling, colleagues are smart and motivated, and you get to learn a really cool technology that everyone will have to learn someday!