Welcome to the Treehouse Community
Looking to learn something new?
Jordan Pierre16,601 Points
How many languages do I need to know?
I am currently working on changing my career to doing some type of coding in the tech world. I'm still not exactly sure about if I want to be a front-end dev, back-end dev, iOS dev, ruby dev, etc. And I find myself switching tracks a lot. So my question is, should I learn a bunch of different languages, so I can be more versatile? Or should I try to pick one language and master that one language?
To be honest, I don't think you need to be a master at almost any language to be able to land a job working with that language and do really well in it. If you're starting out, no one is expecting you to be a complete guru at the language; they just expect you to get the job at hand done and be willing to constantly learn. Most of the work you'll be doing as a dev will most likely have already been done in some capacity, and we're lucky enough to be in an industry where helping each other out is the norm.
With that said, if you're dabbling between languages a lot, I would recommend you focus on one for a bit to a point where you feel really comfortable with it and can do some somewhat complicated stuff with. Just pick whatever seems more appealing to you. The main reason I recommend you to do this is because once you learn the ins-and-outs of one language, your second and third will be a whole lot easier. Much of the same rules you'll learn for one will apply to the next. So if you're dabbling at the surface of several languages too much, you won't get the change to get into the nitty-gritty of programming. Once you've learned how to do advanced stuff in one language, you'll find that the general concepts are the same from one language to another and you just need to figure out some of the specifics.
I think it's a really good idea to have some knowledge of back-end development, but if you ultimately want to do front-end, focus mainly on that. Front-end is much easier to pick up if you don't have a CS background, in my opinion.
In terms of design, I suggest learning as much as you can about it. I just read a great book called Design for Hackers that's a great place to start. Then start designing stuff and try to put a portfolio together.
To be honest, coming from someone that is just getting done with the getting started/I don't know what the hell I'm doing phase, it's a lot of work, but none of it is particularly difficult. It just takes lots of time and practice.
I started out as an IT coordinator at my university when I was still a student about 4 years ago helping out with SQL stuff on a database and doing updates to our website mainly through a CMS. That evolved into me becoming the webmaster for that site which got me started on learning a lot more web stuff. Once I graduated, I got hired at a web development agency as a project manager. At around the same time, I started freelancing, making WordPress sites on my own. And finally after more than a year of basically working two jobs (freelancing and my regular day job) I got a job as a front-end developer for a small start-up.
PS: I learned about half of what I know if not more from Treehouse.
Not sure if this has been posted before but there is a kick ass youtube video on what you need to learn to get into the web design/developer industry. He goes through the paths for both front and back end developers.
Check it out here