Full Stack Software Engineer

Remote
Full Time
Product Development
Experienced

Why should you choose Omatic?

Our clients: 100% of our clients are Non-Profit organization, focused on impacting the world in a meaningful way.  When you work at Omatic, you know you are building something that will help enable these organizations to meet their missions and bring about social good.

The team:  The Product Development team at Omatic stands apart from other tech organizations with the quality and character of our team. The members of the Products team from engineering, product management, UX, and QA are extremely kind, helpful, and supportive.  We believe that the answer to dealing with difficult days and difficult problems is being a part of team that is willing to help, crack a joke, and keep work light.

The company: The core values at Omatic are taken from Modern Agile principles that should excite any engineer: Make Safety a Prerequisite, Experiment and Learn Rapidly, Make People Awesome, Deliver Value Continuously, and focus on Customer Impact.  These principles shape the way we work and how we interact.

 

What are we working on?

Our entire Product’s team is driven to build the next-gen application for our customers called Omatic Cloud. At its core, it is an integration platform that helps our users move data from one 3rd party system to another. We do this through APIs, ingesting data into our data pipelines, and executing standard integration patterns.

But the product we have today is just scratching the surface of our vision!  While moving data from one location to another is an easy problem, to do it well with clean, accurate, and reliable processing is a difficult challenge that we are solving. Also, we set ourselves apart from other integration tools with our domain expertise.  It is this expertise that we will continue to build into the product to make something truly special in the market.

The product is a .NET based application hosted in Azure. We use C# for backend services, running in containers and using ASP.NET Web API project types. 

We strive to follow best practices for distributed architecture and microservices and look for ways to increase cohesion and decrease coupling.

The frontend of our project is a VueJS SPA application, with TypeScript and Quasar.

We use CosmosDB for most of our application database as well as blob storage and queues for messaging.

Some other tidbits:

  • We use FluentValidation for input validation.
  • We use Auth0 for identity management.
  • For messaging services, we currently use EventGrid, storage queues and soon, RabbitMQ.
  • We use Datadog for logging aggregation and visualization.
  • Our pipelines are built in Azure Devops and a ci/cd process deploys code changes from commit to lower environments automatically.  We release every two weeks to upper environments.
  • We value clean code and clean architecture, and we look to organize by vertical slices
  • We use DRY within boundaries but not across

 

What would your day-to-day look like?

We believe in small autonomous dev teams.  Each dev team consist of a Product Manager, Lead Engineer, UX Designer, QA Engineers, and 3-5 developers.  We follow typical agile rituals, and the day-to-day work is managed on each team’s Kanban board.  Each team holds a daily standup, a weekly grooming meeting, and the entire products team holds a sprint review every two weeks.

As an engineer on a dev team, the typical day would involve picking up a story off the board, committing changes and submitting PRs until the work is complete, assisting in code reviews, working with your QA Engineer if there are issues with testing, and assist with any deployment concerns.

Most importantly, we want you to build relationships and friendships within your team and across teams. We value collaboration and camaraderie.

We do not believe in feature teams.  The Product Manager, Lead Engineer, and UX Designer form a Triad.  This triad is responsible for uncovering important problems to solve, prototyping, doing user discovery, and working with their dev teams to build the best solutions to the most important problems.

 

What skills and qualifications should you have to be successful here?

You should be a .NET C# developer and experience in the Microsoft and Azure stack.

You value clean code and making code readable; not just for others, but also for yourself six months from now.

You should have some experience with a Javascript framework like Angular, React, VueJS, or whatever the current flavor-of-the-month framework is.  Our frontend is not complicated, so this is not a hard requirement, but we organize teams to be autonomous and are vertically sliced; meaning we do not have a frontend team, backend team, etc.  Our teams are responsible for the full slice of the stack on any feature.

We value collaboration and good communication, so it is important that you can communicate ideas and problems to others on the team.

There is a No Jerk policy.  You must be kind but also willing to communicate bad news and have difficult conversations in the pursuit of learning and improving. 

You should have experience with messaging frameworks.  While our platform is not fully event driven, we use event brokers to decouple and coordinate processes.

You have worked on a product with a distributed architecture.  You get bonus points if you somehow managed to not build a big-ball-of-mud and do microservices correctly.

Here are the technologies we use to build our product:

Technology

Required?

Years (if required)

C#

Yes

4+

ASP.NET Web API

Yes

4+

Redis

Yes

4+

B2B or B2C Product

Yes

4+

General Azure experience

Yes

4+

Javascript Framework (any)

Yes

4+

Azure Functions

No

 

VueJS

No

 

Typescript

No

 

Quasar

No

 

Docker

No

 

Kubernetes

No

 

EventGrid

No

 

SignalR

No

 

YAML

No

 

CosmosDB

No

 

Azure Storage Queue

No

 

Azure Keyvault

No

 

Share

Apply for this position

Required*
Apply with Indeed
We've received your resume. Click here to update it.
Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file