Newbie Problem in web development
āA man ceases to be a beginner in any given science and becomes a master in that science when he has learned that he is going to be a beginner all his lifeā -- Robing G.Collingwood
This is my first post in my blog and Iād love to talk about a problem that faces beginners in web development, especially when they want to build their very first complete project. As a beginner, all I was thinking of is coding and writing HTML pages,CSS style sheets, maybe some ājavascriptā (I mean jQuery), and I was fascinated by some Bootstrap ways to make your page looks nice,Ā thatās all what I thought of at first when it came to front-end. Then I started PHP as I was told, to handle back-end stuff, and guess what? I am Job Ready Web developer! (thatās what I thought of, anyway)
Well, when I wanted to build my very first project, I felt like Iāve learned nothing, I didnāt know what to do after I completed the look of the Home Page, I didnāt know how to link the front-end and the back-end, how to get my website up and running( hosting, configuring,... etc), how to solve complex problems, like what if I wanna add a search bar in my website? what if later I wanted to change the look of my website? did I build it in a way that is scalable?
I had no idea how to do these things and I came to realize that this is what web development is about: To bring all these parts together and make them interact with each other in a way that allows you to modify, scale, change and maintain your website easily.
Knowing just the syntax of a markup or a scripting language is not enough to become a job ready web developer, letās say just a web developer. But you shouldnāt be frustrated either, because it is doable, you can learn these stuff.
I wanna list a couple of technologies and things that you should have as a skill to consider yourself a Job Ready web developer:
Front-end languages such as HTML(now HTML5), CSS3, JS (Frameworks are so important these days, they save you lots of time).
Back-endĀ languages: PHP, Ruby, Python( just one of these and always try to use frameworks such as Laravel, Ruby on Rails, Django..).Ā Ā Ā
MVC frameworks such as AngularJS, BackboneJs...
Understanding, and choosing the right Database technology along with knowing how to create,modify, control, and maintain it (the database).
Testing tools, like Apache JMeter, NeoLoad ...etc, along with browser testing tools like firebug...etc
Network protocols in the application layer such as HTTP ( make sure you have a good understanding).
Server-side configuration and Hosting Environment
A good understanding of Linux OS is critical (most web servers run Linux)
Project management (donāt be afraid! itās nothing!), itās just an organized, analytical approach to the design, development, use, and maintenance of software and applications.It consists of:
Ā Youāre going to encounter a lot of problems that push you to learn other things, thatās how we learn actually (By Practicing), and you donāt have to be an expert in all of these technologies, thatās why specialty exists, but having a good understanding is very important.
Ps: JavaScript nowadays is a must for every web developer (it runs on the client-side and the server-side)
You may want to take a look at the MEAN stack (MongoDB, Express.js, Angular.js, Node.js), it is a JavaScript software stack for building dynamic web sites and web applications.
Note that youāre not going to have all these skills overnight, you need to be determined, persistent, and to have SMART goals (step-by-step you can do it).
Advise: Learn, Practice, Practice, Practice, and Practice!