Caitlin Cassidy MIT Class of 2018 Computer Science and Computer Engineering Database Developer Intern on QPM/IRK
Caitlin CassidyMIT Class of 2018Computer Science and Computer EngineeringDatabase Developer Intern on QPM/IRK
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
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
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
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.
Unit Tests
Build Number (typically built once per day)
Num
ber o
f Tes
ts
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
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!