Former Employers
Core Competencies
- Large scale application development and deployment.
- Legacy application migration
- DevOps policies and procedures
- Budget, Project, Vendor and Team management.
- Leadership and Teambuilding
- Education
Technologies
Languages: Rust, C++, Python, Go, Java
Curriculum Vitae
2018-2023
University of Colorado Boulder
PhD (abd), Computer Science
- Conducted research in containerized network security on bare-metal servers. Developed a proof of concept container network interface (CNI) using Rust and eBPF to identify network flow barriers.
Publications
- Poster: Author Credit: Classifying and Mitigating Side-Channel Vulnerabilities between VMs
- Poster: Author Credit: Open and Secure Vehicle Data Collection Standard
Professional Work Experience
- Rust, Intel SGX
- Rust, Wrote proof of concept data parsers for NYSE echange data
- Implemented the global transition of the organization’s legacy batch job scheduler. Developed a Java interface for configuration trans- formation and a hybrid Java-Python recovery tool, enhancing the reliability of 30,000+ critical jobs, doubling their dependability
- Enhanced Python data loaders and created Java-based Extract Transform Load (ETL) components to optimize the loading speed and reliability of a legacy MongoDB security master database to a PostgreSQL security master database.
- Managed a team of 4 engineers, maintaining effective leadership while actively participating as an individual contributor. Mentored, directed, and oversaw project coordination to ensure the successful delivery of key reliability and support initiatives for a 24x7 on-call rotation.
- Directed vendor management activities, encompassing contract negotiation and successfully curtailed third-party software expenses by 25% through meticulous usage analysis.
- Developed Python process validation and referential data integrity checks using the firm’s proprietary Quartz libraries (Bank of America’s custom Python 2.6 environment).
- Provided guidance and mentorship to a team of 3 junior developers, encompassing comprehensive code reviews and career development support.
- Initiated, championed and developed a Python analysis tool that analyzed the run time characteristics of 28,000 organization wide applications and 50 million data touch points. This initiative provided critical insights into revealing unknown application dependencies and establishing predictive performance metrics which reduced downtime by 70%
- Managed a worldwide support team of 26 on-site and remote engineers specializing in Java, Oracle and Python. Ensured seamless operation of 500 applications across 150+ servers, maintaining uninterrupted availability through 24x7 support.
- Architected and refined Business Continuity Plans for an extensive network of 250 servers, culminating in a flawless track record during both internal and external audits, especially for primary to secondary data center transitions.
- Authored technical procedural documentation that was successfully employed to establish Service Level Agreements (SLAs) accommodating both cutting-edge and legacy application products. This initiative facilitated the maintenance of uniform service standards.
- Oversaw the creation and maintenance of applications using Python and Java within Goldman’s proprietary dynamic hybrid cloud infrastructure.
- Championed the pivotal overhaul of the department's infrastructure, orchestrating the replacement of outdated hardware systems with Goldman's proprietary dynamic cloud environment.
- Produced a comprehensive technical design document detailing the requirements for a proprietary equity product based on the industry-standard Financial Information Exchange (FIX) specification, as part of a strategic collaboration with the Swiss Stock Exchange. Implemented a protocol validator for the specification in Python, which significantly accelerated the integration process with the exchange by three months.
- Collaborated closely with legal teams and external stakeholders to critically review and validate all technical and legal documentation, ensuring alignment with business and regulatory standards.
- Led and developed Python-based full stack support management and validation tools, leveraging the capabilities of Django and MySQL, streamlining deployment and configuration operations. This resulted in a 30\% acceleration in the production deployment process as well as enhancing overall service reliability and client satisfaction.
- Formulated and executed a comprehensive departmental strategy for software deployment and operational procedures, ensuring consistency and efficiency.
- Oversaw the trading system hardware and software infrastructure with a strategic focus on optimizing connectivity and product delivery timelines.
- Hardware acquisition and coordinated internal and external connectivity.
- Mentored and managed a team of 3 engineers, ensuring a robust 24x5 support coverage for key trading operations.
- Managed and mentored a team of six engineers, cultivating innovation in the creation of trading system applications utilizing C and Java. Spearheaded the shift to Agile methodologies, yielding notable enhancements in development speed and team synergy.
- As an individual contributor, conceptualized and executed a client migration testing framework in C. Orchestrated the utilization of this tool by an offshore testing team of 8 engineers to transition 250 client connections from legacy infrastructure to an in-house system that included rigorous configuration and testing protocols. The transition was flawlessly executed, preserving uninterrupted service. This testing framework accelerated deliverables, resulting in a 40\% reduction in project timelines.
- Devised and effectively executed proof of concept applications in Java, showcasing shared characteristics in individual client configurations. These demonstrations streamlined the migration process from a legacy third-party application to an in-house developed system.
- Served as a key liaison between IT and Business stakeholders, ensuring budget adherence, astute financial planning, and alignment with overarching company objectives.
Education
- University of Colorado Boulder: PhD (incomplete) Computer Science 2023
- University of Colorado Boulder: MS Computer Science 2021.
- City College of the City of New York (CUNY) BE. Electrical Engineering
Independent Research
Academic Work Experience
- Aug 2022 - May 2023: Graduate Teaching Assitant CSCI 5448 - Object Oriented Analysis and Design
- June 2022- July 2022: Graduate Teaching Assistant CSCI 3308 - Software Development Methods and Tools
- Jan 2022 - May 2022: Graduate Teaching Assistant CSCI 5448 - Object Oriented Analysis and Design
Wrote quizzes, Graded assignments provided design assistance when necessary
- Aug 2021 - Dec 2021: Graduate Teaching Assitant CSCI 5448 - Object Oriented Analysis and Design
- June 2021 - July 2021: Graduate Teaching Assistant CSCI 3308 - Software Development Methods and Tools
The course covers tools and practices for software development with a strong focus on best practices used in industry and professional development, such as agile methodologies, pair-programming and test-driven design. Students develop a final project leveraging the Bootstrap framework, Postgresql, ejs, Docker, Heroku, Node.js, and PostgreSQL whilst using Jira to practice agile methodologies.
- Feb 2021 - June 2021: Graduate Teaching Assitant CSCI 5448 - Object Oriented Analysis and Design
- Aug 2020 - Dec 2020: Graduate Teaching Assistant CSCI 5448 - Object Oriented Analysis and Design
- June 2020 - July 2020: Graduate Assistant CSCI 5229 Computer Graphics
Coursework
Focuses on design and implementation of network programs and systems, including topics in network protocols, architectures, client-server computing, software-driven networking, and other contemporary network hardware-software system design and programming techniques. Familiarity with C and Unix is required.
Basics of graph theory and convex optimization; consensus on graphs, parallel and distributed computation methods, regret and convergence analysis, cooperative games, and elements of online optimization. The techniques and methodologies presented in the course are introduced through application setups including power and energy systems, sensor networks, transportation systems, and social networks.
An applied analysis and design class addressing the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply the techniques in analysis and design projects
Research and review technological impact on the democratic process of infromation sharing and the proliferation of infromation bubbles and its impact on society.
Explores algorithms that can extract information about the world from images or sequences of images. Topics covered include: imaging models and camera calibration, early vision (filters, edges, texture, stereo, optical flow), mid-level vision (segmentation, tracking), vision-based control and object recognition. Recommended prerequisite: probability, multivariate calculus and linear algebra.
Studies design, analysis and implementation of computer graphics techniques. Topics include interactive techniques, 3D viewing and models, clipping, transformations, projection, removal of hidden surfaces, lighting, textures and shadows. Knowledge of basic linear algebra is required.
Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking. The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). At the conclusion of the course, students should have a solid foundation in cybersecurity and hands-on experience.
Develops the skills and practices necessary to apply user-centered approaches to software requirements analysis, and the design and evaluation of computer applications.
Studies design, analysis and implementation of advanced computer graphics techniques. Topics include shaders, using the GPU for high performance computing, graphics programming on embedded devices such as mobile phones; advanced graphics techniques such as ray tracing.
Examines systems that span multiple autonomous computers. Topics include system structuring techniques, scalability, heterogeneity, fault tolerance, load sharing, distributed file and information systems, naming, directory services, resource discovery, resource and network management, security, privacy, ethics and social issues.
Provides an introduction to software engineering concepts and techniques. Topics include the history of software engineering, fundamental software engineering principles and theory, software life cycles, software testing, and the design and implementation of concurrent and large-scale software systems.
Teaches basic exploit design and development through hands-on experimentation and testing. Uses a controlled environment to give students a "playground" in which to test penetration skills that are normally not allowed on live networks.
Instructs new Ph.D students in Computer Science how to obtain a Ph.D and how to become an effective member of the computer science research community. Makes students aware of formal requirements, educational objectives, and research themes. Provides evaluative criteria and guidelines for all objectives to be achieved.
Learn about innovative research and teaching in computer science by attending talks and discussions by leading researchers and educators. Learn professional presentation skills and etiquette of participating in scientific research presentations.
Learn how to make the most of your CS PhD by understanding and preparing for a career as a computer science research in academia, industry, and government. Students need to take this class once they complete Preliminary Exam and before their proposal defense.