Our Technical Expertise

Primary Expertise:

  • Angular, Angular 2+ and AngularJS 1.x
  • TypeScript and ES6/ES2015, the next generation of JavaScript
  • JavaScript, including complex single-page-applications
  • Java, primarily for server-side development
  • Spring, including Spring Boot
  • Clojure, a JVM-based language
  • MS SQL Server, PostgreSQL, and other RDBMSs
  • JIRA, expertise provided at our sister company Expium


Our Application Expertise

  • Complex business software systems
  • Rich Web and Rich Client applications, compelling user experiences
  • Wireless / mobile applications, with users scattered across a building, campus, or continent
  • Integration between legacy and new systems
  • Distributed / disconnected applications - those that have only occasional contact with a server
  • Exhibit / Kiosk / Touchscreen software
  • Scalable applications to serve a large number of users effectively
  • Application integration
  • ETL, to prepare data for use by OLAP/BI systems
  • Automated, rules-based configurator systems
  • Rules-based systems for billing and other configurable calculations

Angular Java Spring Clojure Python .NET PostgreSQL JavaScript HTML5 CSS3 NodeJS

Our Development Approach

Rapid Development

Many projects can launch very quickly and cost-effectively by integrating a set of working, off the shelf technologies. This approach often carries a project to 80% of its key features. For the great majority of your features needs, don't reinvent the wheel.

For the last 20%, though...

Reinvent the Wheel

The conventional wisdom of "buy, don't build" is generally right. We counsel potential customers with that advice. However, our customers have often tried that approach and failed. To meet the most unusual needs, and to differentiate a product/project in the marketplace, reinventing one critical aspect of the needed software is often exactly the right move.

If you use all of the same tools that everyone else uses, you will generally get the same results everyone else gets.

Small, Skilled Teams

Oasis Digital typically deploys a small team of top-notch performers, even if they are more expensive per hour than commodity developers. It costs our customers less to develop quality code the first time, than to inexpensively create a mess.

Remarkable Software

We don't aim to make normal software and compete on price to meet minimum requirements. Rather our software almost always elicits a "Wow!"

Just Start

It is quite helpful to have detailed software requirements in hand at project start. If you have those, we will be thrilled to start with them. However, with Oasis Digital, your project can thrive without detailed requirements up front!

Rather, you need a vision. With that vision, we figure out the details of the software to implement a piece of your vision. Then you can steer to fill in the holes, discovering more detailed requirements as your project progresses.

The Customer is Almost Always Right

Part of our value is that we don't only follow directions. We listen to your vision and requirements, add our software expertise, and create truly excellent solutions. We do professional development of quality software; for poor work, go elsewhere.

Our Development Process

Our agile development process borrows from many sources (including Scrum, Extreme Programming, and others), and adds our own distinct elements. Among other things this means:

  • Meeting the customer's needs by delivering working software regularly is our highest priority. We implement features and systems incrementally.
  • Our development is test intensive; some code is written test-first.
  • We work hard to discover the customer requirements before implementation, where possible. But:
  • We embrace change. Change is not the enemy, rather our ability to deal with new requirements effectively is a competitive advantage for our customers. We win customers away from change-averse organizations.
  • We check in working code frequently, and usually integrate our work on a daily basis.
  • We take internal and external quality seriously.
  • We write code with short, well named methods and classes.
  • We practice Pair Programming occassionally, to build a shared understanding of problems and solutions.
  • We follow coding standards, and help shape those standards.
  • We each learn about many parts of a project, and multiple projects, over time.

Our Developers

In addition to the above, Oasis Digital developers:

  • Communicate effectively with our customers... in person, via phone, and in writing.
  • Read and understand specifications, even when they are incomplete.
  • Ask questions where clarification is needed, but also make good, domain-based assumptions where appropriate.
  • Compare specs to running software, noting what is not yet implemented.
  • Keep track of what items of work need to be done; manage our work queue.
  • Write test cases (usually in code, sometimes in documents).
  • Work closely with other developers.
  • Take responsibility for making features and projects work.
  • Solve unanticipated problems in a resourceful manner.