Company

CometricsSee more

addressAddressPittsburgh, PA
type Form of workFull-Time
CategoryInformation Technology

Job description

Job Description

About Us
CoMetrics is a technology cooperative and certified B-Corp. We support the fabric of our economy by leveling the playing field for local and regional businesses. We are 90% owned by current and former employees. This fundamentally changes the dynamics of the business as compared to big tech and venture-backed companies. We’ve got a pretty special thing going and employees tend to stay for a long time.

 

What We Do (actually what we do, not fluffy PR stuff)
Companies share their financial and operational data with CoMetrics. We use the data to generate benchmarks and deliver this back to companies via user-friendly web dashboards and tools. Customers use these products to make data-driven decisions instead of using conjecture.

 

Our Stack (and future plans)

  • Deployed in AWS
    • Mostly depend on low-level services (EC2 Windows instances for compute, S3 for storage, VPC for networking).
    • We use home-grown .NET and PowerShell code for automation. This will need investment in the coming years as we upgrade to .NET 8 and move the needle a little more towards managed services (e.g. functions/lambdas) and open-up the ability to deploy on Linux.
  • .NET Framework 4.6.2 written in C# on the backend
    • Will be ported to .NET 8+ over the next few years. We don’t do any heavy platform-specific stuff (e.g. mobile apps), so the extent of the pain in upgrading will be in a limited number of places where we assume Windows OS (e.g. Certificate Store).
    • We write a fair amount of open source code. Anything that isn’t core intellectual property is pushed into open source. Here are the three projects we author within: OBeautifulCode (fills gaps in .NET), Naos (infrastructure), Vuescape (to wrangle Vue.js). These projects unfortunately have very little documentation, but we actively code in them and are happy to be doing our part to share with the world.
  • Persistence in Microsoft SQL Server
    • We use the open source Naos.Database framework at the application layer to talk to the database. This framework supports an impressive breadth of information exchange paradigms such as event sourcing, streams/processing, message bus, producer/consumer queues, document databases, CQRS, and timeseries databases. As such, it enables us to efficiently configure the architecture for the problem at hand, instead of forcing the problem into a single paradigm or multiple paradigms but over a disparate set of technologies.
    • We have a few places where we interact with SQL Server directly, but most of that will convert into using Naos over the coming years.
  • Vue.js using TypeScript on the front-end
    • Single Page Applications in Vue 2, with all new/major features being developed in a newly created Vue 3 app.
    • Front-end consumes data from self-hosted/OWIN .Net Framework Web APIs.
  • Legacy platform
    • We have a classic ASP.NET legacy platform using stored procedure application logic that we are planning to shut down in the next two years.

 

Our Philosophy on Software

  • Understand the problem and own it fully.
  • Always make things better. Either your platform is evolving or it’s dying. Limit your use of duct tape otherwise it will spread throughout your whole system and eventually you will be hamstrung.
  • Most steps forward should be intrinsically coupled with paying back technical debt.
  • Find the right “home” for code. Be clear on the major concepts, create repositories to house their implementation, and refactor your repositories/relationships as you discover more about the problem space. When there are clear homes, then the right things will be put in the right places, which accelerates development over time.
  • Don’t follow shiny objects. Be pragmatic. Use your hard-earned wisdom (and your colleagues' experience!) to make stuff that works really well; it doesn’t have to be trending. The world cycles through the same paradigms; what seems new now is likely just something old that has been rehashed.
  • Don’t follow any software development methodology dogmatically. Agile, scrum, TDD, waterfall, prototype, Kanban, feature-driven - these are all just tools. You don’t tell a carpenter to build a house with just a hammer. Use the right tool for the job at hand. The most important thing you can do is…(GOTO first bullet above)

 

Organization Structure
Including you, we are a team of 3. You are reporting to the CTO (who reports to the CEO) and your other colleague is a Senior Software Engineer and owns the frontend, but also has backend responsibilities. The CTO spends 75% of his time coding, almost entirely in the backend. You and he will co-lead the backend and over time it will be handed-off to you as we grow. Overall, our company runs extremely lean. Everyone is critical to our success. There are no armchair roles. The whole company meets weekly, so you’ll have a strong understanding of our roadmap and how progress is being made across the company, as well as a strong understanding of the state of our existing and potential customers.

 

About the Role/Responsibilities
You will own a number of major components in the pipeline of data intake to report generation. This pipeline is in various stages of being modernized. In some cases you will re-write a section of the pipeline from scratch. In other cases you will maintain existing code until we have the bandwidth to modernize. Because of the high level of ownership, you will be called on to propose the architecture/structure/design before you code and collaborate with colleagues to ensure it aligns with the big picture and roadmap. The majority of your time will be spent writing code in .NET Framework/C#, but you will also be called upon to help with tooling, DevOps, SQL queries, code and design reviews for colleagues, team practices/process/workflow/conventions, SaaS platform adoption (e.g. choose a vendor for X), customer support (when there’s an issue our operations team cannot resolve), and general bug bashing.

 

Qualifications

  • 10 years+ .NET development in C#.
    • Must have a strong command of:
      • LINQ
      • Reflection
      • Asynchronous execution
      • Generics
      • Serialization
      • Lambdas
      • Functional programming approaches within C#
      • Nuget (how it works, not just using it)
    • Being versed in the following is a plus:
      • ASP.NET (Web API and its various incarnations)
  • Strong experience with SQL Server and T-SQL (not just using some ORM to abstract it away).
  • Strong understanding of paradigms in data processing and data architecture, including:
    • Relational databases
    • Timeseries databases
    • Event sourcing
    • Document databases
    • Producer/consumer queues
    • Message/service buses
    • CQRS
    • Multidimensional data stores
    • Data pipelines
  • Strong understanding and experience with automation of CI pipelines.
    • Being comfortable in PowerShell is a plus
    • Being comfortable doing basic administration in Windows Server is a plus (e.g. Scheduled Tasks, Process Monitoring, Certificate Store. NOT Active Directory, NOT Group Policy)
  • Strong experience in writing consumer-friendly APIs (for internal use, not external).
  • Completely comfortable debugging issues within a distributed system.
  • Experience in understanding and contributing to the architecture of whole systems.
  • Experience having iterated on the same problem-space through multiple changes in business requirements and/or multiple business cycles.
  • Command over Cloud concepts and common services provided (e.g. compute, storage, network, and the higher level services built on top of those). Basic cloud administration experience is a plus.

 

Benefits

  • Competitive salary (based on experience, starting at $150K)
  • Potential for profit-sharing and bonuses
  • Fully remote, with flexible working hours and 6 weeks of paid time off
  • Health insurance - medical, dental, vision
  • 401k with company contribution
  • Opportunity to be an owner of the business

 

How To Apply

In addition to submitting your resume via the web application, please email hr@cometrics.com and answer the following two questions:

  1. What technologies or paradigms in data systems are you most excited about right now?
  2. Tell us about a system that, in hindsight, you would have designed differently.

 


CoMetrics is proud to be an Equal Opportunity Employer. Technology is better when it's built by diverse teams. All qualified applicants will be considered for employment, professional development, and advancement without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or any other legally protected status.

Refer code: 8700809. Cometrics - The previous day - 2024-03-23 18:15

Cometrics

Pittsburgh, PA
Jobs feed

Sweetgreen - Kitchen Team Member - Now Hiring

Sweetgreen

Los Angeles, CA

Region Manager, Onsite Service - Central Region

Karl Storz Endoscopy - America

Los Angeles, CA

$89,000 - $142,050 per year

Copy Supervisor

Eversana

Kansas City, KS

Billing Specialist Hybrid

Teksystems

San Antonio, TX

$16.5-$18 per hour

Armed Courier

Brinks

Los Angeles, CA

$20 - $25 per hour

Revenue Cycle Specialist III - Now Hiring

Cedars-Sinai

Los Angeles, CA

Toledo, Ohio, Psychiatrist Job

Recruitwell

Toledo, OH

Associate Veterinarian - Newark, DE

Vca Animal Hospitals

Newark, DE

Hospital Medicine APP - ACNP/PA

Staffmed Health Partners

Lahoma, OK

Share jobs with friends

Related jobs

Senior Software Engineer (Backend, .Net) - Remote

FLEX Senior Software Engineer

Marriott

Sylvania, PA

yesterday - seen

Senior Software Engineer - Mobile (Android)

Marriott

Sylvania, PA

yesterday - seen

Senior Scientist, Full Stack Developer/Software Engineer - Protein Design

Johnson And Johnson

Gwynedd, PA

2 weeks ago - seen

Senior Software Engineer (ColdFusion)- Remote

M3Usa

$102K - $129K a year

Fort Washington, PA

2 weeks ago - seen

Senior Software Engineer - UI Developer

Marriott

Sylvania, PA

2 weeks ago - seen

Senior Java Software O&M Engineer (Onsite)

Raytheon Technologies

State College, PA

3 weeks ago - seen

Senior Java Software O&M Engineer (Onsite)

Raytheon

State College, PA

3 weeks ago - seen

Senior Software Engineer – AEM and JAVA

Marriott

Sylvania, PA

3 weeks ago - seen

Senior Software Quality Engineer

Qurate Retail Group

West Chester, PA

4 weeks ago - seen

Java Full Stack Lead Software Engineer - PDM Senior Consultant

Deloitte Us

Mechanicsburg, PA

a month ago - seen

Senior Staff Software Engineer - Autonomy Data: MP Data Engine

Aurora Innovation

United, PA

a month ago - seen

Senior Software DevSecOps Engineer

Philips

Pittsburgh, PA

a month ago - seen

Senior AI Workforce Development Engineer

Software Engineering Institute

Pittsburgh, PA

a month ago - seen

SENIOR SOFTWARE ENGINEER

Northwest Bank

Warren, PA

a month ago - seen

Senior Software Engineer - Commerce Order Engineering

Marriott

Sylvania, PA

a month ago - seen

Java Full Stack Lead Software Engineer - PDM Senior Consultant

Deloitte Us

Philadelphia, PA

2 months ago - seen

Senior Software Engineer (New Health Care Company)

3M Health Care Business Group

Pittsburgh, PA

2 months ago - seen