SIF Agent

2004 – 2005, Lead Developer

Automating State Reporting for 500+ Schools

In 2004, the State of Oklahoma mandated that all Student Information Systems become compliant with the Schools Interoperability Framework (SIF), a complex, XML-based messaging protocol. At the time, I was the lead developer for MAS, a small company whose software was used by over 85% of the state’s school districts. The mandate was widely seen as an existential threat, a move by large, national competitors to legislate us out of the market by requiring a technology they believed we were incapable of delivering.

I designed and built the SIF Agent from the ground up, learning C# on the fly to implement a robust data transformation engine that mapped our Pervasive SQL database to the rigid SIF XML standard. The agent was architected for extensibility, allowing new data objects to be added through simple configuration and a set of SQL statements. The process culminated in certification with the state, where our agent was so reliable that we helped debug their own certification test harness.

Against all expectations, we delivered the solution ahead of schedule, becoming the first and only SIS vendor in Oklahoma to meet the state’s deadline. This decisive victory turned a perceived threat into a market-defining triumph. The state officially recommended MAS as their preferred choice, cementing our position as the dominant provider and creating a legendary success story in the company’s history.

Key Takeaway

Even the most intimidating enterprise challenges are just code. The key is to deconstruct the complexity, break the problem down into its logical parts, and have the confidence to execute. For this project, that meant turning an inch-thick specification into a series of solvable coding challenges.

Languages (2)

C#

C# is a general-purpose, object-oriented programming language developed by Microsoft. It is used to develop a variety of applications, including web, mobile, desktop, and gaming applications. C# is based on the C and C++ programming languages, and it is designed to be simple, powerful, and type-safe. It supports both procedural and object-oriented programming paradigms, and it is used to create applications for the .NET framework. C# is a versatile language that can be used to create a wide range of applications.

SQL

SQL (Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS). It is used to perform tasks such as retrieving, updating, inserting, and deleting data from a database. SQL is also used to create and modify database structures, such as tables, views, and stored procedures. It is a powerful language that can be used to query, analyze, and manipulate data.

Databases (1)

Pervasive

Pervasive is a relational database management system (RDBMS) that is designed to provide high performance, scalability, and reliability for mission-critical applications. It is a cost-effective solution for businesses of all sizes, and is used to store and manage data in a secure and reliable manner. Pervasive is optimized for both online transaction processing (OLTP) and online analytical processing (OLAP) applications, and is compatible with a variety of operating systems, including Windows, Linux, and Mac OS X. It also supports a wide range of programming languages, including SQL, Java, and C#.

Operating Systems (1)

Windows

Windows is a series of operating systems developed by Microsoft. It is the most popular operating system for personal computers, and is used in a variety of devices, including desktop and laptop computers, tablets, and smartphones. Windows provides a graphical user interface, allowing users to interact with their computer using a mouse and keyboard. It also includes a range of applications, such as web browsers, media players, and office suites. Windows also includes a range of security features, such as user accounts, firewalls, and antivirus software.

Devices (1)

Server

A server is a hardware device or software application that listens for and responds to requests from client systems over a network. It’s commonly used to host web applications, manage databases, and provide file or compute resources in data centers or cloud environments.

Jobs (1)

Municipal Accounting Systems, Inc.

1999 – 2005, Lead Programmer

Lead Programmer for Municipal Accounting Systems (MAS), a leading provider of student information and accounting software for school districts throughout Oklahoma