I've read a lot about some of the general skills needed for web development like HTML, CSS, Javascript, PHP, and MySql. But what I have not been able to find is what are some specific skills a developer would need. For example, how to position divs in HTML or run for-loops in Javascript.

Could anyone tell me what is crucial to know prior to setting out in web development?

  • 4
    Positioning a div in HTML (actually CSS) and running for loops in javascript is knowing those technologies. It is all equally "crucial" at times depending on what any one project requires. There's really no way to list every aspect of every language. You should just learn the languages.
    – Scott
    Apr 10, 2016 at 22:03

2 Answers 2


As @Scott says, divs and loops are all part of knowing the technologies. When you freelance, nobody expects you to be a know-it-all, but the client expects you to undertake responsibility. The client is unlikely to know divs, for loops or anything else so you saying "I can do this, that and the other, but I cannot do for-loops" means you expect the client to find an alternative resource to work with you, to complete the project. So now the client needs two resources, and if they don't know each other, who will manage the communication and task allocation between them? A third person? Who pays for all this?

Going with half a toolbox might help you do a few tricks, but if we compare it to car mechanics, your ability to change a fuse or a light bulb, but without knowledge to change the oil or a wheel will leave few if any opportunities to be open to you.

Best you not just learn more, but gain experience. Both will help your confidence. Work within other web dev circles so you can knowledge share. There is no shame in this - we have all been there.

Also - keep an eye on stackoverflow - a huge wealth of information to be found there that will help put the wind in your sail.

Best of luck

  • This is is all great advice. It's really only by completing projects and actually using your knowledge that you start to understand your strengths and weaknesses. Doing projects and keeping notes on what came easy vs what you struggled with will help you figure out where you need to build up your skills.
    – Angelique
    Apr 11, 2016 at 14:33
  • Thanks. I'm no guru but I am good at my work - I have learned my limits and I still work on growing my knowledge. The problem with skills is they are in demand for a year or two before it becomes part of a standard skillset. I struggle to stay ahead but believe I manage well not falling behind if that makes sense.
    – fiprojects
    Apr 11, 2016 at 15:45

Being a freelance web designer/developer is about deductive reasoning.

I'd hazard a guess that no one knows absolutely everything about every possible development language. That's like saying someone knows every possible word in the English dictionary -- it's merely unrealistic.

What you learn are concepts. You learn the concept of a for/while/foreach loop... then you adjust that concept for the language requirements you are working in. You learn the concept of CSS positioning and then you adjust based upon given HTML and desires.

What you should focus on in terms of specific languages/mark up are the basics. You should understand, in general, what overall function and benefits each language offers over others and when a particular language is best used.

For example (these are very general):

  • PHP is server-side scripting, it won't alter anything already present in a browser window. So, it's not appropriate for show/hiding contents on a click but it's perfect for pulling data from a database when a page is loaded.
  • ASP, Perl, .Net et al are similar in usage to PHP with their own specific language structures. If you were baking a cake... server-side scripting would be the flour, eggs, and yeast -- the basis for any type of cake.
  • Javascript doesn't lend itself easily to layouts and positioning and it doesn't connect to a database directly. However, javascript is perfect for in-browser alterations/animations based on a user's actions such as showing/hiding content on clicks, form validation, etc. And it can be used with php to create ajax functions that will assist in speeding the display of content based upon user interactions. Sticking with the cake analogy... javascript would be the specific ingredients... what makes the chocolate cake chocolate.
  • HTML is merely the content it doesn't connect to any database and doesn't offer any direct user integration beyond the click, submit, and button elements. For the cake.. HTML is the pan you bake in which determines the shape of the cake. It's the basic structure which forces your ingredients to a specific shape.
  • Cascading Style Sheets (CSS) controls how HTMl looks and allows for some in-browser animation/interaction. For the cake, CSS is the frosting.. the decoration.. the visual experience of the cake.

A freelancer explores each aspect of design/development, then uses that knowledge to determine what may be needed given project specifications. You may not need to know how to create a something specific ... but you should be able to determine what may be needed, and based upon the interaction what the best language to use may be ..... then you go learn how to make that if you don't already know.

After a while your experience and knowledge grows so you do less and less project-based learning and can build faster. But, at that point technology has changed and you need to learn new methods. Web design/development is a never ending learning processes. Start where you are... and start learning....

The primary difference with freelancing here is that you need to be self-motivated and driven because no one is going to tell you what you need to learn because only you know your projects. You have to be able to determine what is needed and how to learn that on your own.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.