SlideShare a Scribd company logo
1 of 15
Download to read offline
Things you need to know before starting an
app
By,
Sana Nasar
Software Engineer/ Developer
@SanaNasar_


Questions to think before starting
• What programming language should I choose?
• What framework should I pick (Rails, Nodejs, Express) ?
• What database (MongoDB, PostgreSQL, MySQL, SQLite, RethinkDB)?
• What API should I use?
• Where should I deploy this?
• How do I deploy this?
• How can I make it scale?
• How can I make it secure?
But wait…
Let’s take a step back.
Always think about why you want to code and what is your end goal.
Things I Wish Someone had Told me when I was
learning to code
There is nothing mystical about
coding
• You will never have to re-invent the wheel.
• It’s okay to be confused – Impostor Syndrome is a real thing.
• There will be always someone better than you.
• Get used to being frustrated.
• It’s normal to forget things.
Remember it never works the first time.
It never works the first and probably won’t the second or third time.
Talk to Your Errors
• Try talking to your errors instead of getting annoyed or frustrated.
• Always go back to the basics – from where you started.
• Analyze the root cause of the problem.
• Try debugging and find ways remove the error.
You are awesome!
Few more things to remember…
• Always start with something small.
• Coding is not easy and it will never be, but we can make it better by being persistent.
• Take a lot of time thinking about what you want to build, how you want to build before
even starting with the code.
• Finally, do not allow yourself to quit.
CleanUp City was born.
CleanUp city is an application that helps people be aware of their environment and work towards cleaner and
greener community. Users can post pictures of dirty streets, potholes, graffiti on walls or anything that needs to
be fixed.
Built with: Ruby on Rails, AWS S3 to store in cloud, paperclip gem, Google Maps API and hosted on
Heroku.
With all this confusion and trauma, my first app CleanUp City was born (Tada!)
Challenges Faced during CleanUp City
• Understanding Rails - ActiveRecord class.
class Customer < ActiveRecord::Base
has_many :orders, dependent: :destroy
end
• Understanding “erb”.
Things that helped me over come the
challenge
• Going back to the basics.
• Reading documentation on ActiveRecord Basics.
• Understanding about Migrations, Validations and Associations.
• Any class inherits from ActiveRecord::Base to get it’s super powers.
• Finally read, read, read..
Thank you :)
@SanaNasar_

More Related Content

Viewers also liked

BRQ_PortfolioMgmt BRQPresentation
BRQ_PortfolioMgmt BRQPresentationBRQ_PortfolioMgmt BRQPresentation
BRQ_PortfolioMgmt BRQPresentation
Kyle D. Gearhart
 
Jax 2013 - Big Data and Personalised Medicine
Jax 2013 - Big Data and Personalised MedicineJax 2013 - Big Data and Personalised Medicine
Jax 2013 - Big Data and Personalised Medicine
Gaurav Kaul
 
2016統計地圖API教學簡報
2016統計地圖API教學簡報2016統計地圖API教學簡報
2016統計地圖API教學簡報
Yi Hsuan Su
 
Relación de la ética y el liderazgo dentro
Relación de la ética y el liderazgo dentroRelación de la ética y el liderazgo dentro
Relación de la ética y el liderazgo dentro
JacsiGomez
 
Grafico diario del dax perfomance index para el 07 11-2013
Grafico diario del dax perfomance index para el 07 11-2013Grafico diario del dax perfomance index para el 07 11-2013
Grafico diario del dax perfomance index para el 07 11-2013
Experiencia Trading
 

Viewers also liked (14)

BRQ_PortfolioMgmt BRQPresentation
BRQ_PortfolioMgmt BRQPresentationBRQ_PortfolioMgmt BRQPresentation
BRQ_PortfolioMgmt BRQPresentation
 
Jax 2013 - Big Data and Personalised Medicine
Jax 2013 - Big Data and Personalised MedicineJax 2013 - Big Data and Personalised Medicine
Jax 2013 - Big Data and Personalised Medicine
 
La motivcion en word
La motivcion en word La motivcion en word
La motivcion en word
 
Mika Alas
Mika AlasMika Alas
Mika Alas
 
2016統計地圖API教學簡報
2016統計地圖API教學簡報2016統計地圖API教學簡報
2016統計地圖API教學簡報
 
Metodos de integracion
Metodos de integracionMetodos de integracion
Metodos de integracion
 
Relación de la ética y el liderazgo dentro
Relación de la ética y el liderazgo dentroRelación de la ética y el liderazgo dentro
Relación de la ética y el liderazgo dentro
 
Kelley’s theory of attribution
Kelley’s theory of attributionKelley’s theory of attribution
Kelley’s theory of attribution
 
Arte povera
Arte poveraArte povera
Arte povera
 
Grafico diario del dax perfomance index para el 07 11-2013
Grafico diario del dax perfomance index para el 07 11-2013Grafico diario del dax perfomance index para el 07 11-2013
Grafico diario del dax perfomance index para el 07 11-2013
 
INTERROGATORIOS Y CONTRAINTERROGATORIOS
INTERROGATORIOS Y CONTRAINTERROGATORIOSINTERROGATORIOS Y CONTRAINTERROGATORIOS
INTERROGATORIOS Y CONTRAINTERROGATORIOS
 
Band Folio.Book 1 - Clarinete
Band Folio.Book 1 - ClarineteBand Folio.Book 1 - Clarinete
Band Folio.Book 1 - Clarinete
 
The Chief Digital Officer (CDO) - The New Business Transformation Leader
The Chief Digital Officer (CDO) - The New Business Transformation LeaderThe Chief Digital Officer (CDO) - The New Business Transformation Leader
The Chief Digital Officer (CDO) - The New Business Transformation Leader
 
Simulado de Língua Portuguesa Ensino Médio
Simulado de Língua Portuguesa Ensino MédioSimulado de Língua Portuguesa Ensino Médio
Simulado de Língua Portuguesa Ensino Médio
 

Similar to Things You Need to Know Before Starting An App-Openair2015 keynote

Effective entrepreneurship for developers
Effective entrepreneurship for developersEffective entrepreneurship for developers
Effective entrepreneurship for developers
Carlos Ble
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakk
kevinjohngallagher
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012
kevinjohngallagher
 

Similar to Things You Need to Know Before Starting An App-Openair2015 keynote (20)

How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to Code
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Bug Hunting Safari
Bug Hunting SafariBug Hunting Safari
Bug Hunting Safari
 
Traits of a Good Engineer
Traits of a Good EngineerTraits of a Good Engineer
Traits of a Good Engineer
 
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with androidThe Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with android
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Effective entrepreneurship for developers
Effective entrepreneurship for developersEffective entrepreneurship for developers
Effective entrepreneurship for developers
 
Android User Interface Design
Android User Interface Design Android User Interface Design
Android User Interface Design
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
 
Software Development Whats & Whys
Software Development Whats & Whys Software Development Whats & Whys
Software Development Whats & Whys
 
User Interface is King: Developing a Web App UI
User Interface is King: Developing a Web App UIUser Interface is King: Developing a Web App UI
User Interface is King: Developing a Web App UI
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
 
DevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable ProductsDevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable Products
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakk
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012
 
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Recently uploaded (20)

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Ground Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth ReinforcementGround Improvement Technique: Earth Reinforcement
Ground Improvement Technique: Earth Reinforcement
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 

Things You Need to Know Before Starting An App-Openair2015 keynote

  • 1. Things you need to know before starting an app By, Sana Nasar Software Engineer/ Developer @SanaNasar_ 

  • 2. Questions to think before starting • What programming language should I choose? • What framework should I pick (Rails, Nodejs, Express) ? • What database (MongoDB, PostgreSQL, MySQL, SQLite, RethinkDB)? • What API should I use? • Where should I deploy this? • How do I deploy this? • How can I make it scale? • How can I make it secure?
  • 4. Always think about why you want to code and what is your end goal. Things I Wish Someone had Told me when I was learning to code
  • 5. There is nothing mystical about coding • You will never have to re-invent the wheel. • It’s okay to be confused – Impostor Syndrome is a real thing. • There will be always someone better than you. • Get used to being frustrated. • It’s normal to forget things.
  • 6. Remember it never works the first time. It never works the first and probably won’t the second or third time.
  • 7.
  • 8. Talk to Your Errors • Try talking to your errors instead of getting annoyed or frustrated. • Always go back to the basics – from where you started. • Analyze the root cause of the problem. • Try debugging and find ways remove the error.
  • 10. Few more things to remember… • Always start with something small. • Coding is not easy and it will never be, but we can make it better by being persistent. • Take a lot of time thinking about what you want to build, how you want to build before even starting with the code. • Finally, do not allow yourself to quit.
  • 11. CleanUp City was born. CleanUp city is an application that helps people be aware of their environment and work towards cleaner and greener community. Users can post pictures of dirty streets, potholes, graffiti on walls or anything that needs to be fixed. Built with: Ruby on Rails, AWS S3 to store in cloud, paperclip gem, Google Maps API and hosted on Heroku. With all this confusion and trauma, my first app CleanUp City was born (Tada!)
  • 12.
  • 13. Challenges Faced during CleanUp City • Understanding Rails - ActiveRecord class. class Customer < ActiveRecord::Base has_many :orders, dependent: :destroy end • Understanding “erb”.
  • 14. Things that helped me over come the challenge • Going back to the basics. • Reading documentation on ActiveRecord Basics. • Understanding about Migrations, Validations and Associations. • Any class inherits from ActiveRecord::Base to get it’s super powers. • Finally read, read, read..