If you’ve been learning programming on your own, you may have made worked through some books, followed some online tutorials, and made a decent collection of simple apps. At a certain point you may wonder how much else you need to know to be able to start working as a programmer. I’m a self-taught coder with experience in web technologies (JavaScript, HTML, CSS, etc) and Python. Compiling some info from job listings has enlightened me to what’s in demand in my area (Chicago, IL, USA) and in general.

1. Bots (read more on Quora)

If you can automate tasks on the web using Mechanize, Requests, BeautifulSoup, and Selenium, there are many freelance temp jobs as well as part-time and full-time jobs.

2. GUIs

There are many different GUI frameworks you could learn in Python. Making an effective GUI for a program is always in demand.

3. Flask, Django, and more

Flask and Django are the famous Python backend frameworks. Django is used in some well-known websites. I hadn’t heard of Tornado and Twisted frameworks before looking at job listings, so it may behoove you to have a niche.

JavaScript / Web

1. JavaScript Frameworks

React, Angular 2, and Ember seem to be the most requested frameworks in my area. Angular 2 and Ember are full MVC frameworks, while React users will need to add components to get MVC functionality.

2. Mobile Frameworks

Ionic is an HTML5 framework which allows you to make mobile apps without using native iOS or Android languages. Ionic needs a native wrapper like Cordova or PhoneGap in order to run as a native app.

3. CSS Preprocessors and Frameworks

Sass (.scss) is in demand for its capabilities to write css with variables and other helpful mechanisms. Twitter Bootstrap is excellent for easily designing pages.

4. Back-end Frameworks

I’ve seen a lot of listings that use the MEAN stack (MongoDB, Express, Angular, Node). MongoDB is a NoSQL database that stores data as JSON. Express.js is a framework that adds useful web-capabilities to Node. Node is a stand-alone JavaScript engine designed to build scalable network applications. It runs events asynchronously, which enables it to easily handle complex network requests.

Services

1. Amazon Web Services (AWS)

Many companies are using AWS, so it’s worth investigating.

2. Firebase

Google’s Firebase is a full-fledged mobile platform and server.

Example Listings: Python, JavaScript, PHP, Ruby, Apple, Microsoft, Go, and more

Below are some anonymous job listings to show examples of what companies are looking for. Many of these require a CS degree or multiple years of experience, but don’t let that deter you from pursuing the professional path. Best of luck in your learning and job-searching!

Example Python Listings

“Full-stack Python Engineer with experience in JavaScript and asynchronous web frameworks such as Tornado, Twisted, etc. If scaling hard-to-scale platforms is your specialty, they want to talk to you. Experience with MongoDB for major analytics processing is also required.”

  • Python experience required.
  • Github experience required.
  • AWS and virtual/cloud systems experience preferred.
  • Experience with multi-institutional collaborative projects preferred.
  • Commitment to providing a high level of service and working with a diverse team environment required.
  • High degree of professionalism required.
  • Attention to detail and strong communication skills required.”

Example JavaScript Listings

“Looking for MEAN stack developer: Angular-2, Docker, AWS, Bootstrap 4, MongoDB, NodeJS”

“Mobile Developer needed with expertise in Database Design, AngularJS, Protractor/Karma Testing Framework, Ionic Framework “

“Developer needed.

  • Node.js for the main app
  • Python (3.5) and Scala for services
  • Ember.js, Bootstrap, and SCSS on the frontend
  • ES6 across the stack
  • Postgres for the database
  • Kubernetes, for deployment and devops
  • AWS for infrastructure, leveraging EC2, S3, SWF, CloudFront, Route53, and much more “

Example PHP Listings

“PHP Developer Needed:

Wordpress (need CS degree), info security, PHP, Javascript, MySQL, Linux, .NET
Front end / shopify/e-commerce / woo-commerce
Cron: The software utility Cron is a time-based job scheduler in Unix-like computer operating systems. (Running programs at scheduled times)
2+ years of CakePHP 2.x experience / Experience with clustered LEMP stack
Laravel 5.3.+ and DBMS
PHP plugins
LAMP Stack: Linux, Apache, MySQL, and PHP/Python/Perl
LEMP Stack: same as above with Nginx (engine-x)
Vue.js"

“Laravel Developer needed:

4+ years of programming experience with PHP object-oriented frameworks such as Laravel, Symfony
Mastery of http verbs and REST API development
MySQL, NoSQL and Redis
NodeJS and websockets"

Example Drupal Listing

“The ideal candidate will have familiarity with Drupal and Wordpress and is proficient on the front end with experience coding in HTML, CSS, Bootstrap and jQuery. Familiarity with Adobe Photoshop, Illustrator, Indesign and Dreamweaver is mandatory. Ability to work with PHP and MySQL will advance applicants to the front of the pack.”

Example iOS (Swift, Objective-C) Developer

Strong object oriented design skills and a track record of delivering designs to market
Able to effectively communicate technical topics to Product Owners, Stakeholders and other business team members
iOS Development experience
Strong understanding of Objective-C design patterns (MVC, etc.)
Experience integrating to backend systems with Webservices i.e. REST
Experience with Source Control solutions such as SVN, GIT
Experience with Storyboarding and Objective-C Blocks
Comfortable working with core data
Experience integrating 3rd party frameworks
Bachelor’s degree, Computer Science, Engineering or MIS/IT major preferred
Strong programming background and familiarity with at least one Object Oriented language (i.e. either Java, C#, .NET, Objective-C or C++)

Example Ruby / Rails Listings

At least 5 years of experience w/ Ruby and Rails.
At least 5 years of experience w/ relational DBMS.
At least 2 years of experience w/ Git.
Experience working remotely is required.
Experience with code reviews and deployment automation tools and is required.
Experience w/ WebSockets and/or other real-time comms technology is required.
Experience working in agile environments is a plus.
Experience with Heroku is required, AWS experience is a plus.

5+ years in software engineering Ruby Rails TDD RSpec REST API Design PostgreSQL Relational

JAVA Skills Needed

Java, JPA/JDBC, Spring MVC

MICROSOFT Skills Needed

  • C++, .Net (C# preferred) Platforms : Windows (C++, .Net), Linux (C++)
  • Software Developer: Visual Studio, SQL Server, ReSharper, NCrunch, ASP.NET MVC, Twitter C#
  • MS Stack. .NET, MVC, EF, Typescript.

GO Skills Needed

“Our ideal candidate will have proven full-stack Go development and also be comfortable in SQL (Postgres) and Ruby on Rails. Experience in PHP, NodeJS or Python is an advantage.”

“Experience in mobile development using Swift, Java, Xamarin, Ionic2 or Phonegap is an advantage. Front-end requirements include the usual stuff; HTML5, SASS/CSS3, Bootstrap, Responsive Design, JavaScript, UI/UX and Gulp.”

MISC Skills Needed

  • OOP / SQL
  • Audio: Swift / Java
  • Functional Programming: (Scala, Clojure, Ocaml, F#, Erlang, Elixir)
  • Haskell Backend
  • Firebase