5/05/2018

Running the Month End

I was commuting to work about an hour each way.  The company was laying people off, RIF almost every week, with guards at the door.  I found a job posting closer to home, paid $12k less, to write Crystal Reports.  I took the job for shorter commute.

I was tasked with writing Crystal Reports.  The director said you are also tasked with writing the month end process in Crystal Reports.  It was already running in Visual Basic so I reviewed the code, stepped through one line at a time.  I went to the boss, I think I found an error in the code.  That's impossible.  That code balances the entire company, no way it could be wrong.  Okay, went back to the desk.

Few days later, show me that code that isn't working.  Sure enough, there was a bug.  The Inner and Outer loops weren't jiving correctly.  I re-wrote the VB code into SQL used joins and it ran a lot faster.  So that began the process of writing the month end.

I ran the month end for many years, streamlining the code each time.  It consisted of financial data.  Written Premium, Earned Premium Unearned Premium and Inforce Premium.  The numbers had to tie at the monthly level, year to date level and inception to date level, every month.  If any bugs in front end system caused back end data issues, had to track it down, correct it and re-run the month end.

Tracking down the errors took some effort, as it wasn't merely off by $10.  More like off by +200, -190, usually more complicated.  Running the month end took tremendous effort as it ran through the night, I'd babysit the job and do checks along the way.  It also had Commission reports to people got paid based on the numbers.  And we had so many days to close the books.  I worked directly with the owners as they double checked all the numbers each month.

I also had lots of work to do when it wasn't month end.  I wrote an ACH application to send batches to the bank.  Create and maintain other database, fix bugs in the front end ASP application, which connected to back end Visual Basic DLLs that ran in transaction server.

I may have been the most tenured developer on the team as many people came and went.  Each month, I ran the month end.  I knew developers at other companies and it seemed they were doing some cooler technologies.  I probably ran the month end a few too many times, as I was burned out.  I found other jobs a few times and tried to resign, yet, it was a difficult decision to leave as I invested so much time and effort in the process and the company made sure I was taken care of.  I ended up leaving the job abruptly, in hindsight, I could have done a better job of transitioning.

Instead, I found a job teaching tennis and doing websites for people.  That down time gave me the opportunity to relax the mind, and in doing so, I got married, and went back to work doing Crystal Reports.  I don't have anything to show for all the hard work, except the knowledge gained has helped downstream for other Insurance clients.

Those were some good times, running the month end, solving data issues and closing the books for the month.  Glad I had the opportunity to help out for three or four years.

And so it goes~!