1. Caitlin Cassidy
MIT Class of 2018
Computer Science and Computer Engineering
Database Developer Intern on QPM/IRK
2. Assignment
• QPM: Investment Management platform for PAS-W and
PR products
• IRK: New product run on QPM
• Objective: Support QPM/IRK as a database developer
• Impact on business:
▫ Allow capabilities to be released earlier
▫ QPM: Maintain and grow Fidelity’s extremely successful products
▫ IRK: Client and business expansion
• Responsibilities:
▫ Create/enhance database packages, tables and views
▫ Continuous Integration Developer Dashboard
▫ Write unit tests for quality assurance
4. New Category Mappings Screen
• View DB Procedure: Retrieves data from database to display
• Edit DB Procedure: Takes changes made on the screen and saves them to
the database, so that the changes will be displayed for the next user
• New SQL Skills: CASE statements for more efficient and fewer queries
• Screen to display/change alpha and risk model mappings for categories
• Mappings used for optimization of plans
• Change from hard-coded mappings to user-determined mappings
• Larger scope: fewer exclusions, more inclusive, increase potential investable funds
5. Continuous Integration Developer Dashboard
• Developers use screen to monitor code changes made to meet standards
• Configured the QPM jobs that would provide dashboard with data
• Monitored screen and reported errors when necessary
6. SONAR evaluates code complexity and how well
code meets standards set by Fidelity.
Crucible allows code review between employees
and runs a general code review process.
Unit tests are written by DB developers to
ensure their procedures function properly.
X-Plans detail how Oracle plans to execute the
database queries. We want them to be short and fast.
7. Unit Tests
Build Number (typically built once per day)
NumberofTests
Number of Tests that Failed
Number of Tests that Ran
…which means
more failures
Many packages start
running UTs...
• Unit Tests test DB code to
ensure that procedures run
and return the correct data
• Ensures quality and accuracy
of DB code
• Necessary for a complete CIDD
• Collaborated with the India
team
UT work starts
8. Internship Experience
• Before: vaguely knew SQL
• After: extremely comfortable with SQL and PL/SQL
▫ understand build pipeline, agile methodology
▫ understand entire process, from development through production
(saw an entire release!)
• Learning from intern programs (Fidelity, FIMT,
GAA/SAI), coworkers, training
• Doing real work on real projects
• Suggestion: more end-to-end exposure
Proudest moment:
My name is in the code base!
Story 1: Allow PMs to customize how categories such as long-term bond or world stock are mapped to alpha models like foreign equity.
Story 2: Display net and gross expense ratios
Story 3: Maintain testing on older code