Getting started as a freelance web dev + Confidence

Hi,

I’m not a newbie, not exactly anyway. Worked in an IT/programming/testing job for a couple of years almost a decade ago - using Java in general, although I don’t recall too much other than basic concepts now.

Since then I’ve been through business school, worked in sales and marketing for a Telecom firm, in a product management sort of role, and then transitioned to a project management role at a small firm that did apps and websites.

I’ve been doing the latest for the last 4 years - and the last 5 months have been freelance but doing the same work for the same firm (part-time).

Somewhere along the line in this role, I realized
a. I have an affinity for the coding side of things, rather than project management, and I found my self digging into problems that the developers were facing.
b. Looking at the coding quality, and end product that we were able to achieve, I was pretty sure that I could do it better, but I wasn’t able to influence this in the team due to both lack of knowledge.

I tried to learn on the side, but time constraints (and I suspect some amount of laziness on my part) did not let me do so. So, I ended up quiting the full time role, to put more time into learning, with the aim of getting into freelance web development for my self.

I’ve dug into HTML, CSS, JavaScript and a little bit of custom WordPress through FCC, Udemy tutorials, and general Googling. My concerns are

  1. I could easily spend years on learning, without ever getting the full hang of a technology. At what point would you say that you’ve learned enough HTML, enough CSS, enough JS to be able to create simple marketing websites for clients?
  2. And over time expand into full stack work? What would you say is needed in order to create a full system, with front end and back end work involved?
  3. Also, is it over ambitious to be looking into getting straight into freelance, without working in a dev job first (I did, but that’s years ago, and I’m not sure whether that helps me out here.)
  4. Is there anyone on the community who’s looking to create some practice projects in order to get more confidence, and is willing to collaborate?
  1. You know you can create a website when you actually do it. Create a prototype site for a fictional company, then look for a an actual site you can take on as a project. Do make the layout nice, and it should go without saying that it should be responsive, but don’t get too obsessed with making the graphical assets look fabulous if you can count on having a designer to work on those.

  2. Once you have the frontend technology down (HTML, CSS, JS), the bare minimum you need for “full stack” is to learn a back-end technology – of which you have a dizzyingly vast array of choices such as Node, Python, PHP and many more. Once you have the basics of the backend down, it’s time for you to learn AJAX, which is nothing more than using JS to communicate with the backend (usually using JSON) in order to update the front end. There’s many AJAX tutorials on the web, though I recommend you find one written within the last 8 years or so, as they’ll use libraries that are more current than older tutorials will have you using.

  3. Freelance work is definitely harder than a regular job with a big company, since you’ll be responsible for the whole shebang: not just the technology stack, but billing clients, tracking project hours, and tax withholding too. If you want to freelance, I strongly recommend you find other experienced freelancers (through, say Meetup or Facebook groups) and network with them.

  4. I’ve always found it useful to google for tutorials on the technology I’m practicing, run through those, then if I find them interesting, expand on them to add new features. If you have specific projects in mind already, then by all means, charge forth and implement them, even if you’re just starting with a primitive minimal implementation.