About Informed K12
We are building a workflow and reporting platform that has to be powerful enough for support hundreds of unique approval processes in a school district but easy enough for anyone, from the Chief Business Officer to a school site office manager, to use.
Our users work at all levels of the district in district office departments ranging from finance, payroll, HR, custodial services, transportation, food services and more. They also work at individual school sites as principals, teachers, substitutes, counselors, and even parents. To meet the needs of this wide variety of users, there are thousands of unique forms and processes on our system that span from new hire packets to student injury reports to bus services requests to permission slips. Our backend models need to be flexible enough to support a wide variety of use cases but structured enough to allow for scale and data retrieval across the entire system.
Other technical challenges may relate to:
- Data security and privacy, as our forms may collect sensitive information
- Customized bulk data exports in a variety of formats (csv, pdf, zip)
- Seasonality and spikes of system usage - 1/3 of our total traffic for the year occurs in the rush up to the start of the school year, in August and September
Finally, because our districts rely on us for their critical processes we must ensure our system is reliable and stable. The team understands that working code is not enough and a primary component of an engineer's job is to improve the maintainability of the long-term structure of the system.
About the role
What do we do for school districts?
Currently, we’re helping our districts adapt to the pandemic and properly provide for their communities.. Our admins are figuring out how to deliver PPEs to their schools, how to feed families when classes are not in session, how to give internet access to students without it at home, how to support special needs with remote learning and more. To do all this, they not only need to communicate rapid changes to their staff, they also need to ensure everyone has the tools they need to do their day to day work along with these new responsibilities. Our platform and team enables the processes that help districts keep ahead of these evolving needs and support their people.
Types of work you might be doing:
- Building a consistent and reusable front end architecture to support our long term vision
- Digging into back end performance issues
- Exploring the space and find solutions to problems that we may not know we even have
- Contributing to our engineering culture that encourages everyone to bring their whole selves to work
- A little bit of everything both in engineering and across the company
How is this job unique?
The mindset that runs through everything that we do is our focus on having an equitable, diverse and inclusive culture. How we sell our platform, how we support our districts, and how we write our code. Every team and process works in a way that takes those values and goals into consideration. We conduct onsite research to understand the day to day of everyone who touches the platform from the front office secretary at the school site to the assistant superintendent of business in the district office. We also work to be intentional in how we collaborate as an engineering team to make sure that our newest engineers are supported and have the space to speak up and that our most senior people continue to have to space to learn and hone their craft.
Quick state of the business
The company is doing well! In 2020 we got to 135% of our yearly sales target by October, and since then we're continuing to sell very well. We’re a growing company, looking to continue doing so sustainably and responsibly, and are in it for the long haul.
How we build it
Our Stack: Rails 6.0, Postgresql, Typescript (React/jQuery/Vanilla), Sass CSS, Sidekiq, Circle CI, Heroku, Github
As a platform we focus on the needs of school districts in aggregate. We don’t build custom features for single schools, rather we learn what are things that can help every district. Additionally we don’t try to “disrupt” how school districts work, we meet them where they are. By partnering with our district staff and administrators on critical processes they manage day to day, we work with them over multiple years and are eventually able to bring about organizational and cultural change together.
Making sure that we are building things that districts need means that we do a lot of product research before we start on something. We build things deliberately and intentionally as our districts need a consistent and predictable platform. We make sure we spend the time to deeply understand the needs of our users across all levels of the district. Our platform does a lot of complicated things so we try to limit complexity to where it is needed.
Similarly we try to use technology that is mature and focus on effectiveness over current trends. Our platform is built on a Rails monolith with 100% unit test coverage as well as integration testing for the “happy path” (all tests run in ~7 minutes on CI). With a small team we try to automate what we can while writing clean readable code with great commit messages. It’s not a perfect codebase! But it does some important things very well.
Job posting link: https://informed-k12.breezy.hr/p/b9ddfab2d429
Technology
Our users work at all levels of the district in district office departments ranging from finance, payroll, HR, custodial services, transportation, food services and more. They also work at individual school sites as principals, teachers, substitutes, counselors, and even parents. To meet the needs of this wide variety of users, there are thousands of unique forms and processes on our system that span from new hire packets to student injury reports to bus services requests to permission slips. Our backend models need to be flexible enough to support a wide variety of use cases but structured enough to allow for scale and data retrieval across the entire system.
Other technical challenges may relate to:
- Data security and privacy, as our forms may collect sensitive information
- Customized bulk data exports in a variety of formats (csv, pdf, zip)
- Seasonality and spikes of system usage - 1/3 of our total traffic for the year occurs in the rush up to the start of the school year, in August and September
Finally, because our districts rely on us for their critical processes we must ensure our system is reliable and stable. The team understands that working code is not enough and a primary component of an engineer's job is to improve the maintainability of the long-term structure of the system.
We work in small, nimble teams of 2-3 engineers. We have a bi-weekly standup meeting and use Clubhouse to manage our projects and tasks. Projects that each team takes on range from real-time search and export tools, database and server optimization, or building our front end system. We do planning on a quarterly basis and some projects take a few months, while some 6 months to a year. When you join you will probably end up getting to work with everyone on the team at some point.
We take code quality seriously and are constantly improving our codebase. Every project we work on has dedicated time to address tech debt and we prioritize code quality initiatives on our product road map. Oh, and we never ship code without writing a full suite of tests (don’t worry, we’ll help in case this is newer to you)!