
Rankings of required skills in software development job listings - lukeHeuer
https://www.latitude.work/trends/july-2017
======
itamarst
In general I would suggest not putting too much emphasis on these sorts of
lists, especially once you're an experienced programmer. Yes, over time new
technologies become more useful, but there's a whole bunch of core skills that
will last you far longer than web-framework of the week:

1\. General problem solving skills. A lead developer needs a whole bunch of
skills that aren't listed anywhere on that list.

2\. More slowly changing technologies, and underlying principles. E.g. Python
and Java will be around for a long time. RDBMS have been around for even
longer, and will continue to be around.

3\. Ability to learn new technologies quickly.

And if you do it right you can get job that claims to require certain
technologies even if you don't have know them.

Longer version: [https://codewithoutrules.com/2017/07/16/which-programming-
sk...](https://codewithoutrules.com/2017/07/16/which-programming-skills-are-
in-demand/)

~~~
collyw
While I agree with you, just look at jobs ads. They match the list a lot more
than your description of a problem solver.

~~~
itamarst
They do, yes, but that's what companies _think_ they want; it's not what they
actually need. And if you present yourself the right way you can get past that
and get hired anyway.

(Blog post I linked to talks about that in more detail, and I talk a bit more
marketing vs. skills here:
[https://codewithoutrules.com/2017/01/19/specialist-vs-
genera...](https://codewithoutrules.com/2017/01/19/specialist-vs-
generalist/.))

~~~
Bahamut
But how do you screen for these things without tipping off to candidates that
that is what you are looking for? As soon as you explicitly mention a set of
requirements, you will have candidates looking to game interview processes
built around those requirements.

~~~
itamarst
If I'm trying to hire people, why wouldn't I want to "tip people off" to what
I want? I'm supposed to lie and then trick people into telling me what they're
really capable of? That seems ineffective.

Interviewing people about their experience is a traditional way to verify
things. E.g. If I'm looking for someone who can solve hard problems I can ask
for examples. If they're beginning programmer who just got handed tasks like
"code this function"... they will have no good examples.

I can also explain a problem I'm working on and see how the candidate
approaches it.

But writing job posting that _hides_ the fact I need someone who can solve
hard problems seems silly.

------
austenallred
Really small sample size, with a lot of potential biases. I wouldn't base any
decisions on this data.

~~~
Oleg_Chen
True... but poor C anyways :(

~~~
frank_nitti
Yeah. But most of the beast Python programmers at my work are guys that used C
for decades, and have a strong grasp of classic programming and the full
toolbelt of awk, sed, perl, bash etc.. I think the "danger" of these lists is
they can convince newer devs that all they need is to learn a Python or JS
framework to be a valuable contributor on a software team, viewing the world
of C programming to be useless. Many of them will end up writing awful code
without understanding why, lacking the larger context of the computing
ecosystem.

------
aforty
I'm supposed to respect and acknowledge future tech trends from someone that
couldn't be bothered to have a mobile friendly site in the year 2017?

~~~
lukeHeuer
For what it's worth, the site aside from the trends page is mobile friendly.
The trends pages are something I thought would be cool to throw together with
the data I have on the topic and admittedly haven't spent enough time trying
to make sure it works everywhere.

edit: should be fixed now

~~~
hacksonx
On Firefox mobile it's not about getting everything to work, just basics
because the page is quite useless on that browser.

~~~
ccrush
Apparently,the experience is unusable or terrible in Safari for iOS and Chrome
for Android also, but I too came here to complain about it being completely
unusable on Firefox Mobile. Hello, fellow Firefox Mobile user!

------
lukeHeuer
Some fluctuations I noticed when comparing the trends from last month and now:

\- Go took a dip in demand, down from the 6th most mentioned language in
listings to 8th.

When looking at trends from all 2017 reports:

\- The top languages steadily in demand this year have been: Python,
JavaScript, Java, Ruby, SQL, CSS, HTML, Go, C, and C++

\- The top four application frameworks have fairly steadily been: Rails,
Spring, Flask, and Django

\- React is the top choice when it comes to UI libraries/frameworks. Angular
doesn't seem to be gaining on it, and mentions of jQuery have been steadily
declining.

\- The top three databases/stores have steadily been PostgreSQL, MySQL, and
Redis

------
ozim
Actually in terms of finding if job site is useful for me that listing is
nice. Quick scroll and I see there are no technologies that I use. No .NET,
C#, Entity framework.

~~~
rjbwork
No SQL Server, or any of the Azure PaaS - service busses, event hubs, stream
analytics, Data Lake, etc.

Fairly standard/boring "we're making a monolithic app in a dynamic language"
stuff.

~~~
jaegerpicker
A ton of it is security and Data Science related, if you actually look at the
jobs. That's one of the reasons python is so popular, it's pretty dominate in
those circles.

------
herickson123
The UI was unusable from Chrome on iPhone

~~~
sk0g
Same thing on Android. Menu items laid over each other, a page's worth of gap
between each item, missing graphics (I think)...

------
justusw
I'm surprised to see no mention of SQL Server as a required skill. Surely,
there must be at least one job posting that requires knowledge of some sort of
an MS/.net stack?

~~~
zerkten
It looks like it's a survey of startup-type organisations listed on that
particular site. All across the globe there are plenty of SQL Server and .NET-
related roles, but many are corporate jobs and not posted to the same places.

------
LesZedCB
I'm surprised hadoop is at the top for distributed processing. I don't imagine
many businesses really actually want hadoop. Anybody here using it as part of
their stack and can justify its use?

~~~
mindcrime
_I don 't imagine many businesses really actually want hadoop._

I imagine quite a few do. They may not be using the map/reduce API (although
there are almost certainly use cases where that makes sense too), but HDFS and
Yarn are pretty ubiquitous.

------
CodeSheikh
Problem is recruiter's and co are the ones always coming up with such
nonsensical lists. As a lot of commenters have mentioned, these lists are
meaningless to a seasoned programmers who can adapt with changing time and
tech.

------
jorgeleo
One of the things I find missing from this list of soft skills. These lists
are all concentrated in the technical skills, but the professional value gets
realized through the soft skills.

~~~
lostcolony
But few people ask for soft skills, and no one tests for them beyond noting it
if you do something wrong.

"Must be an excellent communicator" \- unless they notice you have a hard time
talking to them in the interviewer they don't check for it. They don't ask you
to write an email for something, or create a presentation, or explain some
difficult technical concept to a non-technical person, etc.

~~~
jorgeleo
true... it is hard to test or measure soft skills, but the project result
depends on them almost the same as technical skills.

Btw, those are communication skills. There are many others that are also
important

~~~
lostcolony
Sure. They also are not tested for.

I'm not saying these things aren't important. Just that it's almost never
included in a job description, and it's invariably eye-roll worthy the few
times they are, because no one tests for them explicitly anyway.

"Time management skills", "Ability to prioritize effectively", "Able to handle
stress in positive ways", "Able to self-task", etc; no one changes their
interviews to actually test for these things. Well, except maybe for seeing
how someone handles stress, but frankly, we've heard about companies who do
that, purposely make the interview as stressful as possible just to see how
someone handles it, and we hate the very idea of it.

------
collyw
Flask is above Django? Not in any of the job listings I have seen.

~~~
icebraining
What's weird is that if you click on it, Django has more results than Flask.

------
ungzd
I never heard about Koa framework, Packer provisioning system, Druid time
series database, and yet these are listed as most popular.

------
jnardiello
"Container orchestration":

1\. Kubernetes, me: uhm, ok

2\. Terraform, me: WTF

~~~
BlackjackCF
My coworker and I were just laughing about that. Not sure how much I can trust
this.

Also HTML/CSS as languages? Erm, okay.

------
lisa_henderson
I got started in software in the late 90s. At that time, there were immense
philosophical differences between the communities that drove each programming
language. Perl had a well known culture, which was utterly different than what
the Python folks were doing. The people around Java were excited about the
thought of building the ultimate enterprise language, and there was talk of
some day automating UML schemas so that projects would only need architects,
not actual coders -- an idea utterly foreign to the Python crowd. Ruby's
culture was shaped by Matz, who said that programmers should experience joy
while working. PHP rejected all the hype about Object Oriented Programming,
instead, PHP was for people who wanted to write programs using a collection of
functions, with an emphasis on quick and dirty projects -- and in an era when
there were no package managers, PHP's "all in one" philosophy was a real
blessing. A huge amount of code was included in the default install of PHP.
And C programming was a different beast depending on whether you were focused
on Unix machines, or Windows, or Macs.

The idea of Open Source was still in its early days, and only Perl had a great
central library of code that was free for anyone to use.

And of all these languages, most were hot with a fanatic idealism about how
Object Oriented Programming would solve the problems of the tech industry.
Those languages that rejected Object Oriented Programming (Python and PHP, and
also, to a lesser extent, Perl) were proud of their defiance, till the moment
(a few years later) when they gave in and decided to become Object Oriented.

There has been a convergence of culture. Nowadays most programming languages
have all of the same things:

1.) package managers to manage your dependencies

2.) frameworks with command line tools to automate setup and database
migrations

3.) multi paradigm -- most languages now facilitate Object Oriented
Programming, but also Logic programming and Functional programming and pattern
matching, and other paradigms.

4.) open source libraries of code for everything, typically on Github

Nowadays I can go from writing in Python to writing in Javascript, and most of
the stuff I expect is exactly the same in both languages. I can think these
words about practically any language that I am asked to work with: "Oh, I have
to write a module to send email to new users? Okay, let me look up the open
source libraries that handle email. There are probably a dozen projects on
Github"

There is much more of a mainstream to computer programming than their used to
be. This "normalization" happened first with software for the Internet, though
lately its even been spreading to hardware projects. A few languages (Clojure,
Haskell) still have strong philosophical differences from the mainstream, but
they offer the common basics, like any languages that nowadays wants to make a
programmer feel productive.

So these lists of skills are less meaningful than they used to be. Once upon a
time it would take months to give up one language and learn a new one, whereas
nowadays the switch is easier, since so many assumptions that are true in one
language remain true when you switch to a different language.

------
coldcode
The #2 Operating System is iOS, and no Objective-C or Swift in the language
listing?

~~~
tzs
That makes sense. Most iOS and MacOS programming uses those languages, and
most use of those languages is for iOS or MacOS programming. Thus, I'd
generally only expect to see those languages listed for the small fraction of
jobs where a company is using those languages for something other than iOS or
MacOS.

------
Andreas7798
wouldn't know how they get their data, since Mssql, Oracle are missing.

------
chipgap98
I'm honestly surprised to see so many rails jobs on there

~~~
matthewmacleod
Loads of people still building great sites and applications with Rails :)

It definitely still hits a nice sweet spot in terms of battery-included
frameworks for rapid web application development.

------
nyxtom
Mobile is broke on this site

------
akmittal
koa is there but no Express. Thats strange

