
I would lean toward Rails(ruby) or Laravel (PHP).
Those are frameworks. Laravel might even be more in demand now and easier to get in to.
If you're just getting started learn some HTML and CSS. Head First HTML and CSS is a good book.
Next they have a Head First PHP and MySQL book that is good.
Once you completed those start building some simple apps on your own. Sign up for a basic hosting account and learn about setting up a domain, pointing the A record to the server, etc. FTP the files up.
After that signup for Laracasts.com, there are great tutorials, sign up for a Github account, start going through the courses on Laracasts.
I would recommend using a macbook if possible, or start saving up for one or see if someone can pass a used one along to you, it just makes the tutorials easier. When I've tried to use windows in the past it's possible but seems like you run in to windows only issues that take hours to resolve on a regular basis.
For hosting at this point go through the laracast tutorial on Forge, it's a server setup/deployment tool, it makes setting up droplets on Digital Ocean for Laravel super easy. If you're just learning you could sign up for a trial and just learn how to spin up the server, you could still ssh in to the droplet and deploy with the command line after you cancel your forge subscription.
So going through these steps you should have a pretty good handle on setting up websites and starting to develop web applications. You'll probably still need someone to recommend you that knows you and works at a company.
Good luck.
I have a dokku box (there's a market setup on DigitalOcean, would go with at least a $10 box on DO). You can then setup all your projects on the dokku box as you go. `git push deploy` ... bonus if you can get integrated with Github's CI/CD pipelines.
I see a lot of example sites from those who come out of bootcamps, or on their own learning path... the extra bit is actually having running samples. It's easy enough to get a domain name and point *.domain at a dokku box.
The other extra points part will be to have tests with code coverage on your projects. Frankly, a lot of code/modules that go into production don't have this, so it's not a hard requirement, but is something that will put you ahead of competition when starting out.
If you have no knowledge at all, I'd suggest getting started with "Head First HTML And CSS"[1]. It's not the most in-depth, but a pretty good beginner book for getting started. From there I would go through the "Modern JavaScript"[3] series from O'Reilly as well as "CSS: The Definitive Guide"[3].
From there, it's a matter of what interests you. Though React, Angular or Vue would be good next steps. Followed by backend with Node.js as well as PostgreSQL (or MS SQL). From there, the sky is the limit.
[1] https://www.amazon.com/Head-First-HTML-CSS-Standards-Based-d...
[3] https://www.amazon.com/CSS-Definitive-Guide-Visual-Presentat...
Get a basic hosting account, register a domain, learn how to setup a website use FTP.
Next go through the book Head First PHP and MySQL, it will give you a basic foundation in forms and databases.
After that go through Headfirst Javascript, then Headfirst jQuery.
Signup for a github account, checkout ways to deploy websites without FTP, explore Vue and React.
At that point you could start learning frameworks like Rails, Laravel if you want to create web applications. Pick out something you need/would use, it will make it more interesting.
Good luck, enjoy the ride.
This is my general recommendation to friends and family wanting to learn web development.
Head First HTML & CSS is what he should focus on first.
As he is working through the book have him purchase a domain, setup a website on something like hostgator. That's a great learning experience.
After that book I'd recommend Head First PHP & MySQL.
At this point he could probably setup websites for small local businesses. There are usually lots of local businesses who need a website. Use html/css templates for the design of sites.
Then he can move on to the Head First Javascript then jQuery.
I would create some type of web application using PHP and MySQL so he can see how they work. Maybe a project useful to him to play around with. I would recommend using the bootstrap css framework for the app.
Up till this point deploying with FTP is fine. But this would be a good time to learn about using and deploying with GIT (Github, Bitbucket and GitLab).
After that he could start looking at frameworks, I like Rails (Ruby) and Laravel (PHP).
There is RailsCast.com and LaraCasts.com that are great sites for learning those two frameworks.
After you have the framework basics down and has built a few traditional applications then is a good time to learn Vue or React.
I would also have him pickup a last gen macbook air on sale if he's not a mac user. Rails and Laravel development is just easier on mac. When I was trying to learn Rails on windows I would literally spend more time working around issues with windows than the actual tutorial.
Develop locally save, refresh the browser to view (Checkout Laravel Valet for local web server on OSX).
After that walk through registering a domain and basic hosting, uploading via FTP. Just so he knows how it works.
After that move over to storing things in a repo and deploying.
First determine if you enjoy coding and have a knack for it. Some people enjoy it more than others and some people have the ability to quickly track down bugs, solve problems and apply knowledge to solving new problems.
If you're totally new to coding I would recommend starting with the book Head First HTML and CSS. You can find the first version pdf online, order from your library, get it on amazon, barnes and noble usually has it in stock. Work through that book at your computer.
Use google+stack overflow for help. Typically you can google a problem or error and you'll find a proper solutions on stackoverflow.com. This will ring true even as a professional/experienced developer.
Work through the book at a computer working along with it, don't just reed it and expect to learn.
After that create some basic websites of your own, register a domain name. Get an inexpensive shared hosting account. hostgator will work. Learn how to setup your domain, point the a record. Register yourname.com or something you might want to use in the future since you'll have it for a year and might want to renew use for your projects. The hosting account you could cancel after a month or two once you're familiar with setting up domains.
After you're comfortable with that. You could start contacting local businesses and see if you can land some work creating small business websites. It seems there are always small businesses out there that could use a website. In the beginning don't worry about forming an LLC or anything. Write them a simple proposal to create their website for $XXX or $X,XXX. Small businesses don't usually expect to pay a lot for sites and this isn't going to replace your day job but you can make some money and get experience working with clients. Also they will request things like can you make it do this that will expand your skills.
You can charge them for creating the website, for hosting and for maintenance. You can charge a fixed fee for creating the site. Getting started I'd estimate work at 2x your call center rate. Estimate how much time you think it will take, then double that and make that your fixed fee proposal to start. Initially you're probably going to take longer than you expect and might even lose money on projects by taking too much time. But part of doing this work is to learn new things, get more comfortable with your new trade.
I would have them register their domain name since that's something they will always want to keep with their business. A good service is keeping track of their expiration dates (run a who is) and follow up with them to make sure they renew in the future. Especially if they are new to websites/domains.
Charge monthly for hosting and maintenance. I would try charging $50/mo for hosting, maintenance offer a $99 plan that includes once monthly updates to content (up to 1 page). So this could be adding news, updating phone numbers, adding/removing staff, adding a page. You can setup recurring charges through paypal, they can signup with a credit or debit card through their paypal account or you could offer an annual plan that they pay by check.
Ok at this point you'll run in to clients asking can you make my site do xyz. Most likely this will require some server side development or javascript.
At this point I'd recommend getting the book headfirst php and mysql. and work through this book the same way as the first. PHP isn't a super glamorous language but I think it's the best next step.
After you have worked through a portion of that book. Give setting up wordpress a go. wordpress.org. You can install this on a hostgator account the same way. Wordpress is a CMS that powers lots of sites on the web and runs on PHP and MySQL. After you get your feet wet with this you can learn about wordpress themes and plugins. There is alot you can learn here. I think it's good experience. There are lots of WordPress developers out there so I don't think this should be your ultimate goal, but it is another service you can provide to clients to get more experience. Wordpress based websites where they can login and make updates, add pages, or you can set them up in WordPress and make the updates. I find many clients can't even handle making updates in WP and will still end up requesting you do it for them. Always charge them for making updates (unless you have a basic maint. plan that covers it that they pay monthly, get them used to paying for work).
Working with clients don't get overloaded. Always pad your deadlines and try to deliver early or at least on time.
Ok so you're getting familiar with Wordpress and working through the PHP and MySQL book. Once you complete the work with the book start creating some of your own applications. A to do list, something to track something you collect. Then research creating a login and authentication system from scratch in PHP and MySQL. This is a great learning experience. Once you have completed your own application I would recommend learning a framework. Frameworks handle all the messy behind the scenes stuff you just worked out on your own. But creating it from scratch once will help you understand what the frameworks are doing behind the scenes.
Ok so for frameworks I would recommend Laravel or Rails. This is your ultimate goal as Laravel and Rails developers get paid a good rate.
For Laravel start here (only after completing the books and your own apps)
laracasts.com
use forge.laravel.com for creating servers and deploying your code, learn git (use gitlab or bitbucket or github).
You might also want to start listening to startupsfortherestofus.com start with episode 1, being a developer if your ultimate goal but you should think about having your own products too.
Good luck with the transition.
