Front-End Web Development: Freelancing vs. Full Time

front-end developers can work as freelancers or on full time teams
Front-end developers can work as freelancers or on full time teams

Front-end web developers build the user-facing side of websites. Dedicated front-end developers work in a relatively new specialization within web development. Before a few years ago, there were simply web developers. With the rise of the influence of the web, web developers have had to split into two distinct categories: front-end developers who work create user experiences, and back-end developers who build and maintain the servers responsible for serving web content and storing data.

Today, front-end developers work with web designers to create the sublime, interactive experiences that make the web the addictive playground we know and (usually!) love. As the size and influence of the web has expanded, so has the importance of ensuring a website offers users an unforgettable experience.

Like most creative fields, some front-end developers find themselves freelancing – working independently and searching for contract work – while others find themselves working at large companies. Let’s take a look at similarities and differences between them.

Freelance Front-End Developers

Freelance Front-End developers often work with small businesses and individuals who need to create new websites or update the look of existing websites. Job boards like, and even are fantastic resources to connect you to clients and secure new work.

With your independence as a freelancer, you’ll also have the opportunity to use whatever fun, new tool or technology you want. Try out the latest and greatest technologies and expand your front-end toolset!

The flip side of freedom is being your own manager, administrative assistant, sales team and accounting department. In addition to developing, you’ll put in time managing client relationships and bringing in new work.

As a freelance front-end developer, it is critical that you maintain a detailed portfolio of work. There’s no better way to explain to potential clients that you’re perfect for the job than by showing them what you’re capable of creating. Build a beautiful portfolio and fill it up with websites that you’re proud to share!

Front-End Developers within a Company

Front-end developers who work within companies build great websites together in teams. In order to be successful, team members need excellent communication and organizational skills. You and your team will be using version control software like Git to maintain and organize your code, which means your code will need to follow company standards to make sure other teammates can use it as well.

As part of a company, you’ll be building products that help fulfill your company’s mission. Finding a company with a mission you support will make work more gratifying and fun. You’ll gain intimate knowledge of your product as you shape its future.

Being a part of a large team means that you might need to specialize your web development skills. If you’re working for a company that develops web apps for instance, you’ll find front-end web developers who primarily work with JavaScript. In the same way, some web developers specialize in HTML and CSS because they spend their time focused on laying out and styling websites.

Landing a front-end development job within a company requires building the same kind of portfolio as a freelancer. Build a portfolio, fill it up with your websites and show off your skills!

How to Get Hired

Whatever route you choose, getting hired means keeping 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!

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

2 Steps to Land a Job as a Software Developer

Software development jobs are on the rise

Software developer jobs are quickly on the rise and we all want to know how to land a job that pays $93,350 a year on average1. The good news is that whether you are an aspiring or self-taught software developer, a recent college graduate, or looking to switch careers, there is enough room for everyone. Here are two quick steps you can take to not only get your foot in the door but also position yourself as a competitive candidate:

Step 1. Work backwards: Target job first

With the abundance of online courses, the toughest call is often in making the right choices that will lead to the dream career. What courses do I take and in what order? When the eye is on the prize – the job – working backwards from available positions to interview preparation to demonstrating and mastering skills can help chart a path. Identifying a reliable source of information and learning that is approved by industry experts would be the ideal way to build towards your desired job. Who can better prepare you for the job than employers themselves? Produced in collaboration with AT&T, Udacity’s industry recognized nanodegrees explore job requirements with hiring managers first, and then guides candidates through the creation of projects.  Current nanodegree offerings include front-end web development with more to come.

Step 2. Create a portfolio: Tell your story

“Building a portfolio allowed me to tell stories about how I applied my learning, the experiences I gained, and how I brought an idea to life. I didn’t just list off a series of courses I took during my interviews,” remarks Caroline Sun, an associate business analyst in the IT department at Oliver Wyman. The projects Caroline built during an internship and in her computer science classes provided examples to draw upon when answering behavioral questions during an interview. If you have created a project or are simply working on one now, show it off on Github or add it to the Projects section of your LinkedIn profile.

Equipped with these two guiding principles in your job search toolkit, you can now tackle the challenges that lie ahead for a software developer trying to land a job:

Recent vs. Experienced college graduates

In my years of experience as a career counselor, I have often heard recent college graduates’ woes of not being able to compete against experienced candidates. While unemployment rate for recent computer science college graduates does indeed drop from 8.7% to 4.7% in experienced graduates2, the differentiation lies in more than just years of work experience. You can demonstrate to potential employers that you can do the job. By creating a portfolio of projects that showcase your skills, you can move from recent graduate to the experienced category, improving your chances of landing a job.

Lack of confidence: The impostor syndrome

Without a vetted process to learning, the self-taught software developers often experience the impostor syndrome and are hesitant to acknowledge their skills. A validated source like the nanodegree and formal approach helps provide guidance as well as builds confidence in your learning while providing trust in the material.

While you stay on target to gain necessary skills and demonstrate what you can do, the job outlook for software developers remains very promising. Opportunities in the computer systems design and related services industry are projected to keep increasing at 4% annually compared to 1% for all other industries3. A strong commitment to learning, and a guided path to mastering the necessary skills are what you need to present to potential employers that you can and will do the job.

Salwa Nur Muhammad is the Student Services Manager at Udacity. She works on a team to provide quality coaching support for Udacity students taking online courses and prepares them to enter the workforce in the technology industry. Previously, as a Program Director at the Center for Work and Service at Wellesley College, she provided career counseling to students and recent graduates. Salwa received a master’s degree in Technology, Innovation and Education from Harvard University.

Should I Learn Swift instead of Objective C?

Develop for the new Apple Watch with Swift


It’s no longer a secret. At today’s media extravaganza, Apple announced new iPhones and Apple Watches.
Three months ago, Apple announced a mammoth release of new beta tools for iOS developers: a new version of its iOS mobile operating system, and a brand new programming language called Swift.

Swift had come as a big surprise. Swift is Apple’s first new programming language in decades and is designed to replace the old language, Objective-C.

Why is it better to learn Swift than Objective-C? Apple explains it succinctly: “Swift makes it easier than ever for developers to create incredible apps.” Furthermore, anything you can do in Objective-C, you can do in Swift. The future of iPhone, iPad, and even Apple Watch app development is clear: Swift.Udacity is hard at work creating an iOS Developer Nanodegree, and Swift will be taught and used extensively throughout.

Sign up for updates on the nanodegree and we’ll keep you posted on how you can take your Swift and iOS development skills to the next level.

Not Just for Noobs: Refresh Your Programming Skills with Intro to Computer Science

Meet Pack!

Meet Pack Heng, an Executive Search Consultant and a recent Udacity graduate from Intro to Computer Science. Pack has a Masters degree in Engineering in Electronics and Computer Science, as well as a Postdoc in the Architecture of Digital Systems. In his own words, Pack has had “an international journey as engineer, project manager and business development manager from France, the Netherlands to Australia.”Pack wanted a refresher on his computer programming skills and took Intro to Computer Science, where his final project impressed the Udacity Coaches so much that we want to share more of his story and study tips:

Study Tip: Use Stack Overflow & Forums

“I would suggest that you first find your own way to solve all quizzes and problems. Be curious about how you can improve your code to find an efficient solution – sites such as Stack Overflow come in handy. Discussion forums in the Udacity classroom are active and you should participate in them; you can learn a lot there as well.”

Apply Your Skills at Work

“What I’ve learned at Udacity allows me to better understand and articulate my clients’ needs when they want to hire people with computer science skills.”

Find the Resource that Works for Your Learning Needs

“What suits me about Udacity is the ability to learn at my own pace. I really like that I can learn skills that are relevant to the job market at an affordable cost. The video lectures are taught by experts and are lively, not boring!”

If you need to refresh your basic programming skills, check out Intro to Computer Science, where you’ll learn by doing as you build a web search engine and a social network using Python.

Why Should You Learn Artificial Intelligence?

Self-driving cars are just one example of artificial intelligence.

What’s the first thing that comes to mind when you think of the term “artificial intelligence?” If you’re a sci-fi junkie like me, you might immediately jump to thoughts of Cyberdyne Technologies or Marvin, the paranoid Android. But in reality, artificial intelligence already plays an active role in our everyday lives.

You may have already recognized it in phone assistants like Siri or Google Now. Or you may have identified AI when playing Chess against a virtual opponent, or when playing more sophisticated motion-tracking games with the Kinect™. But did you know that artificial intelligence is also present in Google Translate and spam blockers?

Studying artificial intelligence opens a world of opportunities. At a basic level, you’ll better understand the systems and tools that you interact with on a daily basis. And if you stick with the subject and study more, you can help create cutting edge AI applications, like the Google Self Driving Car, or IBM’s Watson.

In the field of artificial intelligence, the possibilities are truly endless. It seems the news is frequently filled with stories like Google’s plan to build quantum processors or crowd-funding efforts for robotic assistants like Jibo.

Studying AI now can prepare you for a job as a software engineer researching neural networks, human-machine interfaces, and quantum artificial intelligence. Or you could work as a software engineer in industry working for companies like Amazon to shopping list recommendation engines or Facebook analyzing and processing big data. You could also work as a hardware engineer developing electronic parking assistants or home assistant robots.

And the truly exciting thing is that the jobs for these types of projects didn’t exist 10 years ago! AI is a field that keeps growing and changing, and the jobs you’re studying for now may evolve into something beyond your imagination by the time to begin work in the field.

So don’t wait! You can get started with Intro to Artificial Intelligence, an introductory course taught by artificial intelligence legends Sebastian Thrun and Peter Norvig.

Google Q&A on Android Fundamentals

Why should you learn Android? What are the best practices for mobile development in general, and Android in particular?

Ask the experts!

Next week, the Google Developers team behind Developing Android Apps is hosting “Ask the Experts,” a Q&A session where your two of your fearless instructors, Reto Meier and Dan Galpin, will take questions from you and your fellow Android developers!


The session airs on Tuesday, August 26, 2014 at 9am PT.

Submit your questions and vote for your favorites here.

Ask your questions and cast your votes by Monday, August 25, 2014, to make sure that we get to them.Finally, make sure to tune in for the show on Tuesday!

Check out the course

Learn Differential Equations in Action

I remember starting engineering school and dreading the differential equations course I’d eventually have to take. Upperclassmen loved to taunt us with horror stories about professors talking a million miles a minute in math jargon and coursework so abstract and complicated that problems felt meaningless.

This is not that course.

Differential Equations in Action will teach you to create solutions to systems of differential equations using numerical approximation methods, which we’ll code in Python.

The methods you’ll learn in this class are the same ones that physicists, engineers, biologists, economists, social scientists, and professionals in many other fields rely on every day in their work.

We’re very excited to now begin offering Coaching support and Verified Certificates for Differential Equations in Action. With the paid course, your personal Coach will be available to help you set learning goals and work through any problems you may be stuck on. Plus, after passing an assessment completing the course, you’ll earn a snazzy Verified Certificate to show off your new knowledge. See you in class!

Check out the course