A Reverse Tide Learning Page

programming learning path


Is there a more relevant skill in the world than programming? Programmers have created efficiencies and experiences in every aspect of our life. Communication. Business automation. Data and information. Transportation. Entertainment. The list goes on and continues to grow exponentially by the day.

And there’s no stop to it. Virtual reality. Artificial intelligence. The Internet of Things. Robotics. Drones. These things have already arrived and are poised to become significantly bigger in the coming years. It already pays quite well and is highly demanded in the workplace. And we predict most jobs will soon require programming expertise.

So how can you get involved? The good news is that the learning options for programming are amazingly good. There’s just so many sources and it can be overwhelming to figure out where to get started. That’s where we are here to help.

We want to help you target your learning toward a specific goal, make that learning as efficient as possible, and then get you started in a very lucrative and fulfilling career.


Ok now let’s get specific for each programming language!

Also consider our article Are Coding Bootcamps Worth It, as that provides an alternative for certain learners. However the tabs below will give you a lot more language specific resources…

Best Method to Learn Programming

The first part of our Programming Learning Page will be short and to the point. Then we’ll get into programming language specific sources and learning suggestions.

In this section, we’ll link to our long and thoroughly prepared programming learning methodarticle on The Best Method for Learning Programming. This article is very important and we highly suggest not skipping over it. We have outlined 13 steps and a lot of detail on how to start as a beginner in programming and end as a highly paid expert. It takes a lot of hard work and performance but we are confident it will pay off for you. Among the things we’ll cover in this article:

  • What programming language we’d suggest learning
  • The best way to get started as a beginner
  • How to balance self-learning, code bootcamps, and university
  • Getting project experience quickly
  • Becoming job ready

Once you’ve read this article, printed it out, and started to follow it then you can move on to our next two sections: the resources specific to each programming language and then Career Services so you increase your odds of a great career. So let’s get started…

Best Method to Learn Code


An Introduction… Java is one of the most utilized programming languages, with web and software applications using its power and scalability. Java is most popular in server side applications (the server being where all the information is stored and processing of requests occur so that the client or user can see the output of that request). Java is also the language primarily used to write Android applications. Java can be slightly more difficult to learn than some of the other languages, however, it is so commonly used and has a lot of job demand, making it our favorite choice for aspiring programmers. 

Here’s how we suggest doing it…

  • resource

    Top Java Learning Materials

    Aside from the general coding websites we linked in the “Best Methods” article, here are some great Java specific sources:

    Oracle to get official documentation and resources

    JavaWorld is a nice site to bookmark for learning based articles, perspective, and more.

    Derek Banas has a great 95 video tutorial guide for learning Java (free)

    Effective Java is probably the highest regarded book out there

  • resource

    Top Java Project & Community Resources

    The Java community is so good that it’s almost overwhelming. Go beyond our suggestions but here are our favorite sources…

    For forums and help communities, check out Oracle’s Java Community, Stack Overflow Java, Code Ranch, and Java Subreddit.

    For good blogs with Java news, perspectives, and tutorials, we like Java Code Geeks, The Server Side, and Java Zone.


An Introduction… Python is a general purpose language and is renowned for its simplicity to learn and understand (many say it flows most commonly to the English language). It can be used in virtually anything from web applications to desktop applications and continues to grow in users. It is used across business, with many well known companies basing their websites and applications in Python and is also considered one of the top 2 languages for data science. Since it generally requires less code to perform a task, it’s a great place for new learners to start and build upon their programming learning path.

Here’s how we suggest doing it…

  • resource

    Top Python Learning Materials

    Python is one of the most popular languages for data science & analysis careers. If you’re learning Python for this purpose, the best learning site is DataQuest where they have a structured curriculum toward advanced data proficiency (taught via Python programming).

    If you’re after more generic Python programming usage or need supplementary learning material, here are the top sources: 

    Python’s main site should be bookmarked so you can download the latest version and obtain documentation and other resources.

    Interactive Python: If you like books, some of the better ones are open source within this site 

    As you become more advanced (having used our ‘Best Methods’ guide and explored the sites above), Fluent Python is a great way to master the language 

  • resource

    Top Python Project & Community Resources

    For interactive coding projects, check out The Python Challenge, Pygame, and Python for Fun.

    For Q&A relative to your Python learning and code, check out StackOverflow and Python subreddit.

    For an aggregation of the best Python blogs, be sure to bookmark Planet Python


An Introduction… Javascript has become one of the more popular programming languages, as job demand is incredibly strong and its usage is everywhere. Javascript is built into all the popular web browsers and is the language that allows advanced and interactive functionality. All your favorite websites use Javascript so the user can interact with the content of the site. This might be having buttons that conduct various functions. It might be allowing the webpage user to input information, having some sort of interactive feature, or having information that changes with an inputted condition. A simple blog probably runs on mostly HTML/CSS. However, if you want your page to be more than just text and to do anything, Javascript will likely be required. Its usage extends to more than just webpages but apps, game development, documents, and more. As you can see, the wide usage is what makes this language one of the best choices for you to learn.

Here’s how we suggest doing it…

  • resource

    Top Javascript Learning Materials

    Remember to read the ‘Best Methods’ article, which provides a roadmap to go from beginner to expert in any programming language (including Javascript), as well as the top resources for all programmers in general.

    For Javascript specific resources, it’s great to start with MDN’s Javascript for a great beginner guide and more tutorials as you advance.

    The Odin Project is a bootcamp caliber free learning resource for web developers (also includes Rails and HTML/CSS)

    If you like books, there are many great ones on Javascript. The highest rated ones are A Smarter Way to Learn JavaScript (more for beginners) and JavaScript and JQuery: Interactive Front-End Web Development (for more complexity).

    For advanced learners, make sure to check out egghead, which is a learning site specific for Javascript.

    And since Javascript is built into your browser, you can use sites like JSHint or JSFiddle to test your code.

    Finally, keep in mind that most coding bootcamps teach using Javascript if you want more structured learning. 

  • resource

    Top Javascript Project & Community Resources

    For some good news and perspective aggregation, check out and Javascript Weekly. And for an aggregation of great learning paths, check out Superhero.js and JS: The Right Way

    For all your questions and project help, the best resources are Stackoverflow and Javascript subreddit. Also refer to the Javascript Google Community

Ruby on Rails

An Introduction… Ruby is another all purpose programming language and is most famous for running on the Rails framework. Ruby on Rails is an alternative to Python and has many similarities: it is considered an easier and more efficient language, while primarily being used for web development. A lot of startups use Ruby and it’s generally a very popular, well reviewed language for new programmers to learn.

Here’s how we suggest doing it…

  • resource

    Top Ruby on Rails Learning Materials

    While we linked Codeschool on the initial ‘Best Methods’ article, it is especially well known for its free Rails for Zombies learning guide and subsequent premium courses. This is a fun way to learn.

    Always make sure you start with the official Ruby on Rails site to download the latest Rails version and take advantage of tutorials, documentation, and community features.

    If you prefer books, Ruby on Rails Tutorial is a good place to start.

    As we mentioned in the prior tab, The Odin Project is a free bootcamp caliber web development site (also includes Javascript and HTML/CSS)

  • resource

    Top Ruby on Rails Project & Community Resources

    For outstanding Q&A for your code and projects, refer to Stackoverflow and Ruby subreddit 

    For some great commentary and community, refer to RubyTapasRuby Weekly, and the Ruby on Rails subreddit

    Also consider that most code bootcamps will teach featuring Ruby on Rails, which provides instant project based learning and community (although an expensive way to obtain it)


An Introduction… C# is a Microsoft based programming language originating from the C language but taking on a lot of Java’s best features. The combination has made this a very popular and powerful programming language. Because it was introduced by Microsoft, it is primarily used for Windows desktop applications and Microsoft software and applications. However, it has recently expanded to a more wide usage (Android and iOS apps for example) and become a very popular choice among the programming community.

Here’s how we suggest doing it…


An Introduction…  C is one of the oldest programming languages but is still very popular for its ease of use, structure, and speed. The primary use today is for operating systems (it was originally conceived for UNIX) or embedded systems (an independent computing system within common devices). It has been around forever and still remains one of the most widely used languages, making this a great choice to learn. 

Here’s how we suggest doing it…


An Introduction… C++ has been around for a long time but still remains one of the most functional and popular languages around. Everywhere you look C++ is found, from major websites to operating systems, game development, software, browsers, and more. There is still a major need to maintain legacy code, while the power of this language makes C++ core to new development. Many developers attest to C++ being more difficult to learn for a beginner but that it is something every career programmer will come across for the sheer speed, power, and quantity of code in C++.

Here’s how we suggest doing it…

  • resource

    Top C++ Learning Materials

    There are some really good free tutorials to get you started including LearnCPP, CProgramming, and C++ Programming Tutorials Youtube Course

    There have been many highly rated books over the years but we’ve found C++ Primer Plus to have the best reviews and most in-depth learning geared toward beginners.

  • resource

    Top C++ Project & Community Resources

    Stackoverflow and C++ subreddit are the top places for questions and project help.

    ISO CPP is a site you should definitely bookmark to stay current on the latest C++ updates and make use of their many resources. Sutter’s Mill is another nice source.

Swift / iOS

An Introduction… Apple has so many product types (phones, tablets, laptops, and now watches) that require developers dedicated to programming applications specifically for their products. With a pretty substantial share of the market for these devices, there is tremendous demand to create innovative applications for businesses, personal use, games, and more. Swift was introduced only recently in June 2014 (to work in tandem and replace its old language Objective-C). Thus, with so much demand and so little time to have mastered the language, there is no shortage of reasons to learn Swift. 

Here’s how we suggest doing it…


An Introduction… PHP is a great choice to begin learning programming, as it powers a large portion of the web. Because WordPress and other top content management systems use web applications coded in PHP, it is a very popular language. Many coders also cite PHP’s easy learning curve and ability to quickly execute simple functions. PHP has a lot of good learning material and a lot of relevance to the freelance programmer doing independent web development or those on a more sophisticated development team.

Here’s how we suggest doing it…

  • resource

    Top PHP Learning Materials

    We always recommend you start by looking for the documentation, bookmarking the site, and using it throughout your learning. Here’s the link

    There aren’t many highly rated books but PHP and MySQL Web Development is reviewed very well. Note that there is a newer version of that book but people were having trouble withe web features so this is probably a better choice.

    There are many PHP learning sites. Codecourse has a huge library of PHP tutorials, PHP The Right Way and Develop PHP also have a lot of good material.

  • resource

    Top R Project & Community Resources

    For questions on your code, learning, or projects refer to Stack Overflow or PHP subreddit.

    For some great PHP blogs to follow, refer to Planet PHP, PHP Flow, and Zend Developer Zone.


An Introduction… When you are putting a web page up, these are the crucial languages to know. HTML is the language used to create static content on your page. Thus if you just wanted to write a paragraph and nothing more, HTML will do the trick (although it can structure it in the many creative ways you see across each website). It will then assist you in linking your site across the rest on the internet. If you want to create more complex visuals and formatting for a website, CSS is then required. We combine these languages, as any website will combine the site structure/content with how it should be formatted. Learning these skills is relatively easy, as it’s so widespread across the digital world. Tools like WordPress automate much of the HTML and CSS coding, which make it even easier for a potential student.

Here’s how we suggest doing it…


An Introduction… R is by far the most widely used programming language in statistics and data science. There are other commonly used languages in this industry like Python, Scala, and occasionally others. But most students will start with R and many will continue using it as their primary data language. 

Here’s how we suggest doing it…

  • resource

    Top R Learning Materials

    If you’re learning R, you’re almost certainly doing it for data science purposes. We have suggested R learning and data science supplemental learning content at our Data Science & Analysis Learning Path. Refer to this for the best sources in your learning.

Other Languages

There are so many other programming languages you can opt to learn but these are the most popular and in our opinion, the best for beginners. Since this industry changes at such a rapid speed, it’s always advisable to start with the popular ones and then specialize depending on which style you like and what your purpose is. So while we acknowledge that other languages have good specific uses, by the time you decide these are worthy of your learning needs, you’ll already be advanced enough that you won’t need Reverse Tide to help get you started. 

However, we still think you’d benefit from using our ‘Best Methods’ approach to learning programming and coming back for all the career services help we offer below!


We commend you for your choice to learn programming skills. This will help you take the next step up in your career. But how can you turn skills into real job outcomes?

The following guides will help you apply your new skills and see significant career benefit…

Building a Top Resume

It’s pretty tough to differentiate yourself in the job market. But now that you’ve learned a valuable new skill, we think you can do it with your resume. 

With this guide, you get massive career benefits…resume standout

  • 15 innovative, attractive resume templates
  • The resume styles employers like
  • Highlighting your top qualifications
  • What to put in each section
  • Modern and innovative resume techniques

For more information and to sign up, visit our Building a Top Resume Guide Page

Writing an Amazing Cover Letter

Cover letters are the first thing employers will see when you’re applying to them. So you certainly want it to look good and make a strong case for you to get the job!

Our guide helps youAmazing cover letter be attention-getting, persuasive, and get that interview. So here’s how we’ll do it…

  • What to include in your cover letters
  • Tons of attention-getting examples
  • Innovate, modern letter formats
  • Job application sales psychology

For more information and to sign up, check out our page Writing Amazing Cover Letters Guide

Create a Professional Portfolio

Now that you have better qualifications, it’s time to PROVE it to employers. This is what they love even more than resumes! Portfolios are your edge compared to other applicants. 

Professional Portfolio

The Portfolio Guide will help with…

  • What is a portfolio?
  • What to put in a portfolio?
  • Tons of examples
  • Proving your skills
  • Making this your application’s edge!

For more information or to sign up, visit our page – Creating a Professional Portfolio Guide

Owning the Interview

The interview is the equivalent of closing the sale. This is when you’re getting more personalized and thus requires substantial preparation.

interview guide

Here’s what this guide covers…

  • Common questions
  • How to best prepare
  • Mock interviews (of different formats)
  • How to stand out from other applicants
  • Closing the sale (to get the job)

For more information or to sign up, visit our page Owning the Interview Guide

The Business Proposal

Everyone should know how to do a business proposal but few do! Yet it’s so important to advance in your career (job applications, bidding on work, proposing ideas, etc).

This guide helps you do more…business proposal

  • What to include in proposals
  • 3 examples
  • Why proposals are so important

For more information or to sign up, visit our page The Business Proposal Guide

Increasing Freelance Sales

Sales can be a freelancer’s biggest challenge. But it doesn’t have to be so bad. We’re here to help! This guide will help you improve with:

increase freelance sales

  • Business Proposals (includes our $25 guide)
  • Better marketing your qualifications
  • Sales strategy and approach optimization
  • Developing great negotiation skills

For more information or to sign up, visit our page – Increasing Freelance Sales Guide 

Freelance Business Optimization

Rather than go from gig to gig, you can do better. Your freelancing can be built into a full business and earn much better, more consistent revenue.

freelance business expansion

This guide helps the freelancer:

  • Establish a great reputation
  • Negotiating increasingly better deals 
  • Utilize important business resources
  • Increase revenues
  • Think more like a business owner

For more information or to sign up for this guide, visit our page at Freelance Gigs to Lucrative Business Guide


Programming Qualifications

Now that you’ve improved your programming skills, it’s time to focus on how to write them specifically. What do employers look for when hiring programmers? 

Our Programming Qualifications & Career Guide helps you give employers what they seek. It covers…programming career guide

  • Writing qualifications impactfully
  • Focusing on what hirers want in programmers
  • Proving programming skills and experience
  • Programming job specific application tips

This guide is one of a kind… we don’t know of anyone else providing such specific advice! And best of all, it’s super cheap! For more information or to sign up, check out our page:

Programming Qualifications & Career Guide


1 on 1 Career Help For You

We want to work with YOU directly. What can we focus on?

  • Tailoring your application to specific jobsReverse Tide blog
  • Writing custom business proposals
  • Resume and cover letter reviews
  • Mock interviews
  • Portfolio development
  • Any custom career topics you want!

For more information or to sign up for a time slot today, visit our page Reverse Tide Personalized Career Services

about reverse tide

Subscribe to 'The Tide' Newsletter!

Exclusives, premium content, and other value-adding education/career/lifestyle goodies

You have Successfully Subscribed!