← Back to jobs

Software Engineer, Data

Company
YCharts
Location
Remote
Work type
Full Time
Posted
2026-08-10

Job description

Key Responsibilities
Write code (and unit tests!) in Python and the Django framework to implement complex backend features.
Use tools like Airflow to build / enhance financial data pipelines for over 7 million securities.
Make use of pandas and asynchronous task tools like celery to efficiently calculate 4,000+ unique data points for each security.
Profile and optimize database queries - analyze query plans, design effective indexes, and eliminate N+1s and slow paths that don't hold up under production load.
Manage database load - reason about read/write patterns, connection usage, replica strategy, and batching to keep the data tier healthy as volume grows.
Design and tune caching layers to reduce redundant computation and database pressure while keeping data fresh and correct.
Design robust, scalable data models that account for the structure, type, and volume of data to store, and how it will be queried.
Investigate and resolve performance regressions and incidents - using metrics, profiling, and monitoring to find root causes.
Design, plan, estimate, and ticket features that are scoped by our product team.
Perform code reviews for other engineers on the team.
Document the work you have done both in repo as well as outside of the repo for future engineers.
Collaborate with other engineers both verbally and in writing to plan, design, and build a world-class financial research platform.

Qualifications and Experience
2+ years of relevant industry or academic experience
Experience developing in Python (knowledge of the Django framework a plus)
Experience designing, building and maintaining application features on the backend
Experience working with relational databases, including writing and optimizing queries and reasoning about indexing and query performance
Experience participating in multi-month projects from conception to maintenance with multiple team members
Familiarity with caching, and strategies for managing database and memory load at scale a plus
Experience working with large datasets and an interest in the performance and efficiency challenges that come with them
Desire to take ownership and responsibility when a problem or opportunity arises
Experience working with non-technical teams (product, business, etc) where explaining technical concepts is needed
Self-organized and able to work independently

Benefits & Perks
100% employer-paid health, dental, and vision insurance.
401(k) match to support your financial future.
Opportunities for internal mobility and cross-functional collaboration.
Flexible time off, vacation days, sick days, and a celebration day.
Paid parental leave to support work-life balance.
Professional development stipend to help you grow in your career.
Hybrid work schedule with flexibility to work both in-office and remotely.
Summer hours so you can enjoy more sunshine.
Recognition programs to celebrate contributions and milestones.
Modern, centrally located offices stocked with premium snacks, coffee, beverages and weekly lunch credits to fuel your day.
Regular team events, celebrations, and company-wide gatherings that keep our culture connected and collaborative.

Compensation
At YCharts, we are committed to pay equity and transparency in all locations, including compliance with local pay disclosure requirements: the base salary range is $120,000 - $160,000 USD, with starting salary based on skills and experience.

Skills Required
2+ years of relevant industry or academic experience
Experience developing in Python
Knowledge of the Django framework
Experience designing, building, and maintaining backend application features
Experience working with relational databases, writing and optimizing queries, and reasoning about indexing and performance
Experience using Apache Airflow to build and manage data pipelines
Experience using pandas for data processing at scale
Experience with asynchronous task systems such as Celery
Familiarity with caching strategies and managing database/memory load at scale
Experience working with large datasets and performance/efficiency challenges
Experience participating in multi-month, multi-person projects from conception to maintenance
Experience working with non-technical teams and explaining technical concepts
Self-organization and ability to work independently; ownership mindset

Original source