Senior Full-stack Engineer
Location
United States
Posted
50 days ago
Salary
$175K - $220K / year
Seniority
Senior
Job Description
Senior Full-stack Engineer
Diffit
About Diffit Diffit is the leading AI-powered instructional materials platform for educators, designed to help teachers do their best work more sustainably. We are earning real revenue, have achieved rare levels of traction with minimal funding, and are just getting started. Join a growing remote-first and mission-focused AI edtech company to help provide quality, safe and affordable instructional resources for teachers and students. The Role At Diffit, engineers work closely with Product and Design to build thoughtful, high-impact features for teachers. We’re a small, full-stack team, so you'll work across the stack (React on the frontend, Python/FastAPI on the backend + frontier LLMs from various providers) to ship end-to-end functionality (using AI agents to help, of course). Beyond feature work, you’ll help shape our architecture, improve internal tooling, and contribute to a platform that tens of thousands of teachers rely on every day. We move quickly, learn constantly, and stay focused on delivering real value to teachers. Responsibilities - Drive Projects End-to-End Engineers at Diffit own their work from kickoff through launch and beyond. That means designing, implementing, testing, and monitoring your features. It means being thoughtful about how your work fits into the bigger picture and leveraging agents effectively to ship quality code quickly. - Product-Oriented Thinking We all care deeply about the teachers we serve. Engineers are expected to think critically about user needs, provide input on product decisions, and ensure our technical solutions actually solve real problems. You’ll collaborate closely with product, design, and customer success to stay grounded in what matters most. - Communicate with Clarity and Candor Communication is a core part of engineering. You’ll explain tradeoffs, share progress, give and receive feedback, and collaborate across disciplines. We value clarity, curiosity, and a willingness to ask the hard questions early. - Contribute to a Supportive Team We believe great teams are built on trust and shared responsibility. That means helping unblock others, pitching in when workloads are uneven, and treating teammates with respect and kindness. - Work Autonomously with Velocity We move fast: not by cutting corners, but by staying focused. Engineers at Diffit are self-directed and tenacious. Tasks typically have a single owner, and it’s up to you to drive them forward with speed, pragmatism, and attention to quality. - Continuously Improve and Learn We expect engineers to grow and to help others grow. That might mean learning a new tool, reflecting on a mistake, mentoring a teammate, or revising how we work together. Curiosity and humility go a long way. - Level Up The Team Senior engineers are force multipliers. They own complex initiatives, provide technical direction and vision, and create leverage by proactively solving technical problems. Senior engineers raise the bar for the whole team. Requirements - 5+ years of engineering experience building and shipping web applications - Proficiency with modern full-stack web development ideally using FastAPI, React, Postgres, or other similar technologies - Strong communication skills including the ability to explain technical ideas clearly and collaborate cross-functionally - Track record of ownership - you’ve taken responsibility for projects or major features and seen them through - Bias toward action and pragmatic problem-solving - you know when to move fast, when to ask questions, and when to slow down - Curiosity and a growth mindset - you actively seek feedback, enjoy learning, and care about improving your craft - Startup experience preferred - we're a small team, and evidence that you thrive in similarly small, relatively unstructured, and highly dynamic environments is a big plus. What We Offer: - Competitive salary and benefits package. - Fully remote work environment with in-person offsites. - The opportunity to work on a meaningful product that impacts the future of education. - Collaborative and supportive team culture.
Related Guides
Related Categories
Related Job Pages
More Engineer Jobs
Our Team Dandelion Health was founded in 2020 by experts in health tech, hospital systems, academia, and clinical AI. We are building the world’s largest AI training and clinical development platform. Today, we pride ourselves on our ability to make data access as easy as possible for AI developers, pharma, and medical devices, while raising the bar for patient safety and data quality. Tomorrow, we will be the place where any healthcare organization can go to build a responsible clinical AI product. Our culture is all about learning from data and improving, so we can help our clients improve health through AI. Meet the rest of our team here. Our Data We partner with health systems to safely and ethically make their de-identified patient data available to AI developers. Currently, the data is acquired from Sharp HealthCare, Sanford Health, and Texas Health Resources – with two additional U.S. health systems joining soon. We have clinical data dating back to July 1, 2016. This data represents over 10 million patients and includes but is not limited to: - Structured data (e.g., 100% of the EMR, including some claims) - Unstructured text (e.g., clinical notes, radiology reports) - Images (e.g., DICOM, pathology) - Video - Waveforms - Continuous streaming monitoring data Your Role Dandelion treats patient privacy as a top priority, and our privacy preserving processes need to be best in class. These processes involve redacting or masking protected health information (PHI) e.g., patient names or event dates. As an engineer focusing on privacy and de-identification, you will: - Partner with our Director of Privacy and Clinical Informaticists to define de-identification rules at a granular level (e.g., column in an EMR table, metadata field in an image or waveform). - Create software that performs these de-identification rules at high scale (we de-identify billions of rows of data and millions of images each month). - Generate and execute quality assurance plans to validate our de-identification processes. - Run de-identification pipelines in health system cloud environments, and optimize these pipelines to minimize error rates, improve processing efficiency, and reduce manual effort and cost. Required technical skills - 2+ years of development experience in Python or an equivalent language in a professional setting, across the full software development lifecycle (design, implementation, testing, deployment, maintenance); - Familiarity with one or more command languages (e.g. Bash) and SQL. Required non-technical skills - Demonstrated ability to design and improve workflows, including associated operating procedures and quality assurance; - Strong analytical decision-making and organizational skills; - Perseverance and practical problem solving; - Humility and strong team collaboration; - Enthusiasm about protecting patients’ personal data. Preferred skills - Proficiency with data structures such as Pandas DataFrames; - Previous software deployment in a cloud computing environment (e.g., AWS, Azure); - Familiarity with virtualization and containerization (e.g., Docker, VMware); - Prior experience working with healthcare data; - Experience interacting with non-technical stakeholders to deploy software solutions. Team Benefits - Remote work and flexible hours. Availability needed for meetings, which we try to keep to a healthy minimum - Complete wellness benefits including healthcare, dental, vision, PTO, sick days and more. Ask for details - Professional development days to build your skills - Collegial work environment - Academic bent towards inquiry and problem solving but start-up speed and flexibility - Great balance of focus time to work on projects but easy to access team members to discuss issues and work collaboratively - Dandelion is a mission-driven company that is focused on improving patient care
Analytics Engineer
NcontractsRisk management and compliance software purpose built for financial services organizations.
WHO WE ARE Headquartered in Nashville, Tennessee, Ncontracts leads the industry in integrated risk management and compliance solutions, serving over 5,000 financial institutions nationwide. As a seven-time Inc. 5000 Fastest Growing Companies honoree and consistent year-over-year recipient of "Best Places to Work" awards, we offer a thriving, work environment where career growth and life-work balance go hand in hand. At Ncontracts, you'll join a team of industry experts dedicated to strengthening the financial services sector through innovation and thought leadership. We're seeking creative, collaborative, and self-driven professionals across all areas of our business - from developing cutting-edge solutions to sales, marketing, customer support, and beyond. Join us in our mission to make the financial industry stronger and more resilient, while advancing your career in a supportive, dynamic environment that values your unique skills and perspectives. THE ROLE We are currently seeking an Analytics Engineer to join our growing team! The Analytics Engineer reports to the Data Architect and is responsible for building the data models and analytical frameworks that drive product improvement across Ncontracts’ suite of risk management and compliance solutions. This role sits at the intersection of data modeling and product analytics. You’ll own the transformation and presentation layers that turn raw product data into actionable insights, working closely with engineering and product teams to identify what’s working, what isn’t, and why. You’ll need strong SQL and modeling skills to build reliable, well-tested datasets, and equally strong product intuition to know which metrics actually matter for our financial institution customers. Our modern data stack includes Snowflake as our cloud data warehouse, dbt for data transformation and modeling, and Sigma for business intelligence and visualization. You’ll own the modeling layer end-to-end—designing well-structured, documented, and tested datasets that power decisions across the organization. This role will have a direct impact on our customers and our brand. You’ll deliver the next generation of customer-facing reporting, dashboards, and data products that elevate the Ncontracts experience and set a new standard for how financial institutions interact with their data. We’re looking for candidates who are curious, resourceful, and genuinely excited about AI—whether that’s using it to streamline their own workflows, finding smarter ways to validate data, or simply staying on top of how the landscape is evolving. You don’t need to be an ML engineer, but we want someone who leans into new tools and approaches rather than waiting to be told to use them. YOU WILL - Design, build, and maintain the data models in Snowflake using dbt that power product analytics—from raw source data through to business-ready, well-documented datasets - Define and maintain metrics frameworks and KPIs that drive product and business decisions across the organization - Build interactive dashboards and self-service reports in Sigma that empower stakeholders to explore data and answer their own questions - Design instrumentation strategies with engineering teams to ensure we’re capturing the right signals from Ncontracts’ product suite - Partner with product managers to translate fuzzy questions (“why is this feature underperforming?”) into precise, answerable analyses - Conduct deep-dive analyses including funnel analysis, cohort analysis, and root cause investigations to surface product insights - Own data quality end-to-end, including dbt tests, validation, documentation, and monitoring across all models - Optimize query performance and warehouse costs in Snowflake through efficient modeling patterns, materialization strategies, and resource monitoring - Establish and enforce data governance standards, including naming conventions, documentation requirements, and consistent metric definitions to maintain a single source of truth - Contribute to the evolution of the data platform by evaluating new tools, technologies, and best practices YOU BRING (Qualifications) Technical Foundation - 5+ years of experience in analytics engineering, data analytics, or a related data role with demonstrated technical expertise - Strong SQL proficiency with experience writing complex queries for data transformation, analysis, and performance optimization - Hands-on experience with dbt (dbt Core or dbt Cloud), including model design, testing, documentation, and deployment workflows - Experience working with Snowflake or a comparable cloud data warehouse (BigQuery, Redshift, Databricks) - Solid understanding of data modeling concepts, including dimensional modeling, slowly changing dimensions, and star/snowflake schemas - Proficiency with data visualization and BI tools, preferably Sigma, with the ability to create compelling dashboards and reports for diverse audiences - Understanding of software engineering fundamentals: version control (Git), testing, code review, and CI/CD practices - Comfort working with semi-structured data (JSON, nested structures) - Bachelor’s degree in Computer Science, Data Science, Statistics, Mathematics, or equivalent practical experience Analytical Mindset - Experience building metrics frameworks and defining KPIs that drive product and business decisions - Track record of error analysis and root cause investigation on product and data quality issues - Ability to work backwards from business questions to data requirements - Healthy skepticism about data quality and metric definitions—you ask “should we trust this number?” before building on it Product Orientation - Genuine curiosity about how products work and why users behave the way they do - Experience partnering directly with product and engineering teams in a collaborative, cross-functional environment - Communication skills to make technical findings accessible to non-technical stakeholders - Comfort with ambiguity and the ability to iterate toward the right answer rather than waiting for perfect requirements BONUS POINTS (Preferred Qualifications) - Knowledge of financial services data domains such as lending, compliance, risk management, or regulatory reporting - Background in high-volume event data, behavioral analytics, or product telemetry systems - Exposure to funnel analysis, cohort analysis, or experimentation frameworks (A/B testing) - Understanding of software system architectures and how they generate telemetry - Enthusiasm for AI and a habit of using AI tools to accelerate your own work—writing code, automating tasks, exploring data, or prototyping solutions - Experience measuring or evaluating AI-powered product features, including defining success metrics, tracking adoption, or analyzing model performance from a product analytics perspective - Familiarity with emerging data and workflow patterns, including tracing, observability, and agent-based systems - Experience with Python for data transformation, scripting, or automation tasks - Experience with data observability platforms (Monte Carlo, Elementary, Soda) - Knowledge of compliance frameworks relevant to financial services (SOC 2, GLBA, FFIEC) - Experience implementing data contracts, data mesh, or modern data governance frameworks - Exposure to orchestration tools such as Airflow, Dagster, or Prefect - dbt Analytics Engineering Certification or SnowPro certification - Familiarity with reverse ETL tools (Census, Hightouch) for activating data in operational systems - Contributions to open-source data or analytics projects WE OFFER ALL FULL-TIME TEAM MEMBERS: - A fun, fast-paced work environment - Responsible PTO Plan that meets or exceeds state and local medical and family leave laws - 11 paid holidays - Community and social events to keep you connected and engaged - Mental Health Benefits - Medical, Dental and Vision insurance - Company-paid Group Life Insurance, Short- and Long-Term Disability - Flexible Spending Account & Health Savings Account - Aflac Benefits – Critical Illness, Cancer Protection, & Hospital Choice - Pet Insurance - 401 (k) with company match with eligibility on Day 1 of employment - 2 Paid Volunteer Time Off Days - And much more! *Part-Time, Temporary, Contractor, and Intern positions are not eligible for company benefits, including paid time off, health insurance, and other employee benefit programs. AAP/EEO Statement Ncontracts provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state, or local laws. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation, and training. Other Duties Please note this job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job. Duties, responsibilities, and activities may change at any time with or without notice.
Castle protects modern platforms from fraud and automated abuse. Most people think of bot detection mostly as a web problem. But when attackers face heavily protected web APIs, they often move to the mobile app to see if it can be abused instead — or if the mobile APIs are easier to automate. That’s why Castle protects both web applications and mobile apps. For the web we ship a JavaScript agent. For mobile, we ship SDKs for iOS and Android. These SDKs run directly inside our customers’ applications. They collect device signals, behavioral signals, sensor data, and other indicators that help us determine whether a user is legitimate or automated (bot), and whether they are trying to abuse the application — for example by creating large numbers of fake accounts or automating actions. Most mobile SDKs are analytics wrappers or thin API clients. Ours runs in a much more adversarial environment. Attackers run emulators, patch apps, tamper with signals, and attempt to automate interactions. Parts of the SDK also need to resist reverse engineering and manipulation. At the same time, the SDK runs inside other companies’ production apps, often used by millions of users. It has to be fast, stable, and easy to integrate. It cannot break builds or introduce noticeable performance overhead. It has to behave correctly across thousands of device models, OS versions, and application environments. Building software under these constraints requires a different mindset than building a typical mobile application. Castle is a small, profitable team building a real-time trust layer for modern platforms. Our mobile SDKs are a core part of that system. They collect signals used for device fingerprinting, behavioral analysis, and bot detection, and they must do so reliably at scale. This role owns the mobile SDKs end to end. You will work on the Kotlin and Swift codebases, evolve the SDK architecture, design APIs used by thousands of developers, and ensure our mobile instrumentation remains reliable as the mobile ecosystem evolves. You will work on problems such as: - Designing and improving the architecture of our iOS and Android SDKs - Building reliable signal collection mechanisms across device models and OS versions - Maintaining SDK performance and minimizing overhead inside customer applications - Designing APIs and developer experience for third-party integrations - Managing build systems, versioning, CI/CD pipelines, and artifact publishing - Ensuring the SDK remains reliable as mobile platforms evolve We are looking for someone who has already worked on mobile SDKs or similar infrastructure that runs inside other applications. You have strong experience with Kotlin and Swift (and ideally some C++). You understand mobile dependency management, build systems, and release workflows. You have worked with Gradle, CocoaPods, Swift Package Manager, or similar tooling. You care about performance, stability, and developer experience. You know that an SDK failing inside someone else’s production app is very different from a bug in your own codebase. Maybe you’ve already experienced what it feels like to introduce a critical bug in software running on millions of devices — and you want to build the tooling and processes that allow fast iteration without sacrificing safety. If you enjoy building systems that run inside millions of devices and quietly power security decisions behind the scenes, you will probably find this role interesting. And yes, since this is still a job post: we pay US-level salaries globally, we’re remote-friendly in Europe, and we care far more about outcomes than hours.
Device fingerprinting is often misunderstood. From the outside, it looks like a simple problem: collect a set of signals from the browser, hash them, and suddenly you have a device identifier that can track bots and fraudsters. Anyone who has built fingerprinting systems at scale knows the reality is very different. Browsers and operating systems evolve constantly. APIs appear, change behavior, or disappear. Hardware configurations change. Users travel, change networks, or simply resize their screens. At the same time, fraudsters actively manipulate their environment using anti-detect browsers, patched Chromium builds, canvas manipulation, and residential proxies. They clear storage, rotate identities, and try to make multiple devices look like one — or one device look like many. In practice, production-grade fingerprinting systems are much more than a hash of JavaScript attributes. They combine reliable client-side signal collection with sophisticated server-side logic that determines whether two fingerprints actually belong to the same device or user — even when the signals are noisy, drifting over time, or intentionally manipulated. Castle is a small, profitable team building a real-time trust layer for modern platforms, and fingerprinting is one of the core components of that system. Many fingerprinting systems look stable at first but break down under real-world conditions. Signals evolve, environments are manipulated, collisions happen, and what once looked like a reliable identifier becomes unusable. Our approach is to treat fingerprints as evolving representations rather than static identifiers. The goal is to reliably recognize devices over time, even when signals change and attackers actively try to interfere. This role owns fingerprinting end to end: from signal collection in the browser to the matching logic on the server side. In practice, this means working with other JavaScript researchers and detection engineers to design new signals, build reliable client-side collection mechanisms, and develop the algorithms that determine whether two fingerprints likely belong to the same device or user. We already have fingerprinting systems running in production. The goal of this role is to take them much further. You will work on problems such as: - Designing and improving the overall fingerprinting system, from signal collection to matching logic - Proposing new approaches to measure fingerprint quality, stability, and long-term effectiveness - Detecting manipulated or inconsistent fingerprints in adversarial browser environments - Building matching algorithms that remain reliable despite drift, collisions, and partial fingerprints - Ensuring the system remains performant and resilient as browsers evolve and attacker techniques change We are looking for someone who has already built or operated device fingerprinting systems at real scale. You have worked on signal collection in real browsers, not just theoretical models. You have dealt with unstable signals, fingerprint collisions, and manipulated environments. You understand the tradeoffs between entropy, stability, and collection cost. You have experience designing matching or clustering algorithms that operate under noisy and adversarial conditions. If you have spent time thinking about how to reliably track devices on the modern web — even when the device tries not to be tracked — you will probably find this problem interesting. And yes, since this is still a job post: we pay US-level salaries globally, we’re remote-friendly in Europe, and we care far more about outcomes than hours.


