

Ask HN: What's the Minimum Viable Skillset of Web Development? - Red_Tarsius

I have a background in graphic design but I&#x27;m not an actual developer. I often find myself with ideas I&#x27;d like to try out, but the lack of skills AND direction is quite frustrating.<p>I don&#x27;t want to become an actual web developer; what I&#x27;m looking for is the <i>Minimum Viable Skillset</i> I have to learn to build ROUGH, yet functional prototypes (<i>Case in point</i>: Peter Levels https:&#x2F;&#x2F;levels.io&#x2F;12-startups-12-months&#x2F;). Html and CSS are a no-brainer but I&#x27;m really confused by the bazillion of frameworks and languages out there.
======
gordonzhu
Check out [https://www.angularcourse.com](https://www.angularcourse.com). I
run through all the things you'll need to build a real app starting from
scratch.

The focus of the course is AngularJS, but a lot of students have been drawn to
it because want to learn how to build the sample app in the course.

Another big advantage of my course is that I show you how to build completely
server-less apps with Firebase. That means you don't need to learn frontend
AND backend programming at the same time. This is huge when you're getting
started.

I did this so that I could focus on teaching frontend stuff (Angular), but
this had the unintended consequence of really appealing to startup types as
well.

I'm the author, so if you have any questions just send me an email (my email
is on the bottom of the landing page).

~~~
Red_Tarsius
Very interesting course, good job! I might give it a try.

~~~
gordonzhu
Thanks! Shoot me an email (gordon-at-angularcourse-dot-com) if you have any
questions or even want to do a video chat. Happy to help!

------
mathgeek
My personal suggestions in parenthesis...

You're going to need a JS framework of some sort (jQuery), a layout framework
(Bootstrap), and something to run your backend (depends on your preference in
languages... Ruby on Rails, Django, etc.).

~~~
Red_Tarsius
Thank you for your prompt reply. I'm always scared by the titles " _[insert
any language] is dead_ " and the high obsolescence of all things web dev, but
I'm going to give it a try!

------
coddee
Vanilla Javascript. There are tons of frameworks out there that come and go,
but as long as you know the fundamentals well enough you can transfer that
knowledge to any framework. Sure the code length and complexity will increase,
but it will not only force you to learn javascript, but the DOM as well.

(canonical example of vanilla vs jquery):

$('#myDiv');

vs

document.getElementById('myDiv');

I cannot stress enough how important it is to understand the DOM in web
development.

------
bhayden
People are giving you stuff that is hard to understand for a non-developer,
like Angular and MVC frameworks, and that isn't really a "minimum".

The real, simplest, tools are HTML, Javascript (jQuery), PHP, and MySQL. You
can sign up for shared hosting that costs $10/year and start developing
something as complicated as Facebook or Wordpress with only these tools.

People hate on PHP for various reasons, a lot of it stems from a lot of PHP
code being terrible because it was written by novices. But this reveals
something: there are a LOT of PHP novices because it is tremendously easier to
get started with than other options. No configuration, just a text file ending
with .php and upload it to your shared hosting with an FTP client (or even the
one built into your cPanel). Bam, working backend.

Feel free to contact me if you need help.

------
eminkel
Pick something and stick with it; otherwise you'll never learn anything.

------
mod
I posted answers to the same question over here:
[https://news.ycombinator.com/item?id=9096608](https://news.ycombinator.com/item?id=9096608)

------
bnb
I'm in a somewhat similar position. I started as a web designer, but then
moved my interest toward web development almost entirely. I know where you're
coming from, and it can be frustrating.

Everybody, and I mean _everybody_, has their framework, platform, language,
and so on that you should learn. If you ask a question like this over an
extended period or in a popular forum where it will get seen and responded to,
you're going to get a million people telling you to go in a million different
ways.

_You_ need to take a look around, and figure out what's best for _you_. Pretty
much every established framework, platform, and language is good.

You can build an app with any of them, but some have special characteristics
that might seem more relevant to your interests. You should evaluate probably
5-10 of each of the available options in each category based on the features
they specifically point out that they're good at, and choose which ones you
want to use. Here are some of the different frameworks/platforms/languages you
can start with:

MVC-ish frameworks:

Angular: [https://angularjs.org/](https://angularjs.org/)

Ember: [http://emberjs.com/](http://emberjs.com/)

Backbone: [http://backbonejs.org/](http://backbonejs.org/)

React + Flux (my pick, as it's pretty revolutionary):

[http://facebook.github.io/react/](http://facebook.github.io/react/)

and

[http://facebook.github.io/flux/](http://facebook.github.io/flux/)

Server-side:

Ruby on Rails (the most common server-side framework, but slowly fading out as
a favorite): [http://rubyonrails.org/](http://rubyonrails.org/)

Node.js: [http://nodejs.org/](http://nodejs.org/)

io.js (my pick, as I'm involved with it, and it's 100% a step up from Node, as
you can by default use ES6 (search ES6 on Google if you don't know what it is)
features): [https://iojs.org/en/index.html](https://iojs.org/en/index.html)

Django (Python):
[https://www.djangoproject.com/](https://www.djangoproject.com/)

Client-side JS:

jQuery: [http://jquery.com/](http://jquery.com/)

Plain JavaScript (my pick, as I feel it's a lot more healthy to learn vanilla
instead of rely on jQuery as a crutch, which is what most, but not all, front-
end devs that use it do): A million tutorials online.
[https://developer.mozilla.org/en-US/](https://developer.mozilla.org/en-US/)
for docs on functionality. Find extremely well-designed (visually) blogs that
have tutorials on how to _build programs_ that have actual usable
functionality in the browser.

If you want any more advice or guidance, hit me up on Twitter @bitandbang or
email me at bitnb@subvertising.org.

~~~
Red_Tarsius
I'm very thankful to you for taking time to answer in such a thoughtful
manner!

