Overview

A potential client or an interviewer asks you how you would build a complex web application that has features A, B, C, and what tools/languages you would use to build this project.

How would you answer this question in a way that impresses them and make you stand out? Not only that, how would you really design a system like that in the real world?

Knowing how to create a complex web application is not an easy task but I will try to teach you things I've learned over the last 12 years as I've worked and built many projects.

Some disclaimers first:

  1. Keep an open mind: There are new tools/services that are introduced on a daily/weekly basis. I will try to focus on the fundamentals and cover general principles while giving specific tips for each scenario with some of the services I am aware of. This doesn't mean that the tools/services I cover are the only technologies used for that specific part of the process. Please keep an open mind as you read my articles and watch my videos that there are probably many other services you could choose from, other than the ones I specifically mention in this module.
  2. Please be kind and not send mean attacking comments. By being completely open with how I would answer this question, I am opening myself to a lot of criticisms. Steps an engineer would take to create a scalable web application and what tools to use and when to use them is not something every has the same opinion on. In fact, there are lots of opinions about how to do this, just like how there are lots of opinions about what the best car in the world would be. I do take criticism harshly so if you don't share my view on how things should be done, you may well be right, but do share your thoughts in a kind way. I will try to update the documents as I learn more about different services available in the cloud and as I learn more from other experts in the industry.

Okay. With this in mind, you're ready to begin. Before you start however, please share what motivated you to take this module?

What motivated you to take this module? This information will help me improve this module and what additional topics I should cover.

Submitted answers • 6

Top Answers

  • To get more depth in programming.Posted 150 days ago

    • Seemed interested and very essential to being a good software developer. Also, I love learning the tips and knowledge that others have gained over many many years, so I can learn best practices and hopefully get boosted faster than by myself. Thanks!Posted 284 days ago

      • I just to know more about this topicPosted 34 days ago

        • Understand the strategyPosted 87 days ago

          • I need it for post grad education.Posted 96 days ago

            • I want to get more background knowledge on the various options available to design a system . I am interested in these topics - Having a high level view of the components/architecture in system design. - How to explain why a particular service /design was chosen. - Different ways of designing the same system, each time focussing on a different area, say database, object oriented, caching etcPosted 154 days ago