
Learning Web Development
Before Web development
Before learning, the applications that I wrote are usually standalone and runs only on individual machines. I had previous exposure to coding in my electrical engineering courses, however they are either microcontroller code or hardware description languages like Verilog.
What Is Web Development
Web development, however, offers so much more potential. Every major applications these days run on the web. These applications could be search engines, e-commerce sites, or in-house solutions. All these examples have one thing in common: decentralization. This could be the decentralization of computation or data storage. A one machine task can be done much more effectively if the task is performed across many machines. Standalone applications that do not communicate with other machines will soon be obsolete, if they haven't already been. With the exception of low-level hardware engineers, programmers are losing out big time if they do not learn web programming. Knowing the basics will be useful, even if one is just trying to code up a toy project.
Learning Web Development
Getting started with web development is a steep learning curve. For starters, there are numerous frameworks out in the wild. Learning a framework is one thing, but knowing the project architecture and requirements before choosing one is another. Serious web development does not just end with mastering a framework. Front-end design, setting up back-end infrastructure, security and traffic handling are just some of the challenges that one would face. Each field is so deep and complex that there are teams dedicated just for that one aspect. No wonder full-stack engineers only exist in startups.
Where to Go From Here
The path to become a web developer is tough, but the rewards of being a good web developer is too good to pass up. A good starting point is to learn a simple framework like Flask. I am quite proficient with Python and have working knowledge with HTML and JavaScript, so Flask seems like a good starting point. Compared to Django, Flask also has a lower learning curve. Flask is probably the most suitable framework for learning web development with personal projects.