Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Sam Hayward
Sam Hayward
11,673 Points

Weird weird front end.

Hey all!

Long version (tl;dr at bottom):

Just looking for some advice based on my situation – might apply to some others.

Sep 25 2013 - Did the first two Treehouse Android courses for a few months with the idea of releasing my own hopefully successful app.

Nov 22 2013 - Start learning web as I do research and realise how hard it is to have your own app noticed. Complete a few HTML, CSS, JavaScript/JQuery, PHP Treehouse courses and taking notes in the process of about a year.

Present day: Take an interview test in which I had to re-create a responsive design from psd files, including JavaScript, over a few days. Couldn't really complete it and doubt how much I’ve learnt / my abilities. (They were after perfection, though).

Front end web seems to be a real mess. When it comes to layout, CSS just seems so awkward, unpredictable and sometimes broken. JavaScript / JQuery seems a little weird as you usually just end up using plug-ins with thousands of lines of code that would take a very long time to decipher - but are made by experienced people (enough to wonder if there’s any need to learn it yourself), and then can be a complete nightmare to integrate into your page.

From an article online by someone who sounds like they know more than me:

"We work with crappy tools on inconsistent platforms run by every kind of device you can imagine, all "standardized" by a toothless and glacially slow committee that mostly holds us back, with a mandate to bend the web into shapes it wasn't meant to take while making sure the product is works for everyone no matter what, all at a pace of change that many people can't keep up with—and our metric is perfection."

Coding in general (to me) is not easy. Therefore I'd like to do something where your tools (languages, ways of doing things) feel as normal, consistent and systematic as possible, so it doesn't feel like some vast mish-mash buggy wilderness.

So, my thoughts turn to dropping front end web and once again re-starting with Android / Java (except to get a job this time). From what I remember they seem a bit less wishy washy, although I was just starting it. Does anyone have insight as to whether it gets as awful/frustrating/hacky as front end web? I'm also considering PHP. I don't have a passion for front-end in particular, it's just the first parts of web development you learn, and I need a job.

TL;DR:

Is anything more straightforward than front end web development? Is something like Android/Java (or even PHP) more straightforward in practise when you get beyond the absolute basics? Front end web seems like a bizarre mess.

Any advice is greatly appreciated, cheers! =)

2 Answers

Just my 2 cents here.

Coding is buggy, wishy washy and a nightmare no matter what language or "type" of coding you are doing.

Question, since you didn't include this information above :) ; how many sites have you designed/developed since you started taking these courses?

Was the assumption that you would watch these courses then be able to design and develop like the people who have been doing this for years? If so, you might want to re-evaluate your expectations. Taking a some courses (hell even getting a 4 year degree in the stuff) does not guarantee you perfection and absolute understanding of anything much less development and design.

Another way to look at it is this: If you watched and took notes on a years worth of Guitar lessons how good would you expect to be if you didn't practice your art constantly?...not just watch courses on it.

You will run into the same frustrations with any development language/environment. That's why programmers get paid what they get paid, it's difficult.

With that being said, Java / Android development might have the wishy washy, buggy , nightmarish coding flow that you CAN get your brain wrapped around, not all languages are equal...that's why there are so many of them :) Different programming languages just click with different people...I have never been any good C# for example...just doesn't click for some reason! :D

I would say if you love front-end design and development stick with it, as you practice and built more and more sites you will learn the little nuances of how the languages work and interact with each other. If on the other hand you really don't like it now that you are into it, switch! :)

Hope this helps!

Sam Hayward
Sam Hayward
11,673 Points

Hey, thanks a lot for answering. To answer your question, I first made one responsive page that wasn't great, and recently have made a responsive site for some friends doing a start-up record label (only place holder content at the moment on a free hosting site) http://smrbeta.freeiz.com

With this, I had as much time and flexibility as I needed (if something was icky, there was room to make it different or do it another way). Re-creating a psd design responsively in limited time just seemed like a whole different kettle of fish.

This is really helpful though, thanks so much!

Thomas McCracken
Thomas McCracken
13,591 Points

I'm a Front End Developer, not a lot of professional experience but I did a coding bootcamp called the Iron Yard for Front-End Engineering recently. I have some backend experience too so I'll soon be Full Stack developer hopefully. But I'll tell you what I've found so far to be true concerning Front-End stuff versus backend and learning between the two.

There's a lot of different ways to achieve similar results with front-end stuff on the web. I think this is partially because there's a lot of creative things you can do on the front-end to control UI/UX that backenders don't normally have to think as much about. For instance, you can give the exact same HTML page to different designers/engineers to style and each one will look and act differently even with the exact same HTML. You ask someone to model some data on the backend and chances are it will be almost the same across the board. Backends don't involve the Human Computer Interaction so there's less focus on this and the design aspect that front-ends get. This is the same with Android/Java applications, think of what you're looking at as the front-end. You'll still have a lot of options when it comes to UI/UX design.

And this may be the reason there are so many options for frameworks and libraries to try and make it easier for web developers to have common structure and design. Putting them together like you're talking about can be a pain especially if the fundamentals of HTML/CSS/JavaScript are not there. Plus it's constantly evolving; a lot of things people used to make with JavaScript can now be done with CSS and little to no JavaScript.

I wouldn't say Front-End Web development is any harder or easier than any other development, you just need more practice with HTML, CSS, and JavaScript. All development will require some sort of front-end to deal with users and a back end to deal with data whether it's a web application or not. As far as creating responsive websites from a psd file, I suggest using libraries to help UI development like Bootstrap, Bourbon/Neat/Bitters, Zurb's Foundation, and there are plenty others. If they want to create it from scratch then check out Ethan Marcotte's book, http://www.abookapart.com/products/responsive-web-design. I believe he came up with the concept originally.

Frameworks and libraries will really help you along the way, but it will also just take practice especially with CSS. Try using codepen.io for practice with CSS and HTML too. I found that watching things changing while you're typing is very helpful with CSS rather than constantly reloading a web page.

Hope this helps! Good luck in whatever you decide to do!

Sam Hayward
Sam Hayward
11,673 Points

Hey, thanks for answering!

This is really valuable info, and its true I've not really looked into using frameworks yet.

This has been a great help, thank you =)