Tuesday, October 21, 2014

Luca: Designer, Developer, Nanodegree Pioneer

As we get to know our first Front-End Web Developer nanodegree class, we are absolutely inspired by our amazing students, and we can't wait to introduce them to the community

Today, we’d like you to meet Luca!

Luca is a freelance interaction designer based in Milano, Italy, who is “not really interested in becoming a web developer!” 

Instead, Luca enrolled in the nanodegree to learn to prototype his own designs.

Web Dev for Design Prototyping


Luca's sketches and wireframes for a coffee machine
As an interaction designer, Luca says, “I believe that it's impossible to design great products without prototyping and using them to see what doesn't work.” 

While he “used to use software to make mockups and wireframes,” Luca prefers to code simple, responsive prototypes. He finds that the nanodegree is “perfect for [his] goals” because adding HTML, CSS, Git and JavaScript to his skill set will allow him to code interactive prototypes that will give his users better experiences.

Luca’s Rule #1: Write Code Every Day  


We are super impressed with Luca’s projects, and when we asked for the secret to his success, he told us: “I have a new rule: try to do a little every day.” 

Luca recommends reading John Resig’s blog post, “Write Code Every Day,” as well as the Udacity data team’s findings on successful student behavior, if you need a little extra inspiration to make your own daily resolution.

Luca’s Rule #2: Real Life Projects


For Rule #2, Luca draws on advice from Ruby on Rails and Basecamp creator David Heinemeier Hansson. In his blog post, “How Do I Learn to Program?” David shares how he finally *really* learned to program after twenty-plus years of programming.
Check out Luca's first nanodegree project, his own portfolio!
The answer? Learning by doing things he truly cared about, by “programming because I gave a damn about what I was writing and I wanted it done sooner rather than later.” 

Luca echoes, “I apply what I’m learning on my real life projects because when I care about what I do, I put more effort into it.”

Biggest Nanodegree Surprise: The “Why” of Learning


Luca’s biggest nanodegree surprise - so far! - is learning how to learn. 

He says, “I am improving my skills and my knowledge; this I expected. I didn't expect to learn how to learn. In How to use Git and GitHub, Sarah and Caroline use conceptual maps and reflection as learning tools.” 

He adds, “One thing I love about Udacity classes is that they focus as much on the big picture of why to do something, as on how to technically execute something. When you focus only on the HOW, your knowledge is fragile.”

Monday, October 20, 2014

What Are Frameworks and How Do Developers Work with Them?

Front-end developers can work within frameworks or build their own.
Front-end developers can work within frameworks or build their own.
There are multiple solutions for every problem in web development. Do you develop your own solution or do you try to implement someone else’s? Or should you do a bit of both? 

In fact, the field of front-end web development is rife with frameworks, or code toolsets that solve commonly faced problems. 

Frameworks make your life easier by simplifying complex problems so you can focus on finishing your project. Simply import a framework and take advantage of your new tools! Let’s take a look at similarities and differences between front-end developers who primarily build with frameworks and those who build frameworks.


Building within Frameworks


As the web is such a large, complicated and competitive space, there are literally hundreds of different tools and technologies you can use to build websites.

Looking at front-end job postings, you’ll find cryptic lists of frameworks and technologies on top of which websites are built. People build with JavaScript frameworks like AngularJS and BackboneJS. Some websites are built with CSS frameworks like Twitter’s Bootstrap (like Udacity), while others use Zurb’s Foundation 4. Some websites are built with pure CSS, while others rely on CSS preprocessors like SASS and LESS. Some people prefer writing JavaScript but others enjoy the syntactic sugar of CoffeeScript. The list goes on and on.

How do you manage the ever changing landscape of front-end web development tools? Try them out yourself! Follow sites like Hacker News and Tales from the Front-End to stay on top of the latest developments and give them a try! Read documentation, write code and, most importantly, learn, learn, learn.


Contributing to Frameworks


While there are tons of solutions available for you to build almost any kind of website you can think of, sometimes you need to build something that doesn’t exist yet. And for that, you’ll need to create a library of code yourself.

Many front-end developers contribute to open source libraries in order to support the entire community of developers. For instance, developers at Google build AngularJS and Polymer, both of which are freely available to all Front-End developers. Many developers support the front-end community by contributing to open source libraries as well. jQuery, one of the most popular front-end scripting tools, was created by former Mozilla engineer John Resig as an open source project.

Front-End web developers building custom solutions need to be well-rounded in HTML, CSS and JavaScript. Single page web apps especially rely on custom JavaScript solutions to bring an idea to life.

Interestingly enough, while JavaScript is primarily a front-end language, many developers are transferring their skills to back-end proficiency with the rise of JavaScript based servers like NodeJS.


Best Practices for Front-End Developers


Whatever Front-End route you choose, the most effective way to boost your career is to keep up-to-date with new technologies. Experiment! Try any and all front-end technologies! Read documentation, build experiments, learn what works best for your projects and stay ahead in the rapidly evolving landscape of front-end web development!

To build your front end web development skills, check out our Front-End Web Developer nanodegree, where you’ll learn by doing as you build a portfolio recognized by industry employers.

Tuesday, October 14, 2014

Behind the Scenes: Making Courses at Udacity

Students First - that's our motto at Udacity. 

It's the first thing you'll see, painted over an entire wall, as you enter the office. It's the first you'll hear when we debate what we should teach and how we should teach it. It's what drives our passion for crafting your learning experience, and it's what makes our team so special. 

It is a great experience being on a team that truly values the student learning experience and is always trying to learn and expand our pedagogy expertise. This passion we all share shines through in our course development process.

So you may ask, “What goes into a Udacity course?” Here are the four main chapters:



Planning

Starting with our first brainstorm for course topics, we keep students first by considering what skills they will need to land or advance their dream job. We develop an outline and discuss the best ways to teach our students the particular topic and how to get them involved through interactions.

Feedback

We script each lesson as if we were talking directly to the student complete with visual ideas and all!  We collaborate with other course developers and potential students to insure we are on the right track with what students want in how we’re planning the course.

Production

We film the course. We might not get every take just right, but it’s the bloopers that make recording so much fun!

Launch

We get the course ready for the site which can include programing feedback or quizzes or preparing a project so our students can have an interactive experience.


This entire process from start to finish is filled with creativity, teamwork, research, and quite a few laughs along the way. After all, if we don’t have fun creating the course, why should we expect our students to enjoy taking the course?

Thursday, October 9, 2014

Sneak Peek: Front-End Web Development Newsletter

With our inaugural class of Front-End Web Developer nanodegree students in the starting blocks, we’re developing extra content to guide and inspire aspiring web developers. We are thrilled to channel some of this extra content into a new monthly Front-End newsletter, which includes front-end best practices, resources, and more!

Check out these resources from our first newsletter, let us know what you’d like to see in future editions, and sign up to receive Front-End newsletters here!


It’s Moving, OMG!
Some of the things you can do with CSS and JavaScript are downright CRAZY! Check out some of these fantastic animations and demos and see if you can decipher some of the quirks and tricks they make use of.


It’s Time to Talk About <time>
HTML5 has added a variety of new tags to give us ways of presenting our content semantically. Check out this approachable guide to HTML5’s time element, and make your visually rich content also semantically rich.



Wait, I Can Do THAT?
Learning JavaScript isn’t just about learning to write code. You also need to be able to read other people’s code. Check out these 5 Common JavaScript Tricks!
Squashing Personal Bubbles
When using inline-block elements, you often want them to be presented right beside each other, but the browser seems to do everything it can to prevent that. Learn to fight whitespace between inline block elements.





Got any tips, tricks or inspiration to share? What do YOU want to see in this newsletter? Tweet us @Udacity with the #frontend hashtag, or just comment to let us know what you think!

We hope to see you for our next issue of this newsletter. If you want in, don’t forget to sign up!

Monday, September 29, 2014

5 Questions Good Web Developers Ask Themselves

I don't always ask myself questions, but when I do, I ask these five.
Front-end web developers have a heck of a job to do. It’s their job to make the internet awesome.

Seriously, you know all of the amazing things that you can do online? Things like upvoting pictures of cute puppies, sharing jealousy-inspiring vacation pictures with all of your friends, changing the world in 140 characters or less, becoming an internet sensation in your underwear or learning how to program a self-driving car could not possibly happen if it weren’t for incredible teams of front-end web developers who make the internet the most awesomest place on Earth (or space!).

But what do those front-end developers do all do all day? What questions do they ask themselves as they shape the landscape of the World Wide Web?

1. Is this going to break?


OK, the internet lies to you. You know how online tutorials and lessons (including Udacity’s) make coding look so easy? You see us type, type, type on screen (no typos, of course), press enter and voila! the code works perfectly. That’s because we’re using video editing technology to skip the part where everything is broken and ohmygod why is this $%^)@*$ script not working now!? (Udacity blooper reels might or might not exist. And they might or might not be filled with words the FCC wouldn’t approve…)

Everything breaks. All the time. Good front-end developers are constantly, constantly, constantly testing their code to make sure everything is working the way it should. Errors and bugs are especially a problem for front-end developers because client-side JavaScript often fails silently, meaning there is no nice, clear error message and the only way you know something went wrong is because, well, something doesn’t look right. HTML and CSS bugs almost never produce errors either. Instead, the page just looks weird and it’s your job to hack and slash your way through the HTML and CSS jungle to find the source of the issue.

Front-end developers save themselves time and frustration by testing their code as often as possible.

2. How can I do this better?


Front-end devs encounter lots of speed bumps as they develop websites with features previously thought impossible. Speed bumps represent unnecessary steps or pauses in workflow. You want to go as fast as possible from point A to point B, but for some silly reason there’s a speed bump in the middle of the road despite the fact that there aren’t any children or other cars within hundreds of miles. So what should you do? Flatten speed bumps.

Front-end engineers frequently work with new technology and custom tools. Unlike the streamlined, polished workflows that they create for users, the process of building websites often involves clunky interfaces and repetitive operations. Write code. Save code. Restart server. Open browser. Navigate to site. Open DevTools. Paste script. Type command. See results. Refresh page. Rinse and repeat thirty times a day. Speed bumps aren’t just frustrating, they lead to lots of wasted time.

Good front-end developers think carefully about their workflows and try to smooth out speed bumps whenever they can. They recognize that a few extra minutes spent automating their work or removing unnecessary steps saves a lot of time and frustration in the long run.

3. How will people use this?


All front-end developers create products specifically made to be consumed by people. Other software engineers, who might find themselves building interfaces between application layers or writing kernal code running in the background, deal with perfectly logical computer interfaces. The interface between human and website offers a unique set of challenges.

As such, front-end developers must constantly ask themselves how people will react to their work. Sure, the button you may have just developed represents the pinnacle of well-written HTML, but will a person want to click on it? That’s a completely different challenge.

As front-end developers make websites come to life, they are forced to step back to consider how people, temperamental and impatient as they are, will react and flow through their work. Human focused fields of study like psychology, behavioral sciences, and design theory come into play as front-end developers try to shape and perfect website experiences.

4. What can I do with this?


There’s a massive landscape of front-end development technologies available. You’ve got AngularJS and BackboneJS if you want your websites to follow an MVC model. You can dive into web components if you want to introduce object-oriented principles to your visual components. CSS frameworks like Bootstrap and Foundation provide much, much more than just grid systems. And of course there’s the mighty jQuery, which makes DOM manipulation easy.

Once they decide to implement a technology for a project, front-end developers experiment, pore through documentation and get in touch with other developers using the technology in order to eke as much as they can out of it. Building a deep understanding of their technology allows front-end developers to not only build awesome sites but also push the limits of what front-end technology can accomplish.

5. What is this new thing?


Technology changes quickly. WHOA! Whoa! I know. Your mind is blown.


Tim-and-Eric-Space-Explosions.gif


The tools behind the web are evolving just as quickly as the websites built with them. Front-end developers have to stay on top of the latest and greatest technology or risk falling behind.

There are many reasons to learn new tech. There’s a good chance it’ll lead to performance boosts for your websites. You may find tools that let you probe into your sites in ways you hadn’t imagined before. You may find tech that simplifies your codebase or your workflow. Or it might open up new opportunities to simply make better websites.

Constantly experimenting with new technologies is the only way to stay current. The good news is that the internet is filled with free resources to help you learn new front-end tools (**cough**Udacity!**cough**). Hear about something cool? Give it a shot because you never know how it may help your career.

Thursday, September 25, 2014

4 Tips to Ace Your Online Course

Meet Nick Gustafson, a Udacity data scientist. Nick has combed through all of our data on student behavior in the classroom and student outcomes, and has culled his findings into four simple takeaways to help you finish your course.



Study for an hour every day.

This one is simple. Students who graduate spend about an hour per day, three or four times per week in the classroom. 


Use the mobile app to study wherever you are.

About half of Udacity graduates use Udacity’s mobile app to study on the go. Taking advantage of small moments in the day to catch up on study time makes it easier to stay involved in class. 


Take Quizzes seriously!

Students who graduate Udacity courses tend to spend about the same amount of time working on quizzes as they do watching videos. Practice makes perfect! These graduates are reinforcing the concepts they’ve just learned! 


Try hard, try often, and you’ll succeed!

If you get a quiz wrong the first time around, don’t sweat it. Students who graduated from Udacity’s Intro to Hadoop and MapReduce course pressed the test button on programming quizzes an average of 11 times, and the submit button an average of 2.5 times. With each time you test or submit an answer, you have the opportunity to learn from your mistakes and become a better programmer.

Wednesday, September 24, 2014

Nanodegrees and Beyond

Udacity's mission is democratizing education
At Udacity, our mission is to democratize education, making it accessible and affordable to anyone who wants to get a new job or advance a career. 

The world demand for computing skills is increasing at a historically unprecedented rate with supply unable to keep up, regardless of the best efforts by academia, companies and governments. This phenomenon is not limited to Silicon Valley alone. Technology is transforming every industry, be it food, retail, healthcare or transportation. Companies from Columbus to Cologne and Sao Paolo to Sapporo are hungry for technical talent.

In our effort to bring education to a greater number of professionals, we are excited to have closed a financing round of $35 million with investors from around the globe. The lead investor in this financing is Drive Capital, a fund with a large presence in the American Heartland. Mark Kvamme, founder of Drive Capital, will join our board. We are fortunate to have Bertelsmann in Germany; Recruit in Japan and Valor Capital in Brazil join us to further expand our presence for students around the globe. Cox Enterprises is also participating in this financing. Our partners from the start, technology stalwarts Andreessen Horowitz and Charles River Ventures with Peter Levine and George Zachary complete the round.  

The new investment will mainly be used to double down on our work with nanodegrees, a new type of credential for students to gain skills recognized by employers around the world. In fact, today we are opening our first nanodegree, built with AT&T, to an initial group of students. In time, the program will be open to everyone.

We currently have close to three million enrollments from 119 countries for our classes that
are built with industry leaders like Google, Facebook, AT&T, Cloudera and MongoDB among
others. These classes, available on any device anywhere, come with personalized coaching
and a project to demonstrate mastery of skills -- something no other company does today. We often say at Udacity, we are built by industry for industry.

In many ways, we are still at the start of our journey. With the strong interest and passion for learning we are seeing from students and partners, we are fully committed to bring education to millions of people to help them get jobs and advance their lifelong learning. When a store clerk goes from shelving cans to getting a job in technology, raising his standard of living, because of a Udacity class, we know we are on the right path. As we march towards more of these, we want to thank the Udacity team, our partners, investors and most importantly, our students, for joining us on this audacious journey.



Vish Makhijani
COO