Display Picture Richard Becker

Display Picture

Richard Becker

ASA MCPD
SOFTWARE DEVELOPER

About

thinker icon

Credentialed actuary with experience in object-oriented analysis, design, and programming for financial services, employee benefits, and insurance organizations. Feels strongly about the existence of a close relationship between business and technology. Passionate about bringing finance, mathematics, and technology to bear on solving difficult business problems. Experienced in the modeling and management of financial risk and contingent events.

student icon

Continually looking for opportunities to develop both business and technology skills:

Experience

October Three LLC, Chicago, IL
  • Currently developing a web based benefits administration system. Based on the ASP.NET MVC framework, the system architecture supports clean separation of concerns and test-driven development.
  • Developed a web based application to model various defined benefit pension designs and generate the documents necessary to begin the plan.
  • Developed a web based application to model the financial ramifications of converting a traditional IRA to a Roth IRA.
J.P. Morgan, Chicago, IL
  • Developed a web based application to deliver combined DB (pension) / DC (401(k)) benefit statements to participants.
  • Developed an interface to our existing DB administration system to support payments from the pension trust. This interface was developed for, and is currently being used by, a major provider (a large bank) of pension trust accounting services to manage payments from the trust. Our DB administration system reports payment transactions, using a proprietary scheme defined by the trust provider, to the trust provider's administration system. The provider then makes payments to participants from the trust. This interface was developed as an enhancement to our VB based desktop administration system.
  • Developed a suite of web based models for qualified defined benefit pension (cash balance) and defined contribution (profit sharing, 401(k)) retirement plans. These models provide the owners (high wealth individuals) of small to medium sized companies with the financial tools needed to maximize the contribution levels to their retirement plans (defer current compensation), subject to the constraints of providing a meaningful retirement benefit to their employee's, minimizing their total retirement plan expenses, and passing a variety of Internal Revenue Code tests (e.g., minimum participation (401(a)(26)), coverage (410(b)), rate group (401(a)(4)), average benefit percentage, gateway percentage). These tools are written in the C# programming language and are published on the web as .NET applications.
Hewitt Associates, Lincolnshire, IL
  • Developed a tool that measures the relative "value" and competitiveness of one company benefit programs against others in their peer group. Results are charted by total program value and employer-paid value for Retirement, Life, Disability, Health Care, Time Off, etc. This is written in the C# programming language and is published on the web as a .NET application.
  • Worked on development of a tool designed for employees to model their post-retirement medical costs, so they can make informed decisions about what they need to save in order to cover these costs. Employees enter their own information and assumptions, so the results are fully customized to their situation. This was being written in the C# programming language and was to be published to the web as a .NET application at some future date.
  • Member of a team that developed a tool that compares the relative risk of owning retirement programs with those of other companies. This was done by first determining the ratios of retirement plan liabilities or costs to financial measures like revenue or net income. The user is then able to compare their results to those of selected companies or industries. This is written in Excel and the VBA programming language and is published on the web as a Citrix based application.
  • Member of a team that developed a tool to enable plan sponsors to compare their current retirement plan design to alternative designs. Specifically, this tool enables the plan sponsor to compare the level of benefits, the benefit accrual pattern, and the income replacement provided by a company's existing retirement program to a spectrum of retirement plan designs, including defined contribution, 401(k), cash balance, pension equity, and simple final average pay. The user has the ability to modify assumptions and parameters of the proposed design. This is written in Excel and the VBA programming language and is published on the web as a Citrix based application.
  • Member of a team that developed a tool to forecast key pension plan valuation results under numerous future economic scenarios. Using Microsoft HTML Help Workshop, I also added a comprehensive, context sensitive help system to this application. One typical use for this application is to model the cost impact of alternative discount rates and asset returns. This is written in Excel, VBA, and the PL/I programming language and is published on the web as a Citrix based application.
  • Developed and maintained automation add-ins (i.e., an XLL (or DLL) used to automate Excel in response to user events and also provide additional application specific functions to Excel), and XLA functions used to support the development of Hewitt's Excel based tools.
  • Designed and implemented the DB/2 database that was the foundation of our effort to develop a PC based actuarial valuation system using .NET technologies.
  • Developed and maintained Hewitt's mainframe financial projection system. This was the system Hewitt used to value and project liabilities and costs for FAS 87, 106, and 112.
  • Supported Hewitt's actuaries in the use of their systems and technology. This involved enhancements to current systems, teaching on-site training sessions, client support, etc.
  • Maintained and administered all of the client-facing applications for the Actuarial group at Hewitt.
  • Developed a cash flow system for a major Hewitt client. This system projects monthly investment earnings, transfers, and payouts among qualified and non-qualified retirement accounts for active and inactive participants.
  • Participated in college recruiting functions for Hewitt.
Additional Experiences
  • Authored the requirements document for an application to manage the maintenance of the computer assets within an organization. This document contained sections for: task definition and scope, actors, use cases, programming environment, class details, object model, and post mortem. Implemented this application using Java.
  • Authored the requirements document, as part of a software engineering team, for the software requirements of a fictitious company. This document included Inspection Reports, Revision History, Business Background, Business Needs, Requirements Analysis, System Models, Requirements Definition, System Evolution, Glossary, Requirements Specification, Data Dictionary, and Change Request Forms.
  • Authored a software engineering guidebook to serve as a guide to the software engineering process. This guide contained sections for Configuration Management, Project First Steps, Project Management, Project Lifecycles, Requirements Engineering Process, Design Techniques, Coding Techniques, Project Wrap-Up, Post Implementation, Verification and Validation Techniques.
  • Developed a few small applications in Oracle using PL/SQL, Oracle Forms, Embedded SQL in Java, and JDBC programming.
  • Developed a few small applications in DB2 (running in UNIX) to manage a database being used by a .NET application.
  • Developed parts of a Java compiler for a non-trivial object-oriented language, making use of the JavaCC parser generator and the GNU compiler suite. This compiler output protected mode code for the Intel x86 platform.
  • Extended and modified the NACHOS simulated operating system (in C++), implementing virtual memory, user threads, and multiprogramming.

Education

 M.S. Computer Science

DePaul University
Graduated w/distinction, 4.0 GPA
Concentration in Theory / Software Engineering

 B.S. Mathematics

Illinois State University
Minor in Applied Computer Science

 Accreditations

Associate of the Society of Actuaries (ASA)
Society of Actuaries

EA-1 Principles of Pension Valuation I
Society of Actuaries

Microsoft Certified Professional Developer (MCPD)
Microsoft Certified Professional Developer

Web Development with Ajax Technologies Certificate
DePaul University

.NET Developer Certificate
DePaul University

Fast Track to J2EE Developer Certificate
Learning Patterns

Fast Track to Java Developer Certificate
Learning Patterns

 Sampling of coursework

 Automata Theory and Formal Grammars

  • Finite automata - Deterministic finite automata, nondeterministic finite automata, regular expressions, non-regular languages, algorithms for finite automata, state minimization.
  • Context-free languages - Context-free grammars, pushdown automata, languages and automata, languages that are not context-free, determinism.

 Computational Complexity and Computability

  • Turing machines, the halting problem, decidability, Goedel's Incompleteness Theorem, NP, reductions, complexity classes, and randomized algorithms.

 Parallel Algorithms

  • PRAM and network models
  • Sorting algorithms
  • Fast Fourier Transform and Matrix algorithms
  • Graph algorithms
  • Other machine models (e.g., LogP, BSP)
  • Relationships between machine models

 Design and Analysis of Algorithms

  • Notational and mathematical tools
  • Divide and conquer
  • Dynamic programming
  • Greedy algorithms
  • NP-Completeness
  • Approximation algorithms
  • Backtracking

 Distributed Software Development

  • Fundamentals and techniques of developing distributed object-oriented applications, using a patterns-based approach. Concepts covered include: networks, client-server architectures, dataflow networks, sockets, message-passing systems, serialization and remote method invocation.

 Object-Oriented Software Development (Java)

  • Principle, techniques and tools of object-oriented modeling, design, implementation, and testing of large-scale software systems. Topics include design patterns, application frameworks, architectural design, and the applications in the software development process to improve the extensibility, maintainability, and reliability of software systems.

 Software Development Methods

  • Object-oriented analysis, modeling concepts, and notation
  • Object-oriented programming, testing, and debugging
  • Design patterns for object-oriented software development (GOF book)
  • Advanced implementation techniques in C++ and Java
  • Wrote a project summary for a software system to manage the maintenance of the computer assets within an organization. This document contained sections for: task definition and scope, actors, use cases, programming environment, class discussions, and post mortem. I then implemented the application (in Java) based on this project summary.

 Software Engineering

  • Software development life cycles
  • Software process definitions
  • Software project measurement and management fundamentals
  • Software analysis, design, and testing techniques
  • Social issues and ethics
  • Wrote a requirements document, as part of a software engineering team, for the software requirements of a fictitious company. This document included Inspection Reports, Revision History, Business Background, Business Needs, Requirements Analysis, System Models, Requirements Definition, System Evolution, Glossary, Requirements Specification, Data Dictionary, and Change Request Forms.
  • Wrote a software engineering guidebook to serve as a guide to the software engineering process. This guide contained sections for Configuration Management, Project First Steps, Project Management, Project Lifecycles, Requirements Engineering Process, Design Techniques, Coding Techniques, Project Wrap-Up, Post Implementation, Verification and Validation Techniques.

 Database Technologies and Programming

  • Principals and issues in database design and implementation including: conceptual database modeling, logical designs using the relational database model, relational algebra, implementation techniques using query languages, functional dependencies, normalization, and physical design and indexing structures.
  • Database programming using open architectures, embedded query languages, dynamic query language, procedural extension of query languages, stored procedures, transaction management, and extensible markup data definition and retrieval languages.
  • Database integrity, transactions, transaction recovery, concurrency, and record locking.
  • Programming in a large-scale relational database environment using host languages.
  • Design and implementation of on-line applications and report generations.
  • Wrote a few small applications in Oracle using PL/SQL, Oracle Forms, Embedded SQL in Java, and JDBC programming.
  • Wrote a few small applications in DB2 (running in UNIX) to manage a database being used by a .NET application.

 Concepts of Programming Languages

  • Formal methods of syntactic specification of programming languages. Various semantic aspects of modern programming languages: scoping, binding, and parameter passing. Modularity and abstraction mechanisms of modern programming languages. Typing and polymorphism. Exception handling and concurrency. Declarative programming languages. Comparison of modern programming languages and paradigms.

 Compiler Design

  • Design and structure of high level languages. Lexical scan, top down and bottom up syntactic analysis. Syntax directed translation and LR(k) grammars.
  • Knowledge of lexers, parsers, parser generators, static analysis, and code generation in designing a compiler.
  • Developed parts of a Java compiler for a non-trivial object-oriented language, making use of the JavaCC parser generator and the GNU compiler suite. This compiler output protected mode code for the Intel x86 platform.

 Operating Systems

  • File Systems, Processor Scheduling, Memory Management, Device Scheduling
  • Concurrency, Synchronization, Deadlocks, Linking, Protection
  • Implement a code segment (Assembler) which tests a device using Built-In Self Test (BIST)
  • Extend and modify the NACHOS simulated operating system (in C++), implementing virtual memory, user threads, and multiprogramming.

 Computer Architecture

  • Implementation of registers, memory organization, arithmetic, and logic circuits
  • Control Design - hardwired control and microprogramming
  • Superscalar Design, Parallel Processors, I/O, System Buses
  • Instruction Sets - characteristics and trade-offs
  • Differences between CISC and RISC processors

Skills

85% Complete (success)
ASP.Net MVC 85%
C# 85%
Languages other than C# 75%
SQL Server & T–SQL 75%
UI (i.e., HTML, CSS, and their supporting technologies) 60%

Technology Experience (sampling)

  • ASP.NET, ASP.NET MVC, ADO.NET, JSON, XML, JDBC, Servlets, JavaServer Pages (JSP), Enterprise JavaBean technology, Web services, Visual Studio, Excel, Word
  • Languages: C, C++, C#, Java, VB (VBA)
  • Scripting: Ajax, AngularJS, Bootstrap, JavaScript, jQuery, PowerShell, Prototype, script.aculo.us, Perl, Python
  • Mark Ups: CSS, HTML, XHTML, DHTML
  • Database: SQL Server & T–SQL, Oracle & PL/SQL, Access, DB2
  • Modeling: UML
  • Source Control: Visual SourceSafe, SourceGear Vault

References

J.P. Morgan

Pamela A. Popp,
Chief Executive Officer,
J.P. Morgan Retirement Plan Services

J.P. Morgan

Wally Malles, ASA EA,
Vice President Emerging Markets,
J.P. Morgan Retirement Plan Services

Hewitt Associates LLC

Roberta Schaffer, FSA EA,
Actuarial Software Developer,
Hewitt Associates LLC

Growing Fortunes Financial Partners LLC

Cheryl Krueger, FSA,
Chief Executive Officer,
Growing Fortunes Financial Partners LLC

Grant Thornton LLP

Raymond D. Berry, ASA EA,
Compensation and Benefits Consulting Practice,
Grant Thornton LLP

J.P. Morgan

Aileen Smith,
Retirement Plan Specialist Manager,
J.P. Morgan Retirement Plan Services

J.P. Morgan

Laurent Weichberger,
Distributed Application Development,
J.P. Morgan Retirement Plan Services

Towers Perrin

Greg Roemelt, FSA MAAA,
Senior Consultant,
Towers Perrin

AEGON Financial Partners

Mark Davis, FSA MAAA,
Vice President & Actuary,
AEGON Financial Partners

J.P. Morgan

Jordan Light,
Senior MaxPlans Developer,
J.P. Morgan Retirement Plan Services

J.P. Morgan

June White,
Vice President Asset Management,
J.P. Morgan Retirement Plan Services

Chicago Tribune Company

Adam Bryer,
QA Project Manager,
Chicago Tribune Company

J.P. Morgan

Laurent Weichberger,
Distributed Application Development,
J.P. Morgan Retirement Plan Services

J.P. Morgan

Aileen Smith,
Retirement Plan Specialist Manager,
J.P. Morgan Retirement Plan Services

Hewitt Associates LLC

John Haines,
Senior Project Manager,
Hewitt Associates LLC