Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

General Discussion

Amy Kotas
Amy Kotas
1,822 Points

Question/Goals

I just started a free trial and I'm enjoying it a lot. I've been learning to code with Codecademy and the Women's Coding Collective recently, but I'm liking what I see at Treehouse.

Anyways, I actually have a background in web development, so I'm not sure how to progress. A lot of the tracks seems to have some overlap (HTML and CSS early on, etc.). If you already have some knowledge of HTML and CSS, can you just take the quizzes and earn badges to move on more quickly?

I'm kind of not sure where to start as far as tracks, too. I was a web developer in 2000 after college, self-taught, pre-CSS. Worked in the field briefly, got away from it, then into graphic design, and now back to the web (well, trying!). I've taken classes with the Women's Coding Collective in HTML, Javascipt/jQuery, and recently a little PHP. I'm not sure whether to go for the front-end track or dive more deeply, and broaden my skills to make me more employable in the future - by taking the Rails track, since there's a lot of overlap between the front-end track and the rails track (well, it seems so from the listing of skills).

Do you have any suggestions?

3 Answers

I'd suggest starting by building a solid foundation with HTML, CSS, and JavaScript. You'll need to be familiar with those regardless of whether you choose to do back-end work with PHP, Ruby, ASP, or whatever. If you want to be more of a back-end developer than a designer, you probably don't need to be a true master with HTML and CSS, but you need to understand them enough to be able to read the structure of a page and debug things that aren't displaying correctly.

My experience sounds pretty similar to yours in that I dabbled in web development in high school and college in the late 90s. I can tell you from experience that a lot has changed, even without getting beyond what's being done these days with HTML, CSS, and JavaScript.

I can also tell you from my experiences that your knowledge of graphics design will be a big plus if you do become a band-end developer. I'm a programmer myself, and my own graphic design skills are horrible. And from what I've seen from other programmers, it's pretty rare that one person is good at both the detailed programming work and at design work. So if you're good at both, that's a huge plus.

In answer to your other question; yes, you can just take the quizzes and move on. But you may reach a point where you don't know all the answers, in which case I recommend watching those specific videos.

Amy Kotas
Amy Kotas
1,822 Points

Would you suggest the PHP track then, or Ruby?

I'm glad to hear that having a background in design is helpful even if I choose to focus on back-end development now. I honestly enjoy design, but there is a lot of appeal in learning to code, too (I've always been good at picking up languages).

I think you should start with PHP. Ruby uses a concept called convention over configuration. Here's a Wikipedia description if you're interested http://en.wikipedia.org/wiki/Convention_over_configuration. Basically what that means is that the language framework does a lot of stuff for you behind the scenes without you explicitly telling it to do that. Because of that, Ruby will have a considerably different feel to it than languages such as JavaScript, PHP, Java, C#, and Visual Basic (the later two are used for ASP programming). It'll probably be easier to use PHP and/or JavaScript as a jumping off point to learn other languages, rather than Ruby.

Another reason I recommend PHP is that you'll probably want to become familiar with database and SQL if you plan on doing back-end development. Since Ruby sets up a lot of the database stuff for you (and therefore hides the details), starting out with PHP will force you to also learn more database stuff.

Amy Kotas
Amy Kotas
1,822 Points

Very helpful! Thank you for that information! I enjoyed the brief course I took in PHP with the WCC, so it's probably good to continue here and explore it further before bouncing over to Ruby just yet.

You should ask yourself if you want to work in a team or independently. In a team, you have the front-end and the server-side developers. If you're going to dive in and be an "specialist" in front-end development then it will be a benefit when working in a team, because then you end up having "specialists" on each area, which can make the project you're working on a perfection.

If you know that you're going to work independently then of course in most cases; you need to know both server-side and front-end development. It's a lot more work but in my experience, more fun and you learn so much more about development overall and you can easily dive in to other areas like mobile app development etc.

One benefit for being a professional JavaScript developer is that you can both work with the language on both front-end and the server-side with Node.js.

In my experience even as a part time Rails developer, the web application programming language (not including JavaScript) beginners should start with is PHP and not Rails. Because Rails is a framework so the learning process will be learning Ruby and at the same time the concept of frameworks which can be confusing. PHP itself is a "language" you can use directly in html document. It's when you're feeling confident using PHP you're going to start using a PHP framework. When you understand how a framework works then you can easily learn Ruby and Ruby on Rails.

Amy Kotas
Amy Kotas
1,822 Points

Hi Harald, you bring up a lot of good points to consider. My goal right now is to get up to speed so I can work from home (I'm home with two small children, and I'd like to have the flexibility to take on remote projects). (Though I've done some graphic design gigs solo and working directly with clients can be a drain, so working for someone else, from afar, is more appealing...).