Photo by Mikhail Pavstyuk on Unsplash
[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
Fintech in Nepal
Regulatory Framework
OCR
IRD
NRB(Payment System Department), Monetary Policy, etc
Department of National ID and Civil Registration (National ID)
The Journey of Khalti
E-Commerce Act in Nepal, Electronic Transaction and Transfer Act
Industry Landscape
Brick and Mortar Banking
BFIs
PSO
PSP
Digital Wallets
Nearby Markets
Cross Border Payments
UPI India
Visa, MasterCard, EMVCo
Fintech General Practices and high level understanding
Debit / Credit
Payment Methods / Instruments
Settlements
End of the day
Start of the day
Session based
Issuance / Acquisition (Issuing / Acquiring)
MDR and MSF
CBS and other Banking Fundamentals
ISO 8583
IPN (Instant Payment Notification)
Payment Idempotency and standard practices
Applications in Fintech
Paytech
InsurTech
LendTech (P2P Lending, Crowdfunding)
Cryptocurrency and Wallets
Wealth Tech
RegTech
Artificial Intelligence
Open Banking and Other Trends
Building Fintech at Scale
APIs - HTTP , REST
SaaS and the Cloud
General Software Engineering Guidelines
Design Patterns and Architectures
User interface and user experience principles
Principles of Clean Code Architecture
Microservices
Asynchronous Applications (Real World analogy)
Stateful and Stateless Applications
Connectivity
VPN
Encryption - Symmetric, Asymmetric and Hashing
Shipping Fintech Application at Scale
Packaging
Containerization, Orchestration - concepts, tools and benefits
Introduction to Docker
Microservices architecture and its impact on packaging
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
Deployment Strategies
Rolling deployments and zero-downtime releases
Blue-green deployments and canary releases
Deployment automation pipelines
Scalability Considerations
Horizontal vs. vertical scaling
AutoScaling the Cloud and Load Balancing
Handling stateful vs. stateless components in a scalable architecture
SDLC Automation
Overview of Software Development Life Cycle (SDLC)
Automation tools like Jenkins, GitLab CI/CD
Integration with version control and automated testing
Release Management
Versioning strategies for releases - (the SemVer)
Release documentation and communication
Rollback strategies in case of deployment failures
Post-deployment monitoring and validation
Database
RDBMS Design for high scale applications
Schemaless DB Concepts
Streaming Replication in Postgres (Disaster Recovery)
Data Lakes and Abundance of Data in Fintech
TimeScale DB
Reliability Engineering
Performance Tuning
Techniques for optimizing code and infrastructure
Load testing and performance monitoring
Scalability considerations in Fintech application
Monitoring and Alerting
Implementing effective monitoring solutions
Setting up alerts for critical performance metrics
Using APM (Application Performance Monitoring) tool
Cloud and On-Premise Deployments
Security Challenges and Implementation
Fintech-specific security challenges
Implementing secure coding practices
DevSecOps principles in Fintech development
Risk assessment, fraud detection, and customer insights
Regulatory compliance and data protection in the Fintech industry
Fintech Project Management:
Agile methodologies in fintech projects
Scrum and Kanban frameworks
Project management tools and best practices
Getting Prepared
Version Control in Git
Containerization in Docker
Kubernetes
Supervisor and Process Control
RabbitMQ, AMQP, Message Bus and Asynchronous Concepts
Github Actions and Pipeline
The Career Path
Broader spectrum of Fintech Learning
Data-driven financial modeling
Machine learning
Financial data analytics (R/Python to perform data analysis)
Cryptocurrency
Cybersecurity
Investment analysis and management
And studying new innovations in AI, blockchain, bitcoin, cloud computing, crowd-funding, P2P lending, and more
Professional Career choices
Blockchain experts & developers
App developers
AI and machine learning developers
Data scientists
Financial analysts
Product managers
Cybersecurity experts
Risk control managers and compliance managers
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.
Symmetric and Asymmetric Encryption
Setting up the development environment
Containerization and Orchestration
Set up a Docker environment.
Package a sample application into a Docker container.
Explore basic Docker commands.
Deploy a multi-container application using Kubernetes and Implement scaling and rolling updates
AWS basics
Streaming Replication in PostgreSQL
Continuous Integration and Continuous Deployment
Implementing a CI/CD pipeline using Github Actions
Automate the testing and deployment process.
Static Code Analysis
Monitoring and Alerting
Configure monitoring solutions like Prometheus and Grafana.
Set up alerts based on performance metrics
Group Project