Web Development · Programming

Good starter project for someone just learning to code?

Joey Nima Investment Banker at Wells Fargo

June 13th, 2015

I just now have time to start my dream of learning to program. I’m really excited about it, and I want to make sure I’m getting the most out of my time. In that case, what kind of project would be good for a beginner, and also very useful in terms of gaining relevant experience I could then translate into a real job?

A great idea is 1% of the work. Execution is the other 99%. In this course, we’ll teach you how to conduct market analysis, create an MVP and pivot (if needed), launch your business, survey customers, iterate your product/service based on feedback, and gain traction quickly.

Dan Dascalescu Developer Advocate at Google

June 15th, 2015

None of the answers before me mention Meteor, which is, by far, the most useful platform to learn, and thankfully, the fastest to learn too.

C++? You've got to be kidding. LabVIEW? Who uses that? PHP? Only if you want to be tempted to write spaghetti code all day. Ruby? Why, when JavaScript lets you build apps both on the server and on the client?

The Meteor tutorial takes only ONE hour to teach you how to build a real-time social web app, and generate mobile apps from the same code base. Try that with any other language.

PS: if you don't have a technical background, don't start with Python. Start with Eloquent JavaScript. Again - JavaScript is becoming the de-facto language because it's the only one understood by all web browsers, and it works on the server too.

If you want the most bang for your buck, learn JavaScript by learning Meteor.

Scott Harrison Principal Software Development at Insightful Business Technologies, Inc.

June 15th, 2015

The same fear that is keeping you from getting started will plague you your entire career unless you conquer it now. This paralysis is usually caused by the millions of unknown factors involved when trying to move to your next level. My favorite place to start when learning a new technology is Pluralsite.com, but there are a few free places like odecademy.com/. I've been programming for 30 years and I still go back to Pluralsite to "Sharpen the Saw" at least 2 hours a month. If I'm up against a new technology, I'll just stay there until I "get it" which could take 20 to 40 hours. The learning stage produces the most concern, but is the easiest to overcome. Give yourself time.

For the project, just remember that no effort is ever wasted. Just pick something like a clock or a calculator and start building. Turn your passion into something that you can see and feel and just get started.

David Schwartz Multi-Platform (Desktop+Mobile) Rapid Prototyping + Dev, Tool Dev

June 13th, 2015

Find an online class on whatever language/platform you want to start with and go through it. You'll find the exercises plenty challenging. There are so many basic concepts you need to learn before tackling any kind of significant application...

The problem at the beginning is like with anything: discerning the difference between "figure" and "ground". That is, there are lots of things that are basic programming skills that apply to every language and every platform. But at the beginning, everything looks significant. You really need to learn the basic concepts first, or it's likely you'll get confused as hell when you start working with different APIs and libraries, and you don't know all of the various ways of passing parameters in and out, for example. Some languages treat single-quotes differently than double-quotes (ie. ' vs "). Some require you prefix all variables with some kind of symbol that make no sense (eg. php variables all need to be prefixed with '$', but not constants or function names).

Pick a language and platform, then go through a course that takes you step-by-step distinguishing things as you go.

I'd suggest Swift if you've got a Mac. If you've got WIndows, maybe ruby, python, or php.

It might also be good to learn 'c' and 'c++' because so many other languages are derived from one of them, eg,. javascript and php have a very strong influence from 'c'. Java and c++ are extremely similar, although they use different keywords for many of the same things. So learning c/c++ will help you adapt to these other languages later on very easily.

Just FYI: learning, say, javascript or php first will totally screw with your mind if you try to then learn c/c++. They're both interpreted languages, while c/c++ is a compiled language. This is something else you'll need to learn about. Interpreted languages (along with Swift, python, ruby, and perl) give you access to things in a much simpler way than most compiled languages. They seem more forgiving, but you pay a price in terms of their efficiency. Compiled programs (c, c++, java) will always run faster than interpreted programs. Sometimes it matters, and sometimes it doesn't. This is something else you need to learn about.

Art Yerkes Computer Software Professional

June 13th, 2015

I would not recommend learning C++ right out of the gate.  Just starting out, you should be focused on really internalizing the core ideas of state and program flow along with good software design.  Do not worry about the performance of your programs or the environments you write them in starting out.  Early on, it's probably better to to write programs in a slow environment such as ruby, as you'll be able to get an intuitive understanding of your code's performance, and you won't need complicated tools to see that you're on the right track.

Whatever you choose for your first project, choose either something that excites you or that can be accomplished in a short time.  I do recommend writing client side code for a browser for your early projects, as it's a rich environment that has good debugging tools and can be targeted by a lot of languages.  It's an environment that can easily grow with your needs without needing to make extensive changes to your programs, and knowing how to do frontend code in a browser is immediately applicable for basically everyone (I'm a C++ programmer who doesn't have anything web or UI in the job description, and I need it more than might be expected).

I recommend watching this too:

Although the talk is from a rails conference, there's something fundamental here about object oriented design that, if you understand it early in your career will be very beneficial.


June 13th, 2015

Do you have a specific language in mind? Give this a shot:


After you learn how to build the blog and how it works morph it into something you're interested in working on. That's how I built my site.

Edit - This assumes you have some technical background and, as your tag suggests, you're interested in web development.  If you have no technical background, I would start with http://www.codecademy.com/en/tracks/python and then move towards the first link.

Josh Aguirre

June 13th, 2015

I noticed most of the replies are referencing languages. I would recommend looking into dropshipping. Create the company, pyramid the employee structure with expenses under income and create residual income. If you'd like help or more direction Skype me at joshaguirre

Gil Allouche Founder @ Metadata

June 15th, 2015

pick something simple yet something you can be proud of. It's important to have small wins. Usually a website with basic functionality is nice (login, register) which includes a bit of back/front end. Some recommend picking out familiar apps -- like Twitter. Gil | metadata.io

Shreyas Chityala Venture Capital, Entrepreneur, Strategic Advisor

June 13th, 2015

I would suggest you first think about your goals and what the look/feel is of a program or website that you would like to design. Once you have the target or goal in mind, you can figure out the steps it will take to get you there - the programming language the UI etc. But the suggestions above for building UI skillset is a good one so you can learn good design relevant to what you are trying to build

Dave Korpi President, Take 5, Inc.

June 14th, 2015

Read this article.
It is VERY WELL done.. You will see what all the ruckus is about WHICH language and all..

With it you will come to appreciate what coding is. The comment by Joshua is critically important because I imagine you do not want to code for life but perhaps you want to build a company. When you come to more fully understand the coding process then you will have a very good "bullshit filter" that will allow you to direct folks who do what it is you wish to do.

For fun take a look at National Instruments LabVIEW that is a very sophisticated and EASY TO USE programming language that can do just about anything.. What is unique is it uses icons to program.

Have fun!

Daniel McEnnis Researcher Consultant

June 13th, 2015

Are you looking at systems programming (Chef, Cloud Foundry, Luigi, Python glue), Web programming (Tomcat, Java, Objective C, iOS, Android), or app development (C++, Java, C#)?

For systems, automate deploying a server group on Amazon with DNS, Web server, and MySQL. Add load balancers for a second.

For web, create a basic app for your favorite website api (like Spotify) and access it from an iPhone.

For an app, create a desktop app that opens log files like in a spreadsheet. For a second, access remote logs with secure access.

Daniel McEnnis 
CEO Research at Scale