An Introduction to Software Jobs and Key Skills
Originally on: postlib.com
There's a lot of confusion about different titles that are used today. Programmer, for instance, is rarely used. Web development often occurs within the context of Ruby, Node, or WordPress and usually involves more traditional forms of software engineering (fullstack work for example). Here's a list of the terms I've encountered most often:
Developer
A programmer specializing in one or more languagesEngineer
A developer specializing in one or more Service Application LayersSenior Engineer
An engineer with many years of experience - often fullstackManager
A manager of developersArchitect
Responsible for overall design, coding conventions, and tool/service integration assessmentVP Engineering
Technical leadership, management, strategyChief Technology Officer
C-level leadership officer responsible for overall technical vision and strategyI'd say that there are six main kinds of software companies or jobs:
Early Stage Startups
Preseed (before funding), Series A to Series B or so. Your primary job is to build a minimum viable product, demo, or first generation version of the app. I usually take salary over equity at this stage since there's a lot of risk. If you think insane, wild, and every day's a totally new thing (but maximum flexibility at the cost of risk) - then this is the place for you. It's usually just you or another developer.
Startup+
You've made it - you've got customers/clients, you've scaled well. Now you can kick back (but only a bit) as you move to exit (go public or get bought). Make sure you've got solid, non-dilutable, equity! When you think fun startup this is what comes to mind.
Traditional Office
You might be in a dungeon but you've job security and good benefits. Most of the crew you work with are older and more experienced. Tech stacks here are less cutting-edge but robust and well-trod.
Security/Intelligence
You might be in defense tracking baddies or being a hacker for good (finding and reporting exploits to companies or other organizations). Your main goal is to secure something (the application, the safety of your country, or your intellectual property). Palantir or cyber-security contractors working for civilian government come to mind.
Foundation/Research/Academic
Here you primarily do research or produce open-source information. Your objective is to spread knowledge and provide tools for everyone. Math research, Apache, Node are all examples. Just because it's a foundation doesn't mean it doesn't pay well. These sorts of positions are often the most prestigious - plus, you don't have to deal with the types of things you'd have to in enterprise.
Consultant/Web Boutique
You work with other developers and help small companies or single clients to build their projects and see their dreams come to life!
Software Specialties
Frontend
Builds interface and clientside applications and/or componentsBackend
Builds serverside applications and/or componentsMachine Learning/Data Science
Use big data, NLP, neural nets, and deep learningMobile
Builds mobile app clientside implementationsFullstack
Database to interfaceKey Languages and Skills
From Tiobe we see that the top picks are object oriented languages (Java, C, C++, C#) and the most familiar scripting languages (Python, PHP, JavaScript). A slightly different response was given when developers were asked directly 10 Top Programming - here JavaScript and ECMA-related languages took first place.Frontend
CSS3Compiled CSS/SCSS/SASS and Less
Semantic HTML5
ES/ECMA (JavaScript)
Ember
jQuery
Angular
Angular2
React
Backbone
Handlebars/Mustache
Bootstrap
Material Design
Backend
LuaJava
Ruby
PHP
Python
C#/C++
ES/ECMA (JavaScript)
SQL
GoLang
Perl
MySQL
Redis
PostGres
NoSQL
Machine Learning and Data Science
CassandraR
Hadoop
Encog
Stanford NLP
Open NLP
Skymind
Tweety
Mobile
XcodeAndroid
Phone Gap
Cordova
React Native
Ionic
Swift
Fullstack
Ruby on RailsJava Spring
Node and NPM
MEAN
WordPress
LAMP/WAMP
Also see: https://steemit.com/postlib/@postlib/software-jobs-and-automate-your-search :)
Congratulations @postlib! You have received a personal award!
2 Years on Steemit
Click on the badge to view your Board of Honor.
Congratulations @postlib! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
I appreciate the comment - I'll try to write something a little more accessible.
(Good bot)