
Show HN: Hacker News job trends - timqian
https://github.com/timqian/hacker-job-trends/
======
mountaineer
Nice work. I've been tracking this data for about 5 years on
[https://hntrends.com](https://hntrends.com) and enjoy seeing others come up
with new tools and ways to analyze the data.

~~~
hamstercat
I tried adding it to feedbin but it can't find any feed. Is it possible to
subscribe to it with a RSS reader?

~~~
mountaineer
A RSS feed has been on my todo list, will get that added.

~~~
hamstercat
Nice, thanks!

------
smt88
Just want to warn others that this didn't display properly in my mobile
browser, seemingly due to whitespace/wrapping issues. It looks fine on my
desktop.

~~~
jeff_friesen
It works for me if I set github to use the desktop version. I wish I knew of a
way to always use the desktop version on my phone.

~~~
mimimihaha
I really don’t mind most mobile sites. What I really hate that i wish i could
disable is Amp from Google. Not only do they track your history without your
permission with no opt out but they reduce the functionality of websites that
i want to look at. They say the reduce the amount of data i use but when i
have to load the website i’m visiting twice because i reload the page without
amp, i’m using more data.

------
segmondy
I use a script to get an idea of demand in relation to others

w3m -dump
[https://news.ycombinator.com/item?id=17442187](https://news.ycombinator.com/item?id=17442187)
| tr '[:space:]' '[\n _] ' | tr '[:upper:]' '[:lower:]' | grep -v "^\s_$" | tr
-cd '[[:alnum:]]\n' | sort | uniq -c | sort -nbr > july.jobs.2018

You can grep for the fields you are interested to have an idea. This is the
data I grabbed on the 2nd around 14:00EST

    
    
         79 python
         71 frontend
         63 backend
         62 web
         54 aws
         39 fullstack
         35 rails
         34 devops
         33 ruby
         33 mobile
         33 docker
         32 react native
         31 javascript
         30 c
         27 android
         26 linux
         25 scale
         21 security
         21 api
         18 nodejs
         15 postgresql
         14 django
         12 node
         12 graphql
         12 angular
         11 golang

~~~
abhishekjha
I got kind of jumbled text from the command:

` 2040 204 ]]]]reply 46 ]]]]]]reply 8 ]]]] 6 ]]]]what]we]offer 6
]]][]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] 5
]]]]requirements 3 ]]]]qualifications 3 ]]]]keyvalues 2 ]]]]you 2
]]]]would]you]like]to]run]oracle]plsql]on]a]postgresql]database]you]can]with`

------
bojo
There's been many a discussion here about companies holding out for the
perfect candidate, curious to see how many jobs go unfilled for how long.

~~~
PaulRobinson
I got a new remote gig recently. Because I'm going to talk about recruitment
process and I don't think it's relevant, I won't name my new employer here.

My process had over a dozen stages, mostly 1+ hour video calls, one of them a
2-hour tech test. It took several months to complete.

I wasn't in a rush (I actually walked away from it for about a month in the
middle for personal reasons), and they were being a little cagey perhaps
because it was a senior-ish hire into tech (Principal), and picking the wrong
person at that level can do serious damage to a tech culture. I appreciated
they took it that seriously.

They then were prepared to wait for my notice on my existing role, which was 3
months (negotiated down to half that in the end).

That shows commitment on both sides.

This is going to be a stronger trend. There are a lot of people out there with
a CV that says "senior developer" on it, asking for top-drawer contractor
rates, feeling a little entitled because they know some React or Go, so it
makes sense to take your time and really, really kick the tires.

With a remote workforce, able to hire anybody in any country, it makes sense
to really find the best you can: they can make or break your business. Makes
sense to me.

There is research - but I can't place where/when I read it right now - that
says you should decide how many people you're prepared to interview, then
discard your first third of that number. Then hire the first person you meet
who is better than the best candidate in the first third.

~~~
hyperknot
It's actually 1/e ~ 36.7%, the solution to the mathematical problem of how can
you find the best sample in a sequence, if you cannot go "back" and pick one
of the previous ones. As long as you can ask people to "wait a bit" this is
not the best solution.

~~~
gknoy
For those interested in why, you can look for info on the "secretary problem":

[https://en.wikipedia.org/wiki/Secretary_problem](https://en.wikipedia.org/wiki/Secretary_problem)

------
spocklivelong
Really nice work. An idea: Could we couple this with Who wants to be hired
threads and see where there is a talent deficit and surplus?

------
flipp3r
Wanted to see more so I installed it. Just throws a "ENOENT no such file or
directory, scandir '...\node_modules\hacker-job-trends\assets\rowContents'"

Nice graphs though. Source of that is
[https://github.com/kroitor/asciichart](https://github.com/kroitor/asciichart)

~~~
smt88
As I mentioned elsewhere, the graphs were a disaster on mobile for me. I'd
prefer if they were rendered into PNGs and inlined in the future, perhaps
using something like ChartJS[1].

(I still appreciated and upvoted this project, though. I know nothing is
perfect when it's first released.)

1\. [https://github.com/vmpowerio/chartjs-
node/](https://github.com/vmpowerio/chartjs-node/)

~~~
symlinkk
It's a command line tool, who cares if it works on mobile.

~~~
smt88
It was posted on a website which, if it's a typical news site, gets at least
40% of its traffic from mobile devices.

I understand your point, but at least the readme could have images as a demo.

Anyway, it doesn't matter that much. Clearly we all like the tool regardless.

------
danesparza
Nicely done! I really like the example graphs you give.

I'm sure this crowd would appreciate seeing an example graph for Kotlin,
Scala, or Rust as well. :-)

------
pmiller2
While we're discussing hiring trends, what's the state of the "full stack"
meme? Is it really realistic to expect a developer to be an expert in
frontend, backend, and database design? They'd need to be an expert in JS +
whatever the framework of the week is, CSS, some backend language, and SQL.
Increasingly, companies are adding significant DevOps skills to this list,
too.

~~~
cbanek
I feel like it can be realistic if that person has about 5-10+ years of
experience and a lot of time on their hands to keep up on frameworks. But a
junior level full stack person, probably not.

Backend devs I find usually also do a fair bit of database work, at least at a
basic level, and are usually where the devops work comes in (migrations,
upgrades, keeping the system running). As experience grows, I think most
people at least get a sprinkling of these different fields, even if they
didn't intend to.

~~~
pmiller2
That sounds about right, and reflects my experience and expectations as a
backend developer well.

------
amorphous
Not taking anything away from this nice job and at the danger of saying
something obvious I'd like to note that the HN job board is not representative
of the whole IT market. It's a corner, an interesting one but when it comes to
the question what skills provide the best overall career outlook in the long
term for a developer the trends on HN are not necessarily the best predictor.

------
mixmastamyk
Nice work, interesting trends. The monospace font was a mess on Linux at
least, had to deactivate the font-family css and it picked up my standard font
(source code pro) and all was right again.

~~~
psetq
If your goal was to be helpful, you should really be more specific than just
"linux". It works fine on Firefox / Ubuntu Xenial for me.

In any event, I'd suspect it was more likely for the problem to be in the
browser rather than than the kernel...

~~~
mixmastamyk
If your goal is to be helpful a little less pedantry would be in order.

Firefox / Ubuntu Bionic, probably related to font choice or font-rendering
library.

------
dorfsmay
When using multiple keyword with the + and - signs, it graphs the sum of all
posts requiring one technology in addition to all posts requiring the other
technology.

It'd be great if there was a way to graph sum of all posts that require both
(or more) technologies. I have tried with spaces and comas etc... (eg: 'rust,
python') but it doesn't work well as you have to guess exact matches (so
'rust, python' is a different result than 'python, rust').

~~~
philsnow
You can also end up with results like some months having a negative number of
posts. I think the intuitive meaning of any arithmetic operators here would be
set operations.

------
peterburkimsher
Has someone already made a map with the countries where the jobs are being
offered? If not, I might do so.

I'm currently trying to find a job in New Zealand, Australia, or Canada.

~~~
soneca
Yes, here it is: [https://whoishiring.io/](https://whoishiring.io/)

~~~
xando
HN's "Who is Hiring" jobs only filter
[https://whoishiring.io/search/36.6845/-92.8938/4?source=hn](https://whoishiring.io/search/36.6845/-92.8938/4?source=hn)

------
NVRM
The graph part is pretty cool. Is it doable to use this graph for any kind of
data? Or maybe someone know a tool to trace similar graphs into a terminal?

~~~
supermdguy
Looks like it's using asciichart:
[https://www.npmjs.com/package/asciichart](https://www.npmjs.com/package/asciichart)

~~~
pseudonymcoward
Interestingly named package given that it's clearly using quite a few non-
ascii characters which will break non-unicode aware consoles. Also that the
description, Node page, and github repo list different licences.

~~~
kec
Everything in there looks ascii to me, just using the charting characters in
the high end of the table.

~~~
alyx
"ASCII" is limited to characters 0 - 127

[https://en.wikipedia.org/wiki/ASCII](https://en.wikipedia.org/wiki/ASCII)

------
qop
This looks horrendous on mobile. I can do Request Desktop Site on my mobile
browser and it looks better but not perfectly aligned still.

------
lend000
This is very cool. Is there a way to adjust search results for total number of
posts? By searching for `hjt 'a'`, I can get an idea of how many total posts
there are by month and approximate adjustments in my head, but it would be
nice to directly scale results.

------
TekMol
Would love to play with the dataset in the browser. I assume it's small enough
to load all comments into an array and then let the user run their own queries
and ouput the result into a nice chart library. That would be fun!

~~~
timqian
Yeah, row content is about 16mb, This is exactly what I will do in the next
step

------
dstjean
Good job.

Why did you prefer using the HTML format instead of HN API?
[https://github.com/HackerNews/API](https://github.com/HackerNews/API)

~~~
sctb
Perhaps because you can request a page of items at a time? For something like
this an even better alternative might be the BigQuery dataset:
[https://cloud.google.com/bigquery/public-data/hacker-
news](https://cloud.google.com/bigquery/public-data/hacker-news).

------
Torai
Well. Expecting an article about job trends, with good old text and maybe some
new cool info-graphics, and after clicking the link discovering a file/archive
directory first and them some vintage looking graphics... is weird.

------
pknerd
Thank you for your work. Really helpful.

------
justinzollars
Fantastic work! I will use this. :)

------
lihaciudaniel
Nice tool, I wonder if trends can be used for marketing and recruitment?

~~~
giancarlostoro
I'm not thinking for marketing or recruitment but for educational institutions
trying to push certain courses it could work.

------
lilyqian
q a

------
lucb1e
A data dump would have been much nicer, I don't want to have to install a
package to basically run grep on a dataset. The tool should only be for
updating the dataset.

~~~
parhamn
This attitude I see all the time on HN absolutely irks me (e.g. the whole 'A
graph of programming languages connected through compilers' thread). Too often
people post something fun and cool they built and readers complain about some
random feature they think would make it better. It's not like OPs goal was to
solve every little problem with graphing terms in HN Job threads. There should
really be a rule against this sort of critique.

Its one thing to make a feature suggestion to be helpful to the author and a
completely different thing to provide armchair critique like this.

The tool they wrote is to do the job they wanted to do. If you want something
else, build it. If it doesn't satisfy your needs or you're too lazy to fork
it, move on.

With that said, the data (text and HTML) is literally in the assets dir of the
repository which should make it easier for you to build your version of the
tool. Did you bother looking?

~~~
jcims
It feels shameful when you see it directed at others, but then if you post
your own stuff you don't want the feeling that the community is pulling
punches just to play nice.

Fortunately most of these things are open source, so there's always the 'well
submit a PR' response. It's been so long since I slung HTML that I am fairly
certain if I attempted it for a Show HN, folks would be so distracted by how
bad it is they wouldn't pay attention to the utility of it.

