Our Technical Expertise

Primary Expertise:

  • Angular, versions 1.x though the latest 4 and 5
  • TypeScript and ES2015/16/17, the next generation of JavaScript
  • JavaScript, including complex single-page-applications
  • Node.JS
  • Java for server-side / API development
  • Spring, including Spring Boot
  • MS SQL Server, PostgreSQL, and other RDBMSs
  • JIRA expertise, provided at our sister company Expium

Supplemental:

Our Application Expertise

  • Complex business software systems
  • Scalable applications to serve a large number of users effectively
  • Application integration
  • Wireless / mobile applications, with users scattered across a building, campus, or continent
  • Automated, rules-based configurator systems
  • Rich Web and Rich Client applications, compelling user experiences
  • Integration between legacy and new systems
  • Distributed / disconnected applications - those that have only occasional contact with a server
  • Exhibit / Kiosk / Touchscreen software
  • ETL, to prepare data for use by OLAP/BI systems (blog posts)
  • 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...

Rarely, 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 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. The challenge is to choose wisely, where to reinvent and where to reuse.

Small, skilled teams

Oasis Digital typically deploys a small team of experts per project. 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 even if the requirements are being discovered while work is underway.

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 excellent solutions.

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.