Moshe Karmel home | career | projects | show | thoughts mkarmel (613) | logout

As an architect I have to undestand all the things and lead large initiatives across a large Enterprise. I need to understand dependencies, document them, and ensure that eveyone is on board with the vision. As I wrapped up my time in Servicing we were able to take our years of progress with modernizing our Call Center technology, and sell that tech to the leading tech provider of Mortgage Servicing software. I ensured that the sale went smoothly and worked with another large Enterprise to make sure everything went smoothly. I moved over from Servicing to Rocket Pro TPO to help modernize the Wholesale mortgage space. I help lead a Release Train as an Architect and help define best practices, define the architecture for Features, and deal with the hard issues that come up. I've also gotten back into working within the Salesforce ecosystem, so I use my knowledge of the platform to ensure that we do the right thing. I also feel very strongly that for Architects to be effective, they cannot stop writing code. To that end I pitch in with features and issues wherever possible so that I don't lose my coding chops at all. I also keep tinkering with new tech so that I can understand what is practical and what isn't.

As a Senior Software Engineer I helped plan and execute a large migration of many On-Prem applications to AWS. I spent a lot of time making "DevOps" a reality. This involved sitting with the Ops teams and learning Networking, Principal of least privilige, and understanding Docker, while explaining Dev practices as well. I also helped define the CI/CD process using CircleCI integrating with pipelines, and defining the checks within those pipelines. Integration testing, load testing, and obviously unit testing. I helped build the first application in my space which had a Database hosted in AWS, and document and fix all the challenges that arose along with that. This application tracks all of our Client interactions, and has tracked 10's of millions of interactions in a threaded view so Team Members on the phone can quickly follow a thread of an issue across multiple mediums. I helped the team by laying down a path that others could walk on to repeat our Cloud journey. I had to work with BI teams to get this data into our Data Warehouse and Data Lake. I led meetings across my entire stream (~100 Engineers) and helped set and define standards and tooling.

As a Software Engineer I got to spend time leading a rewrite and modernization of a critical system. All Mortgage payments flowed through the API that my team and I built from the ground up. I learned about Database transactions, sync vs. async HTTP calls, falling back on queues, and retrying failures. That application has been running for years now and processes billions of dollars monthly. I learned how to create resilient systems, and how to abstract complexity away from front-end consumers of an API.

I came to Quicken Loans and hit the ground running! I joined Servicing IT and learned the ins and outs of the Mortgage Servicing Business. I got to learn how a large Enterprise works and I got to begin the process of moving our Client Experience teams onto custom software that helped them do their jobs faster. I learned how to shadow Team Members and make changes to the software to allow them to move faster, and have a better UX.

I wrote Salesforce.com/Apex code to control the company's billing system. I was very attentive to best practices, proper unit tests, and governor limits. I also wrote Asp.NET/C# code to build custom applications for the business. I wrote HTML/CSS with Bootstrap to customize the look and feel of our pages. I wrote a lot of Javascript/jQuery to control all of the actions in these applications. I was part of a team of 5 developers. We all used git to control our source code, and yet we all still get along(😊). I often wrote solution documents and participated in "solutioning" meetings to decide what architechture will be the most efficient for the business use case. I got very familiar with the "Agile" methodology of software development and I frequently crushed story point expectations!

I learnt Java, SQL and Salesforce.com basics in a classroom setting from an experienced programmer (30 years!). This course was geared toward intense classes which covered all of the basics of OOP: Inheritance, Polymorphism and Encapsulation. After getting comfortable with the basics of Java, I spent some time creating android applications. I also got very familiar with the Salesforce.com platform which uses a language (Apex) which is very similar to Java. The SQL training helped to learn SOQL as well.

I spent most of my formative years studying the Talmud. BMG is a large university dedicated to Talmud study and I spent several years there.

Github | Blog | LinkedIn | StackExchange | Contact

This site design was heavily inspired by Hacker News. Minimalist++