Andrew is a software engineering manager with over 20 years of experience in the tech industry. He has a diverse background and a solid understanding of both software engineering and team leadership. Over the years he has worked with a wide array of programming languages and technologies as well as teams of all sizes. He enjoys public speaking, teaching, and working with customers.
Andrew began programming at the age of 10 and has always enjoyed working with computers. In university he majored in linguistics with minors in computer science and English. His honors thesis focused on natural language processing, machine learning, and semantic analysis. His first masters degree was in software engineering, which provided him with practical knowledge in software architecture, process management, requirements gathering, quality analysis, and other topics around the daily work of engineering quality software. His second masters degree was in theology, which provided him with both theory and practice in mentoring, coaching, family systems theory, public speaking, effecting organizational change, team building, and other skills that are helpful when managing people and organizations.
In his free time, Andrew enjoys learning languages, traveling, hiking, camping, working with amateur radio equipment, watching anime, playing games, studying history, and discussing theology. Andrew is a native speaker of American English. He also speaks Japanese at an upper beginner level (JLPT N4 / CEFR A2) and Esperanto at an upper intermediate level (CEFR B2).
MA in Theology, 2017
Austin Presbyterian Theological Seminary
MS in Software Engineering, 2012
California State University - Fullerton
BA in Linguistics with Departmental Honors, 2009
University of Texas at Austin
As a Software Engineering Manager at Indeed I lead and manage a team of software engineers who are working to help people get jobs.
The system my team works on serves more than 150 million requests a day across multiple geographically distributed data centers.
In my role as Director of Network Operations I oversaw the daily operations of our ground station network. My division worked closely with our customers and partners to ensure that our ground station network was operating properly and that our customers needs were being met. This included monitoring internal systems, maintaining both our cloud infrastructure and our ground station control devices, helping customers with any issues they may encounter, working with partners to add support for additional hardware, automating common tasks, and creating documentation.
In addition to overseeing the daily operation of the division, I oversaw both short and long term planning, set expectations and deadlines, defined objectives and key performance indicators, met with stakeholders, customers, and external vendors, and communicated status to senior management and other divisions.
I helped customers with issues and questions related to their use of MongoDB. Most of the customers I worked with are software developers or system administrators and as such the technical difficulty of the questions that were asked was generally quite high.
I was also the subject matter expert in sharding and distributed systems for the North America support team. In this role I worked with product management, trained other employees, and produced customer facing materials including presentations and knowledge base articles.
I led a team of software engineers who worked on various internal systems related to The Boon Group's business as a third party insurance administrator. These systems were written in C# and ran on the Microsoft Windows platform with SQL Server databases.
The majority of my work involved managing team members, improving development processes, working on build, continuous integration, and deployment systems, managing ticket workflows, producing documentation, mentoring engineers, producing training materials, interfacing with customers, resolving conflicts within the team, holding one-on-one meetings with team members, generating reports for our executives, producing staffing and employee development plans, and other leadership tasks.
I also developed code in C# as needed. Some of these applications were web based systems with SQL Server databases, some were standalone or console applications that ran back-end processing.
I implemented several process improvements that greatly improved productivity. Some examples included implementing an agile Scrum “lite” development process, setting up continuous integration and testing, building staging environments, and restructuring the team to better support our business needs.
Applications I configured and managed included Jira, Confluence, Stash (git), Bamboo, Mattermost, and Octopus. I also performed system administration tasks as needed on Windows, Linux, and OpenVMS systems.
I worked on Kabam's distribution infrastructure. This included things like payment processing, business intelligence, account management, and customer loyalty. In this role I worked on systems running on several different stacks and written in several different languages. Server stacks included Scala/Play talking to MongoDB, PHP talking to MySQL, and Java talking to MySQL. Client stacks included web clients in Ruby on Rails, PHP, Java, and Scala/Play (including HTML, CSS, and Javascript work) as well as native clients for Android (Java), iOS (Objective C), and Unity3d (C#). I also worked on the RESTful APIs that sat between these various components and wrote SDKs for Android, iOS, and Unity3d which were integrated into existing games by internal and external game developers.
As part of this work I also gave training sessions on various technologies and components, wrote user facing documentation, and interfaced with developers in the US, Canada, and China. I also travelled to Beijing to provide in-person support to our developers there.
A solitaire card game for the Commodore 64.