SlideShare une entreprise Scribd logo
1  sur  38
Lessons Learnt from
Backend Systems
Development
by Josef Nevoral @ HotelQuickly
About HotelQuickly
● Last minute hotel booking
● iOS, Android and BlackBerry applications
● In 15 countries and more than 200 cities
● 2 years old
● 85+ people in company, 25+ in product team
● 10+ years in software development
● In HotelQuickly for 2+ years
● Many roles in the past - Titanium, iOS,
backend systems
● Currently leading backend systems
development
About me
Backend systems
in HQ
Backend systems in HQ
● 100+ repositories in github (20+ public)
● 40+ third party services integrated
● 5 programming languages
o php, javascript - NodeJS, python, ruby
Lessons learnt
Evolution of our development workflow
From a monolithic app to microservices
Asynchronous processing
Evolution of our development workflow
Lesson #1
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
20
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
20
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
20
Key moments
11/2012
1st
commit
03/2014
Code reviews
05/2014
Continuous
integration
08/2014
QA
10/2014
Scrum
sprints
10/2014
Retrospectives
01/2015
Kanban
20
From sprints to Kanban
From a monolithic app to microservices
Lesson #2
Why have we built a monolithic app?
● fast initial development
● not enough experience with large systems
● simplicity in the beginning for DevOps
What problems do we face?
● Huge database (250+ tables)
● A single technology stack
● Scaling
● Technical debt
● Onboarding new joiners Backend
Frontend
Hotels
extranet
Tracking
Payment
engine
Mobile API
Intranet
Notifications
engine
Callbacks
Cut the monolith into pieces
Backend === intranet
Frontend
Tracking
Mobile API
Callbacks
Notifications
engine
Payments
engine
Hotel
extranet
What microservices bring us
● Single responsibility
● Free hand in technology
● Independent scaling
● Smaller chunks to digest for new joiners
● Reducing technical debt step by step
New challenges
Asynchronous
processing
Lesson #3
Booking a hotel (synchronous)
API request from mobile app
1. Validate offer (is hotel still available?)
2. Verify that customer is not fraud
3. Charge customer’s credit card
4. Save information about the booking
5. Generate voucher and send confirmation to user (sms, email, push
notification)
6. Issue loyalty points
7. Issue referral program rewards
8. Send confirmation to hotel (email, fax)
9. Send payment to hotel (generate credit card, send email/fax)
10.Return API response to customer
Problems
● can be slow
● minor error can
fail booking
Booking a hotel (asynchronous)
API request from mobile app
1. Validate offer
(is hotel still available?)
2. Charge customer’s credit
card
3. Save informations about
the booking
4. Return API response to
customer
Processed on background
● Verify that customer is not
fraud
● Generate voucher and
send confirmation to user
● Issue loyalty points
● Issue referral program
rewards
● Send confirmation to hotel
● Send payment to hotel
Our solution
● Cron jobs (but it sucks)
o need to keep the state using flags in database
o waiting for cron (min 1 minute)
● Messaging queue system
o fire and forget
o highly scalable with microservices (workers)
o very fast communication
o Moving from Beanstalkd to AWS SQS
(experimenting with RabbitMQ)
Asynchronous processing
was not answer to all our performance problems and everything
42but it helped
Key takeaways
● become agile
o sprints / kanban
o retrospectives
o daily updates
● have 2 pairs of eyes for everything (not just code)
● think in microservices
● move as much as possible to background processes
● Becoming agile - book about agile best practices
● 12factor App - methodology for building software-as-a-
service apps
● Joel Spolsky test - 12 steps for better code
● codebunk.com - realtime pair coding
● queues.io - list of popular job and message queues
● Top 10 uses of queues
Resources
See you at the next HQ meetup
Follow our blog - product.hotelquickly.com
@hotelquickly
@HQProduct
josef.nevoral@hotelquickly.com

Contenu connexe

Tendances

GraphQL vs BFF: A critical perspective
GraphQL vs BFF: A critical perspectiveGraphQL vs BFF: A critical perspective
GraphQL vs BFF: A critical perspectivePronovix
 
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandNativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandBrian Rinaldi
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian WitalecSimone Basso
 
Cross Platform Angular 2 and TypeScript Development
Cross Platform Angular 2 and TypeScript DevelopmentCross Platform Angular 2 and TypeScript Development
Cross Platform Angular 2 and TypeScript DevelopmentJeremy Likness
 
Building Cross Platform Mobile Apps
Building Cross Platform Mobile AppsBuilding Cross Platform Mobile Apps
Building Cross Platform Mobile AppsShailendra Chauhan
 
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko PurnomoFitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko PurnomoDicodingEvent
 
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
 
Full-Stack Development
Full-Stack DevelopmentFull-Stack Development
Full-Stack DevelopmentDhilipsiva DS
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceKevin DeRudder
 
Hundreds of Microservices without Breaking Your APIs
Hundreds of Microservices without Breaking Your APIsHundreds of Microservices without Breaking Your APIs
Hundreds of Microservices without Breaking Your APIsPronovix
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...NETFest
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Bibby Chung
 
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)Paul Lam
 
React for non techies
React for non techiesReact for non techies
React for non techiesAmy Crimmens
 
Getting Started with React.js
Getting Started with React.jsGetting Started with React.js
Getting Started with React.jsSmile Gupta
 

Tendances (20)

Job manager 2020 in Angular
Job manager 2020 in AngularJob manager 2020 in Angular
Job manager 2020 in Angular
 
GraphQL vs BFF: A critical perspective
GraphQL vs BFF: A critical perspectiveGraphQL vs BFF: A critical perspective
GraphQL vs BFF: A critical perspective
 
Boquet manager
Boquet managerBoquet manager
Boquet manager
 
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke HollandNativeScript Developer Day Keynote - Todd Anglin & Burke Holland
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
 
Cross Platform Angular 2 and TypeScript Development
Cross Platform Angular 2 and TypeScript DevelopmentCross Platform Angular 2 and TypeScript Development
Cross Platform Angular 2 and TypeScript Development
 
Building Cross Platform Mobile Apps
Building Cross Platform Mobile AppsBuilding Cross Platform Mobile Apps
Building Cross Platform Mobile Apps
 
Accenture
AccentureAccenture
Accenture
 
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko PurnomoFitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
Fitur Terbaru Flutter di Tahun 2021 - Widyarso Joko Purnomo
 
OutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI IntegrationsOutSystems Tricks & Tips for Complex UI Integrations
OutSystems Tricks & Tips for Complex UI Integrations
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
 
Full-Stack Development
Full-Stack DevelopmentFull-Stack Development
Full-Stack Development
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation Service
 
Hundreds of Microservices without Breaking Your APIs
Hundreds of Microservices without Breaking Your APIsHundreds of Microservices without Breaking Your APIs
Hundreds of Microservices without Breaking Your APIs
 
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com....NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
.NET Fest 2019. Александр Демчук. How to measure relationships within the Com...
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319
 
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
Getting Started with React.js
Getting Started with React.jsGetting Started with React.js
Getting Started with React.js
 
AngularJS
AngularJS AngularJS
AngularJS
 

Similaire à Lessons Learnt from Backend Systems Development

Similaire à Lessons Learnt from Backend Systems Development (20)

SUNIL_dotnet
SUNIL_dotnetSUNIL_dotnet
SUNIL_dotnet
 
Rahil Resume
Rahil ResumeRahil Resume
Rahil Resume
 
Supriya Saha Resume
Supriya Saha ResumeSupriya Saha Resume
Supriya Saha Resume
 
Bk resume may2019
Bk resume may2019Bk resume may2019
Bk resume may2019
 
myresume_latest
myresume_latestmyresume_latest
myresume_latest
 
Rajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot netRajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot net
 
New Resume Final
New Resume FinalNew Resume Final
New Resume Final
 
Resume
ResumeResume
Resume
 
Umair Kardar Resume
Umair Kardar ResumeUmair Kardar Resume
Umair Kardar Resume
 
NwayNwayYu
NwayNwayYuNwayNwayYu
NwayNwayYu
 
Adnan_Khan_Profile
Adnan_Khan_ProfileAdnan_Khan_Profile
Adnan_Khan_Profile
 
Sainath_Resume
Sainath_ResumeSainath_Resume
Sainath_Resume
 
kaushal_kumar_Myresume
kaushal_kumar_Myresumekaushal_kumar_Myresume
kaushal_kumar_Myresume
 
Nitin bondre
Nitin bondreNitin bondre
Nitin bondre
 
SDDeepakRtathore_1.9_19082016
SDDeepakRtathore_1.9_19082016SDDeepakRtathore_1.9_19082016
SDDeepakRtathore_1.9_19082016
 
Vivek
VivekVivek
Vivek
 
Neerav Modi
Neerav ModiNeerav Modi
Neerav Modi
 
Anand Trivedi_New
Anand Trivedi_NewAnand Trivedi_New
Anand Trivedi_New
 
PavanKumar_SSE
PavanKumar_SSEPavanKumar_SSE
PavanKumar_SSE
 
Megha_Sawant
Megha_SawantMegha_Sawant
Megha_Sawant
 

Plus de Michal Juhas

Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewMichal Juhas
 
IT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewIT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewMichal Juhas
 
Three Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software DevelopersThree Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software DevelopersMichal Juhas
 
What i wish i knew in my 20's
What i wish i knew in my 20'sWhat i wish i knew in my 20's
What i wish i knew in my 20'sMichal Juhas
 
Adaptive Upskill As The Future Of The Workforce
Adaptive Upskill As The Future Of The WorkforceAdaptive Upskill As The Future Of The Workforce
Adaptive Upskill As The Future Of The WorkforceMichal Juhas
 
Introducing PlanetQuest on the TechsSmmit 2018
Introducing PlanetQuest on the TechsSmmit 2018Introducing PlanetQuest on the TechsSmmit 2018
Introducing PlanetQuest on the TechsSmmit 2018Michal Juhas
 
Metasearch Outlook 2017
Metasearch Outlook 2017Metasearch Outlook 2017
Metasearch Outlook 2017Michal Juhas
 
Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...
Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...
Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...Michal Juhas
 
How do we test nodejs apps?
How do we test nodejs apps?How do we test nodejs apps?
How do we test nodejs apps?Michal Juhas
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 featuresA walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 featuresMichal Juhas
 
Becoming Data Driven
Becoming Data DrivenBecoming Data Driven
Becoming Data DrivenMichal Juhas
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practicesMichal Juhas
 
PHP Frameworks, or how I learnt to stop worrying and love the code
PHP Frameworks, or how I learnt to stop worrying and love the codePHP Frameworks, or how I learnt to stop worrying and love the code
PHP Frameworks, or how I learnt to stop worrying and love the codeMichal Juhas
 
Building Scalable Micro-services with Nodejs
Building Scalable Micro-services with NodejsBuilding Scalable Micro-services with Nodejs
Building Scalable Micro-services with NodejsMichal Juhas
 

Plus de Michal Juhas (14)

Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet Preview
 
IT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewIT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet Preview
 
Three Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software DevelopersThree Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software Developers
 
What i wish i knew in my 20's
What i wish i knew in my 20'sWhat i wish i knew in my 20's
What i wish i knew in my 20's
 
Adaptive Upskill As The Future Of The Workforce
Adaptive Upskill As The Future Of The WorkforceAdaptive Upskill As The Future Of The Workforce
Adaptive Upskill As The Future Of The Workforce
 
Introducing PlanetQuest on the TechsSmmit 2018
Introducing PlanetQuest on the TechsSmmit 2018Introducing PlanetQuest on the TechsSmmit 2018
Introducing PlanetQuest on the TechsSmmit 2018
 
Metasearch Outlook 2017
Metasearch Outlook 2017Metasearch Outlook 2017
Metasearch Outlook 2017
 
Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...
Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...
Subscription Economy: How to shift mindset in 2017 and adapt to changing cons...
 
How do we test nodejs apps?
How do we test nodejs apps?How do we test nodejs apps?
How do we test nodejs apps?
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 featuresA walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 features
 
Becoming Data Driven
Becoming Data DrivenBecoming Data Driven
Becoming Data Driven
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practices
 
PHP Frameworks, or how I learnt to stop worrying and love the code
PHP Frameworks, or how I learnt to stop worrying and love the codePHP Frameworks, or how I learnt to stop worrying and love the code
PHP Frameworks, or how I learnt to stop worrying and love the code
 
Building Scalable Micro-services with Nodejs
Building Scalable Micro-services with NodejsBuilding Scalable Micro-services with Nodejs
Building Scalable Micro-services with Nodejs
 

Dernier

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Dernier (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Lessons Learnt from Backend Systems Development