Infographic: How to Choose Your First Programming Language (Based on the Life You Want)

Programmers have an easy life. There’re tons of jobs, and the jobs pay well.

Even if you don’t want to pursue programming as a career, it still makes sense to learn to code, especially for jobs in web design, digital marketing, business and IT.

But what language should you learn?

Udacity.com made a pretty cool infographic (shown below) that helps you choose. But I want to go a little deeper.

Building on their excellent chart (found at the bottom of this post), I’m going to break recommendations down into specific categories based on what you want to do. For example, recommendations for travel lovers, designers, IT people or those in other career paths.

I have interviewed many candidates over the past 24 months for various roles and often compared notes with other tech companies who are hiring. This gives me a good idea of where technology is heading in the long term. (Quick disclosure that I now work for IBM.)

How to work from anywhere

Do you love to travel? You should choose web languages like Python and invest less time in learning C.

Cloud platforms to learn: Think high-level: Heroku, BlueMix, Azure. Amazon AWS is good to know, but has a big learning curve in comparison to the other options. As a newbie, you will want to focus on programming concepts, not configurations.

You can find remote work opportunities in Stack Overflow Careers and Angel.co.

How to make cool hardware

If you plan on making physical things, there are 2 great hobbyist prototyping boards: Raspberry Pi and Arduino.

In my opinion, Raspberry Pi is a better starting point, since Python is easier to learn than C. But if you want to do hardware, C (and C++) is ultimately unavoidable.

However, for personal “Internet of Things” projects, sometimes it’s easier to buy a cheap iPhone or Android with a broken screen.

You can instantly track your smartphone’s 3D position and vibration with no programming using IBM’s BlueMix IoT demo. You can then modify their Python demo code and do cool things. (Like hiding the iPhone under your ex’s mattress and finding patterns.)

How can I increase my pay as a programmer?

Aside from learning a new language, one strategy is to learn more niche enterprise systems. For example, you can learn about big data systems such as Hadoop and Spark. (There are many places to learn these technologies for free, like IBM’s Big Data University or EdX.org.)

What if my chosen career isn’t programming?

For IT and web design, I have recommendations below. But what about other industries, where having some programming knowledge can help? First, if you don’t know what sumif() is, you should probably invest in a course in Excel. Spreadsheets are a lot more powerful than people think. Most programmers will try to use a spreadsheet to calculate something (if possible) before diving into code. For example, to make a cool graphical chart out of data, it would take minutes in Excel but many hours (or even days) of raw programming time.

After that, you should learn:

  1. HTML: Every website is written in HTML. (And, many apps now are as well.) Whether you’re trying to go beyond the basics in WordPress, or need to set up digital marketing tools, some HTML is good to know.
  2. CSS: CSS, or “cascading stylesheetscolors are a special formatting code used by websites to choose the fonts and colours used on a webpage.
  3. Basic JavaScript: A little bit of JavaScript will help if you need to fiddle with a website plug-in for your boss.
  4. Either PHP, Visual Basic and ASP.net: Those are very easy languages to learn independently that will let you make something useful quickly.

Again, these are languages used in everyday scripting and website work. For example, WordPress is written in PHP. Visual Basic lets you make custom Windows apps quickly (but not websites). Knowing languages like Python or Java isn’t going to help much with “average Joe workday” programming problems. (Those are mainly used for larger-scale computer server programming, app development or systems scripting.) Worth noting, it’s pretty easy to move from JavaScript or PHP to Python later on. The basic concepts are the same.

What programming language should I learn for an IT career?

If you’re a Windows guy, then learn HTML and PowerShell. If you’re a Linux guy, then it’s HTML and bash scripting.

You don’t need to learn to program to make big money in IT: IT people with certifications or specialization in enterprise technologies make about as much as programmers, occasionally more. But knowing how to script is an edge.

What programming language should a web designer learn?

Learning CSS-based languages like SASS is a great first step. Then, focus on JavaScript. Finally, learn Node.js, which is just JavaScript that runs on a server. The Node.js market is hot and will be for a long time. Do not leave JavaScript. Instead, specialize in it with Node.js and learn it in depth. (Note that over time, io.js may replace Node.js. You’ll need to keep up with the JavaScript community.)

A final note about the chart

When Udacity charted the trend for JavaScript, I do not think they factored in that Node.js is simply JavaScript that runs outside of a web browser. The demand for Node.js in 2015 has been insanely high. To hire someone with solid Node.js experience would be hard without a six-figure offer (as of October 2015). As more people learn Node.js, the market might cool off a little. Fair warning: Node.js gets a lot hairier than traditional JavaScript. So, if you’re a beginner, start with traditional JavaScript and move to Node.js later.

How-to-Choose-Your-First-Programming-Language–Udacity

Featured photo credit: Riona Fitzpatrick at CoderDojo, by connor2nz (Flickr) via flickr.com

Coding Dojo for the Beginner

Hey future developer,

We understand that learning to code is tough — especially if you’ve never done it before. One way we get our students to break the ice and code is by having them go through our Algorithm App.

Coding Dojo’s Algorithm Platform

Your tool to master the fundamentals
Launch Algo App
You’ll learn the fundamental building blocks of programming, so you can jump right into learning any programming language. Everything is self-paced, and there’s no cost to use the platform (it’s also a great way to get your feet wet!).

If you’re thinking about landing a career in tech, our Onsite Bootcamp can get you there. Scholarships (up to $1,000) and financing options available begin your application today.

Happy Coding 🙂

OVERVIEW

Our Algorithm Platform offers a free collection of online lessons and challenges designed to refine your knowledge of algorithms – the basic building blocks of all computer programming. Throughout the platform you will learn through a mixture of exercises, video tutorials, and coding challenges that will cover fundamental concepts such as for loops, if/else statements, array manipulation, and more.

If programming is indeed a passion of yours, we offer more extensive courses at Coding Dojo for aspiring and advanced developers, such as our full-time coding bootcamp and online courses.

Rajan

Have a question that can’t wait?
Schedule a time with an advisor

THE MINDSET OF HIGH ACHIEVERS – Best Motivational Video for Success in Life & Study

The above is a motivational Youtube video specially curated for you on success. Do what the 99% people are not willing to do. Be the 1% that are willing to suffer and hustle daily for success. Be disciplined and make it a habit. What comes to mind becomes your character, what becomes your character becomes a habit and this will propel you to further success one after another. You need to sacrifice playtime with friends and drinking buddies and do it all alone at times. Yes, it is very lonely at the top! But keep hustling and working hard at your goals and be patient. In time to come, you will reap the success that you have targetted for yourself.

This is what makes the mindset of high achievers different from the mediocre ones. Whether you are a programmer, lawyer or secretary, just do your best and put in some effort to see results. I have personally experienced medical doctors who are sub-par and not up to the standard that they are trained to be. Some go through the shortcut methods of success, and in the end, cheat on himself or herself by getting other people to do the hard work for them instead of self-learn it and go through the long, laborious ways of self-discovery and learning. To succeed in life, there are NO shortcuts. Time and effort are needed and lots of patience too.

Hence, with this in mind, it is hoped that you will glean something out of this blog and visit regularly for updates on motivation, pets, success, finance, Christian scriptures, etc. Enjoy the video above and you can skip the adverts if you like.

Coding In The Classroom: 10 Tools Students Can Use To Design Apps and Video Games

TeachThought.com

1. Hackety Hack is a downloadable application for Windows that walks students through the ground-floor basics of Ruby, an object-oriented programming language that can also be used to develop web applications with the help of the Rails framework. Students learn to use the Shoe toolkit to build graphical interfaces and, by logging into the Hackety Hack app, their programs can be shared with other users.

2. Code School is a learning platform with a simple, straightforward name and a simple, straightforward approach to teaching programming. Students can direct their own learning experiences by taking courses one at a time as needed or following prepared paths for Ruby, JavaScript, iOS and HTML/CSS. The platform uses a badge- and prize-based incentive system that some students might recognize from online gaming.

3. Scratch, a brainchild of MIT Media Lab, is its own programming language that allows students to program interactive animations, games, and stories while sharpening their problem-solving skills and learning important programming concepts. Although Scratch is designed for students aged 8-16, beginning programmers of all ages can use it to get an easygoing introduction to the type of mental processes that app developers use to build their programs.

4. PurposeGames is a Web-based app that allows students to create games and quizzes for their friends, family and fellow students. The games and quizzes are usually based on general knowledge and fairly simple to understand and develop, so creators on PurposeGames can get started without any previous experience in game design or programming.

5. Treehouse has an extensive library of instructional videos and training exercises and a mission to bring affordable technology education to people everywhere. Although the training available at Treehouse does seem to be tailored for career-age learners, younger students with a certain type of learning style can also benefit from the expert instruction and interactive “code challenges” used to check their progress.

6. Codea is an iPad app that allows students, parents, programmers or anyone to develop their own interactive iPad apps in a richly graphical coding environment. With a slick user interface and an intuitive, touch-and-drag method of enacting code syntax, Codea provides access to dynamic control functions like the iPad’s accelerometer and multitouch display without demanding that students understand how lines of textual code translate to colors, shapes, and actions.

7. Code Monster and Code Maven are a pair of simple, step-at-a-time JavaScript tutorials designed for preteens and teens or adults, respectively. Both apps start off with very basic shape-drawing functions and progress gradually to include functions that use complex mathematics, physics, and syntax to accomplish effects with impressive graphical feedback. These basic, self-guided tutorials could be great for kids who might find lectures or other instructional materials hard to follow.

8. Alice is a first-step programming environment that introduces students to simple programming concepts through the creation of animated stories and simple interactive games. The interface contains graphical elements that represent standard statements in object-oriented programming languages such as C++, C#, and Java, and students can drag and drop these elements into relationships with one another to see how the programming statements affect the behavior of their animation.

9. AppMakr bills itself as an app creation platform that allows students to make not only mobile apps for iPhone and Android but also HTML5 websites formatted for mobile devices. This app-making app has both free and paid versions with varying levels of richness to its feature suite and includes a personal dashboard to manage updates and keep track of usage statistics.

10. Programmr is a browser-based app that functions as an online learning lab for students who learn best at their own pace. The 15 programming technologies available to learn on Programmr can be used individually or in combination to create command-line programs, web apps, mobile apps, rich media apps and more. The app even comes with an “auto-faculty” feature that can check students’ work in any of the offered languages.

If none of the above seem like the right thing for you or your student, don’t hesitate to search around for something that might be a better fit. Whether it’s working on the nuts and bolts with text code or using an app to create your apps, the exact toolset you need has got to be out there somewhere.

– Justin Boyle is a writer, editor and designer who works in media production for an ecology non-profit. He is a contributor to onlineschools.com
– https://www.teachthought.com/technology/coding-classroom-10-tools-students-can-use-design-apps-video-games/

All the Internet of Things – IoT

Limor “Ladyada” Fried is the founder and CEO of Adafruit Industries, an open-source hardware company. A founding member of the NYC Industrial Business Advisory Council, she was named a White House Champion of Change in 2016.

The Internet of Things is all about connections—connecting your electronics design, product, or project to the wider world. We start with the idea that you have a “Thing” that you want to connect to the “Internet of.”

How do you do that? Usually you start with something you’d like to improve. Say you love fish and have a home or school aquarium. Since you’ve got some really fancy fish, they need the water temperature to stay between 20 and 30 degrees Centigrade. You could always check the water temperature, but it would be better if you had a microcontroller to help you out!

You could start with a simple temperature manager, but even better would be one that could email or text you to let you know if something went amiss and maybe the heater broke. That’s what the Internet of Things is all about: Making stuff smart!

A Bluetooth-enabled Adafruit board.

What is Adafruit?

I design that “smart stuff”—the electronics and code for makers who make real things in the real world. We also teach them how to make their ideas come to life. Some are simple projects, like getting an alert if there is water in your basement. Others are getting real-time information like transit schedules and displaying it at home so you know when your bus is coming.

Some of our favorite IoT projects are ones that make life easier for people who need Accessibility Technology (AT). For example, a project from our friend Chris Young, who not only uses AT but designs it, for people who have the same needs he does! He has written up how to make an IoT remote control so he can use a laptop or tablet with touchscreen to turn on/off devices in his house.

What we think is the most exciting part of IoT’s future is seeing makers and coders design the devices that best suit them and their community. Instead of relying on what’s available in the store, customization and optimizations will let small-scale engineering happen by the people who will actually use it!

We made an internet of things service called “adafruit.io” that gets you started quick and easy, so your things can spend more time on the internet, not just trying to get going.
The best language for IoT

Here at Adafruit, we like using Python to program IoT devices. What, a snake? Close! The Python programming language is the fastest-growing programming language that beginners and experts alike use. Python is great for IoT for a lot of reasons.

IoT is all about getting and sending data. Maybe you want your aquarium to let you know when the temperature is too high or too low. You could code this up in Python using an if conditional:

water_temp = acquarium_temperature() # read the sensor
if water_temp > 30:
send_text_message(“Help! The water in the aquarium is too hot!”)
if water_temp < 20: send_text_message("Oh no! The water in the aquarium is too cold!")

Even simple examples such as the above are super powerful when you add the Internet, email, cellular and text messages so that your programming can reach outside your screen.
Why Python and IoT?

Why is Python so great for IoT? First, of course, is how popular it is—it’s available for any and all computers. It’s also really great for parsing text, in particular the “structured data in text” that the Internet runs on, often referred to as HTML, XML or JSON. Other languages may be faster in some ways, but they often struggle to do regular expressions, text parsing or moving from one data format to another.

Python has flexible memory management, so you don’t have to worry about pointers or memory. This comes at a cost to speed, but helps avoid some of the ickiest security problems that plague IoT devices. You definitely don’t want to accidentally turn your smart aquarium into a botnet!
Take the First Step Toward IoT Glory

Python also has exception handling, which is a “proper” way to handle errors compared to some languages. Whenever you expose your devices to the Internet, you’ll have inconsistent connections (e.g., “the WiFi is down!”) or unexpected data sent your way. Exceptions mean that even if you are a little lazy and forget to check a value or function output, your program will be more likely halt rather than blithely continue with incorrect instructions.

And of course, Python comes with the kitchen sink—so much is included already, so you can get started faster than ever. Not only is Python available on computers like your desktop or laptop, it also comes on embedded computers like the Raspberry Pi and on microcontrollers as Circuit Python.

Learning Python is a great way to make internet-connected things, and to share data and creativity around the world. Cuddle up to this friendly snake and check out learn.adafruit.com for thousands of free IoT projects you can build with Python!

Where anyone can get the skills they need for the jobs they want.