[Curriculum] Applied Fintech Engineering

Elective Course Offered in IOE, Pulchowk Campus

The objective of this course is to understand the fundamentals of Fintech industry, develop technical skills for building Fintech solutions thus cultivating a business mindset to solve real-world problems.

Course Outcomes

Students will gain a good grasp of the basics in the Fintech industry, understanding how it works. They'll explore various career paths within fintech, from creating new solutions to making them available for people to using them on a larger scale. Additionally, they'll develop reasoning skills to help them choose which specific areas of fintech they're most interested in.

Moreover, students will collaborate with one of the successful fintech companies in the country, gaining first hand experience of how things operate in the real world. This practical engagement will provide them with insights into the actual workings of the industry, offering valuable exposure beyond theoretical knowledge.

Course Details

  1. Fintech in Nepal

    1. Regulatory Framework

      1. OCR

      2. IRD

      3. NRB(Payment System Department), Monetary Policy, etc

      4. Department of National ID and Civil Registration (National ID)

      5. The Journey of Khalti

      6. E-Commerce Act in Nepal, Electronic Transaction and Transfer Act

    2. Industry Landscape

      1. Brick and Mortar Banking

      2. BFIs

      3. PSO

      4. PSP

      5. Digital Wallets

      6. Nearby Markets

      7. Cross Border Payments

      8. UPI India

      9. Visa, MasterCard, EMVCo

  2. Fintech General Practices and high level understanding

    1. Debit / Credit

    2. Payment Methods / Instruments

    3. Settlements

      1. End of the day

      2. Start of the day

      3. Session based

    4. Issuance / Acquisition (Issuing / Acquiring)

    5. MDR and MSF

    6. CBS and other Banking Fundamentals

    7. ISO 8583

    8. IPN (Instant Payment Notification)

    9. Payment Idempotency and standard practices

  3. Applications in Fintech

    1. Paytech

    2. InsurTech

    3. LendTech (P2P Lending, Crowdfunding)

    4. Cryptocurrency and Wallets

    5. Wealth Tech

    6. RegTech

    7. Artificial Intelligence

    8. Open Banking and Other Trends

  4. Building Fintech at Scale

    1. APIs - HTTP , REST

    2. SaaS and the Cloud

    3. General Software Engineering Guidelines

    4. Design Patterns and Architectures

    5. User interface and user experience principles

    6. Principles of Clean Code Architecture

    7. Microservices

    8. Asynchronous Applications (Real World analogy)

    9. Stateful and Stateless Applications

    10. Connectivity

      1. VPN

      2. Encryption - Symmetric, Asymmetric and Hashing

  5. Shipping Fintech Application at Scale

    1. Packaging

      • Containerization, Orchestration - concepts, tools and benefits

      • Introduction to Docker

      • Microservices architecture and its impact on packaging

    2. Configuration Management and IaC

      • Infrastructure as Code (IaC) principles

      • Tools like Terraform and Ansible for automated configuration management

      • Versioning the IaC

      • Consistency, Reproducibility and Configuration Drifts

    3. Deployment Strategies

      • Rolling deployments and zero-downtime releases

      • Blue-green deployments and canary releases

      • Deployment automation pipelines

    4. Scalability Considerations

      • Horizontal vs. vertical scaling

      • AutoScaling the Cloud and Load Balancing

      • Handling stateful vs. stateless components in a scalable architecture

    5. SDLC Automation

      • Overview of Software Development Life Cycle (SDLC)

      • Automation tools like Jenkins, GitLab CI/CD

      • Integration with version control and automated testing

    6. Release Management

      • Versioning strategies for releases - (the SemVer)

      • Release documentation and communication

      • Rollback strategies in case of deployment failures

      • Post-deployment monitoring and validation

    7. Database

      1. RDBMS Design for high scale applications

      2. Schemaless DB Concepts

      3. Streaming Replication in Postgres (Disaster Recovery)

      4. Data Lakes and Abundance of Data in Fintech

      5. TimeScale DB

    8. Reliability Engineering

      1. Performance Tuning

        • Techniques for optimizing code and infrastructure

        • Load testing and performance monitoring

        • Scalability considerations in Fintech application

      2. Monitoring and Alerting

        • Implementing effective monitoring solutions

        • Setting up alerts for critical performance metrics

        • Using APM (Application Performance Monitoring) tool

    9. Cloud and On-Premise Deployments

    10. Security Challenges and Implementation

      1. Fintech-specific security challenges

      2. Implementing secure coding practices

      3. DevSecOps principles in Fintech development

      4. Risk assessment, fraud detection, and customer insights

    11. Regulatory compliance and data protection in the Fintech industry

  6. Fintech Project Management:

    1. Agile methodologies in fintech projects

    2. Scrum and Kanban frameworks

    3. Project management tools and best practices

  7. Getting Prepared

    1. Version Control in Git

    2. Containerization in Docker

    3. Kubernetes

    4. Supervisor and Process Control

    5. RabbitMQ, AMQP, Message Bus and Asynchronous Concepts

    6. Github Actions and Pipeline

  8. The Career Path

    1. Broader spectrum of Fintech Learning

      1. Data-driven financial modeling

      2. Machine learning

      3. Financial data analytics (R/Python to perform data analysis)

      4. Cryptocurrency

      5. Cybersecurity

      6. Investment analysis and management

      7. And studying new innovations in AI, blockchain, bitcoin, cloud computing, crowd-funding, P2P lending, and more

    2. Professional Career choices

      1. Blockchain experts & developers

      2. App developers

      3. AI and machine learning developers

      4. Data scientists

      5. Financial analysts

      6. Product managers

      7. Cybersecurity experts

      8. Risk control managers and compliance managers

  9. Fintech Project (Group Based) in Python / Django / Javascript (React) and Flutter

Practical Lab

The course aims to cover a wide range of practical and hands-on sessions, including but not limited to the following scopes.

  1. Symmetric and Asymmetric Encryption

  2. Setting up the development environment

  3. Containerization and Orchestration

    1. Set up a Docker environment.

    2. Package a sample application into a Docker container.

    3. Explore basic Docker commands.

    4. Deploy a multi-container application using Kubernetes and Implement scaling and rolling updates

  4. AWS basics

  5. Streaming Replication in PostgreSQL

  6. Continuous Integration and Continuous Deployment

    1. Implementing a CI/CD pipeline using Github Actions

    2. Automate the testing and deployment process.

    3. Static Code Analysis

  7. Monitoring and Alerting

    1. Configure monitoring solutions like Prometheus and Grafana.

    2. Set up alerts based on performance metrics

  8. Group Project