What Programming Languages Are Used Most on Weekends?
For me, the weekends are mostly about spending time with my family, reading for leisure, and working on the open-source projects I am involved in. These weekend projects overlap with the work that I do in my day job here at Stack Overflow, but are not exactly the same. Many developers tinker with side projects for learning or career development (or just for fun!) and at Stack Overflow, we support all types of technologies, from professional to hobbyist. Whenever people are working, we’re available to answer their questions. But what languages tend to be asked about on weekends, as opposed to weekdays?
Let’s use our public StackLite dataset on Kaggle to explore differences between questions that are posted on weekdays and weekends. This dataset is available for anyone to analyze; you can use a Kaggle Kernel to get started on your own question about Stack Overflow questions and tags.
Comparing tags
For this analysis, we will use non-deleted questions and tags used on more than 10,000 questions. We defined weekends using UTC dates, which may not exactly overlap the weekend for all users. Overall, this includes 10,451,274 questions on weekdays and 2,132,073 questions on weekends. The difference in number there is mostly due to people largely using Stack Overflow for their jobs on weekdays, and we see this pattern both in questions posted and traffic to our site.
Because of this weekday/weekend pattern, we’re not interested in whether tags were busier on weekends than weekdays; basically all tags are busier on weekdays. Instead, let’s explore which tags made up a larger share of weekend questions than they did of weekday questions, and vice versa.
Which question tags have the biggest difference in relative frequency?
To explain this a bit more, let’s look at some numbers. The programming language Haskell makes up 0.365% of weekend questions in this dataset, but only 0.21% of weekday questions, showing it is unusually popular on weekends. Sharepoint makes up 0.0683% of weekend questions, and 0.188% of weekday questions, showing it is more often used on weekdays.
It brings me great delight that the functional programming language Haskell leads up the weekend-shifted technologies, because this is basically me:
I haven’t learned Haskell. But kudos to all of you who are using your weekends to do so! And now enjoy this joke about Haskell, which is a language popular among academics and mathematicians but not typically used in corporate environments.
Let’s make some other observations!
- We see some low-level technologies are popular on weekends, such as C, C++, pointers, and assembly, as well as tags related to math, such as algorithm, recursion, and (of course) math.
- Heroku and Meteor are app platforms often used for rapid prototyping, which may suggest they are being used for weekend hobbyist projects.
- Many of the weekday-shifted technologies are connected to Microsoft, including tags related to Excel, SQL Server, VBA, and T-SQL. Others include enterprise technologies such as Oracle.
We can also visualize these relationships by comparing the total number of questions to the relative frequencies.
Tags that are further to the right in this plot (JavaScript, Java, C#, PHP, etc.) have more questions asked about them, and tags that are further to the left have fewer questions asked about them. Tags that appear close to the dashed line have about an equal share of weekend questions as weekday questions, and tags that are farthest from the dashed line exhibit the largest weekend/weekday differences.
We can see again that most of the popular tags that are weekday-shifted are connected to Microsoft (C#, ASP.NET, SQL Server, Excel, VBA) and many of the weekend-shifted tags include technologies like C and C++, as well as newer languages such as Swift and Node.js.
Working for the weekend
We can also use this dataset to examine how developers have changed how they use these technologies over time. We can use modeling to find the tags whose weekend proportion (the percentage of questions that are asked on the weekend) has changed the most over time. For tags with more than 20,000 questions, which ones are being posted about less on weekends now compared to the past?
We see tags here like Ruby on Rails and Scala that developers used at a higher rate on weekends several years ago, but now use at a lower rate on weekends and more on weekdays. These technologies were more weekend-oriented in the past, but are now proportionally part of more developers’ weekday work lives. The version control system SVN also decreased in weekend use over these years; most likely the advent of GitHub (launched in 2008) has led to fewer people using SVN to manage code for personal weekend projects.
If we look for the tags that have increased the most in weekend activity, we see the game engine Unity3D, as well as a number of tags used for building mobile apps. It looks like developers are designing more games and apps on the weekends now than in previous years. A good way to spend a weekend!
We used openly accessible data to do this analysis, and look forward to seeing what other developers in our community may find by exploring the data products that we make available.
Do you follow these patterns in your weekend language choices? You could make the jump to weekday use by finding jobs in C++ or Node.js over at Stack Overflow Jobs.
207 Comments
Nice analysis
Information is beautifully compiled and put together. Very nice!
Please don’t anyone take this a reason why they should learn Assembly language.
Yes, please do! Learning assembly will improve understanding higher level languages. Keep assembly to the weekends (out of production code), and all will be fine 😁
hehe. No or Haskell for that matter. Not very practical things to learn.
I see both these are far to the left on the actual number of questions asked. Hardly anyone is asking about them, but when they do, they’re mostly asking on the weekend. As Eric Horning said… students.
Both are practical for the concepts behind though (insights on how does ones’ higher-level language work for assembly and functional programming, which does help to understand things like LINQ, for Haskell) but as Berik Visschers said, they’re probably better left to the weekends. Ok, more so assembly than Haskell, but still ^^
While there are certainly many students among the Haskell askers on SO, they don’t make up the majority. More questions are asked by programmers who use other languages in their jobs but are looking out for something better in their free time, and indeed by academics who don’t care about weekends. Haskell is addictive. (Also a good tool for large-scale development; just for some reason not many companies have acknowledged this yet.)
Strangely it seems that people code more webapps on the weekdays and more GUI apps (swing, etc) on the weekends.
I’m curious about how people manage without arrays and strings during the working week.
People are more likely to want to ask StackOverflow how to use strings and arrays when writing low-level languages like C, which seems to be more popular on weekends. I imagine that’ll be people using managed languages for work that want to try writing C/low-level code on the weekend just for fun.
Oh, sure. It’s just amusing!
I’d rather say that this is caused by the fact that on weekends you’re more likely to ask “how to do a basic thing in language X” because you’ve never used language X and are learning it, but when someone would ask a question about the same language in middle of working week it would be more like “How to fix an obscure bug that I encountered while maintaining a 1000000 line app written in X”. That’s why “recursion” and “arrays” are in weekends but “logging” and “testing” at work.
I expect there are a lot more none programmers trying to learn to code at the weekend. C is also often used by collages, hence it may be students doing homework.
Can’t there be languages that are so popular they are used consistently during the week and on weekends, and therefore will show no meaningful difference, and not even make the chart?
Yes! Those do appear on the second figure above. You can see that javascript and ios are both right on the dashed line, and therefore are used equally often (as a % of all questions) on weekends and weekdays.
Anything close to the dashed line falls into that space (Java, JavaScript/ECMAscript), the way to read this is the languages closer to the right are safer conclusions since they are supported by more data points. I guess the whole point that makes this question interesting is whether people privately prefer something (weekend) over what they are forced to use (weekday).
Like I said in the post, I defined weekends using UTC dates, which may not exactly overlap the weekend for all users. It gives us an overall statistical view, though.
yup, and what complicates the matter is that not everyone works a 5 day work week, or might work a different set of 5 days, etc.
Students generally work on weekends, whereas the majority of folks in the workforce don’t. Things like Haskell, assembly and algorithms are all more relevant to computer science/math students than to the majority of the working population. I would guess that this is a significant factor in why the data is skewed in this direction.
Good thinking, next week we’ll have a post that digs more into trends among students!
I would love that.
Students…work..?
Geez, that might explain my gradepoint average…
Haskell is newer than other languages. Many of the other languages already have questions and answers in Stackoverlflow. As for assembler, it depends on the machine. Lumping assembler for all machines together would be misleading. The assembly language in the report is probably for newer machines.
Evelina Gabasova presented her research about this (among other things) at GOTO Copenhagen 2016: https://www.youtube.com/watch?v=qlKZKN7il7c
The C and C++ were somewhat surprising to me. They don’t strike me as “weekend” languages, but maybe that’s because I work at a company that uses them heavily. Can anyone give some outside perspective on that?
My guess would be pet projects such as game development, hobbyist OS dev, etc.
Arduino’s can be programmed in pure c++ and C so that could account for some of the share.
My hunch says that it’s people trying to prepare for interviews, or get better at the more “academic” concepts in computer science. This was me when I was a JS/Java developer trying to get a better grip on algorithms and data structures, because a lot of the classic texts use C/C++.
This is probably due to the fact that C/C++ has more online resources than other language like Haskell.
If that’s the case then most of the questions that a C/C++ developer had in mind is more likely to be answered already than those languages who had less online materials.
games
Ardiuno/raspberry projects, academic work, game development, hobby projects like that. Only time I used C was at university and on the weekends working with an AVR-based robot.
And maybe the number of questions is counterintuitive: people ask C++ questions because they are not too good at C++ so when they work on their robot pet project on the weekends, they just ask more questions than average.
C/C++ might not be a bad choice when it comes to using in programming competitions.
This study is likely to be highly misleading. Stackoverflow is obsessive about preventing duplicate questions. C/C++ questions are extremely likely to have been asked and answered before.
I almost exclusively write C in my hobby projects. I hate having some weird quirk in a framework or language that causes me to go round in circles troubleshooting – and sometimes I have to be OK with having it work and not really knowing why.
C has a nice simple well defined set of rules, since I’m not under any time pressure I can take the luxury of understanding every detail in my program. If something is going wrong in my program it’s because I did something wrong, not because of a bug (I know bugs exist in C compilers, but I’ve never found one) or because someone changed the behavior of a framework without updating the documentation.
With the amount of time that I’ve spent writing exclusively high level languages professionally (that Microsoft stack) writing nice simple code is a breath of fresh air.
I might be being dumb here, but shouldn’t the infographic under “Which tags have the biggest weekend/weekday differences?” have a weekday label as well as a weekend one? It seems to currently have two weekend ones, but maybe that’s cause I don’t understand what they signify.
Well the data points are either weekend or week day, but this axis is saying the language is posted up to 2x as many times on the weekend as on the week day at the top. Or half as many times on the weekend as on the week day at the bottom (which would be the same as saying “2x as many times on a week day as on a weekend”), …all of which is to say, yes it could be labelled more clearly 🙂
The title says “Programming Languages” but SharePoint, SOAP, SQL Server, Oracle, IIS, Internet Explorer and OpenGL are not programming languages, they are applications (except SOAP is a protocol). Pointers, algorithms, recursion and classes are neither languages, protocols or applications. I see that SQL Server and SQL Server 2008 are segregated. Probably VBA, Excel and VBA-Excel should just be VBA and Excel. I think there should be separate charts for (1) programming languages and (2) applications and other ones for other categories as appropriate.
Github commits can exactly tell which language is used most on weekdays or on weekends. The statistics from StackOverflow may not be right… from my point of view.
assuming here that weekends are mainly used for hobby projects and learning, questions on StackOverflow are the right correlation and not GitHub commits because not every hobby project makes it to GitHub whereas you always have questions while doing something new.
Well, programmers prefer contributing hobby projects on Github. As the title says ‘What Programming Languages Are Used Most on Weekends?’, Github commits would make more senses, i think.
No, that misses the point entirely, as they draw their conclusions on RELATIVE popularity. If you don’t have enough weekday commits to compare then your stats will be completely skewed
I would go even further and say there are lots of projects where the company doesn’t have them on GitHub, because of company keeping its code. I worked with a few IT companies so far, and we never had stuff on GitHub, but always asked on Stack.
ActionScript 3.0 still making the charts, as uncool as it is. 🙂
Would be quite interested at how did you define the weekend. As Asia’s weekend are 1 day earlier than US’s.
Suspect it’s either “Saturday or Sunday in the timezone in which the post originated”, or “Saturday or Sunday anywhere in the world”. Those are the most common definitions, and SO uses the latter for Winter Bash.
I think he’s talking about how some countries literally use different days for their weekends (Friday-Saturday being the most common variant);
https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world
1.Comparing the whole week to a single day will always bring differences.
You should compare every single day to weekend.
2. Some countries have different weekends. You didn’t take this into account.
they even mention at the begining they didn’t care about time zones, so…
erm? programming languages or technologies? what about javascript?
It’s in the graph, right on the “same” line. More common technologies tend to even out the difference between weekdays/weekends.
Javascript being right on the line makes a lot of sense–it’s used so much in current, live web apps and it’s also what people want to learn for a hobby or side startup. Exactly where one would expect.
If you look at the scatter graph you’ll see javascript questions increased slightly weekends
Everyone is already using javascript so for it to reach 2x would be ridiculous. This is a more useful indicator for less popular languages.
Unsurprisingly, people hate working with Microsoft products, but have to bear with them during business hours.
No. Two best programmer’s IDEs – Visual Studio and Visual Studio Code – were created by Microsoft. Nobody uses Sharepoint at the weekend, thats true.
I agree with you on Visual Studio but VSC is a text editor, not an IDE, and it’s trash. Any text editor built on Electron is bloated trash. I know more people using emacs than VSC. I’m more a vim person but that’s just how the hammer fell.
No no, it IS an IDE. For example for PHP, there you can have intellisense, debugging and also quite nice git integration (all basic operations apart from merging).
It certainly started life as a text editor but has evolved past just a text editor now, maybe not an IDE but certainly more than a text editor.
As an avid Linux user for the past 8 years with a deep hatred towards Microsoft I take my hat off to them with Visual Studio Code, its a suburb product and extremely well engineered. It certainly isn’t bloated trash the optimisations they have done with the page rendering and speed has been simply astonishing compared to things like Atom.
So have you heard about Sublime Text 3?
If you don’t like it, don’t hate on it. It’s not as optimised as a C based editor, but guess what – I’m running an i7 with 32GB of RAM – don’t really need a 500kB editor
I get your point but then try the extreme. Try to open 4GB log file in VSC, Sublime and vim and then you will see the difference. If software is not optimised then hardware power is irrelevant.
You can use vim for opening 4GB log files, and IDE for software development (?) VSC is not optimized for opening very large files, because usually source code files are not (or shouldn’t be) very big.
Wait, what? vim IS the IDE, isn’t it?
You say. 🙂
The common idiom is, “don’t knock it until you’ve tried it.”
The implication being that once you’ve tried it, if it’s hot garbage, hate on it all you want.
I’m either pressing the wrong buttons or the unity integration is terrible. The free Visual Studio is terrible. Eclipse and Intellij are doing a way better job on autocomplete, key mapping, doc display.
Nobody uses Microsoft products unless they have to. I haven’t used any of their products for 5 years.
The company is slowly dying.
And no, they don’t have any competitive products anymore unless you compare to utter turd like Eclipse or Intellij.
You =/= nobody.
YOU are slowly dying, not MS 😉
Linux kids are funny. Stupid, but funny.
VS Code is bearable, but VS is the worst IDE ever created. Compare it to IntelliJ or any other IDE. MS is doomed. Sorry.
I love working with Microsoft products and hate working with Apple and Linux (I do all three both for fun and at work, albeit Windows the most, obviously). Any questions? 🙂
You MS haters are just sore because your religion makes you put up with various open-source crap 😉
According to the infographic, most people spend their week struggling to get a document out of SharePoint; whereas on weekends, they write cool algorithms in Haskell, C, C++11 or assembler. This is a surprisingly accurate reflection of the situation on the ground, from what I hear from people around me.
Now the question is: how can we swap the weekend for the week, so that more people can do more of the cool stuff?
You must be at some managerial post, right?
Of course he is, look at the suit
I don’t wear suits much, in fact. And a white shirt doesn’t mean I don’t know what a non-maskable interrupt is or that I don’t compile my own Linux kernel, so please don’t be distracted by appearances. 😉 And yes, I have management responsibilities, but I also contribute technically. I’m actually a research director in an information company by daylight.
I’ve been following the Programming Language Popularity Index for a couple of years ( http://pypl.github.io/PYPL.html ), and it’s hard to predict where things are going longer term. New programming languages are not necessarily better, for example Modula 2 introduced a great separation between interfaces and implementations (they could be compiled separately, the implementation doesn’t even have to exist), something that successive languages haven’t picked up, sadly. Short-to-medium term, if one invests their time in Python and Java, that’s a safe bet, longer term C has always been a safe investment (not just in terms of jobs, but also in terms of learning what’s going on under the hood).
It’s good that you have technical knowledge, and I’m not trying to argue but programming isn’t something you can consider as a 9 – 5 job and calculate efficiency based on lines of code written.
I mean, you could but that would just result in more time being spent for optimization and review.
I’m not trying to lecture you or anything like that. I’m just saying.
And speaking of newer programming languages, the trends are really hard to predict. So I agree with taking the safe bets. It also helps the freshers to easily catch up, but that forces the companies to miss out on some really smart talent. My point in saying this is that, problem solving and analytical thinking must be given more importance rather than languages.
Languages are just the tools programmers use along with coffee to create the world.
My point in typing out this wall of text is that languages and frameworks really should not be the top focus. Programmers make elegant code when they’re at ease. Not to compare myself to an artist but yeah, programming is very much like that.
In some countries like Iran, the weekend days is different from other countries, maybe a source of bias!
there could also be a bias in some particular languages, e.g. scientific languages like R, as scientists mostly don’t care much about weekends 😀
Exactly! What kind of work do we do during the weekend?
science is a hobby
it’s a paid job for me.. and a hobby, too, of course..
Is this not related to how much access one has to the tool, using personal vs work computer over the weekend?
In or out of your work bubble seems unrelated… If you had a sharepoint question and tagged it “sharepoint”, would it matter which computer or environment you were using?
I have done AngularJS work for work in my weekend personal bubble working for Sherwin to ramp up and figure out a new tool used in the weekday work bubble. Glad I did, I love AngularJS and I get to keep that knowledge even though I don’t work for Sherwin anymore…
However, the graph is postulated as showing when the tech being asked about shows up. The questions at the top have a bigger disproportion to the weekday and the projects to the right are more popular with more questions in general. In accordance, sharepoint seems to be a weekday work bubble only type of question. While I understand the technical hole sharepoint tries to fill– sharepoint is awful. Don’t use sharepoint. And no one seems to in their personal projects is what this graph supposedly indicates. Good.
Extremes at the bottom, sharepoint, tsql, and other windows tools, I assume they are in use in weekdays while in the office using work computers on internal network, which is not accessible from home. So if one can’t access over the weekend they can’t work on it and won’t have questions to ask. And extremes at the top, looks like programming languages that can be edited using any text editor, so one can work using any computer any day.
I have access to SQL Server, Visual Studio, C#, T-SQL, etc. both out of the office and in, and so do most MS devs – whether full versions via MSDN (which many MS devs have), or the freebie versions MS makes available. Not to mention that many devs have access to their work computer 24/7 (I have done at my last 3 jobs). But at the moment I’m using Neo4j for a hobbyist project, not SQL Server. That’s not about what I can access at the weekends, it’s about what I want to learn and use in my own time.
And realistically, why would I *want* to spin up a Sharepoint server outside of work, even though I have the licenses available? I know this is anecdotal, but I bet I’m far from alone!
Great article! I’m wondering – do you have data on how languages are used for work activities during the weekend? I know many coders in startups that work on their startup during the weekend (and nights), and have different jobs and different work activities during the week. In other words: is the assumption that we work during the week, and tinker on hobbyist projects during the weekend, a fair assumption?
Your startup is a hobby until it’s your day job 🙂
I disagree. There’s plenty of serious people funding their company by working a day job. Also, there’s a clear difference between tinkering around with Arduino on the weekends and building features with Rails for your startup product.
While I did mean it humorously, there is still a consistency to the thought in this sense–when you are working on your startup, you’re working on what you choose to work on, rather than what some employer is imposing on you. (I should also say that I think your original point is valid, meaning that it’s not just hobby projects, there are surely some serious attempts to make money going on on the weekend. As a practical matter, though, I would say that there’s no way to tell from this tag cloud which are which. So, the conclusion is probably that her article would be strengthened by mentioning your point while pointing out that what’s done on the weekend is much more likely to be a voluntarily chosen technology.)
Thanks for clarifying! I get what you’re saying. It’s hard to define “startup” and “hobby-like” work. There’s no way to differentiate between JS for work and JS for hobby / startup. What if your employer lets you pick the technology you can use for a project?
There’s a couple of those edge cases mentioned in the comments, so it’d be cool to see if they can draw any more in-depth conclusions from the data SO has.
As a weekend Haskell warrior, I contribute my anecdotal confirmation of this article!
I would interpret this as Haskell developers does not have a weekend.
*do not (don’t)
TL;DR: SharePoint admins have a secret desire to become Haskell developers.
May be Sharepoint server are not accessible during weekend!
relative frequency has 2 sides: either Haskell gets more questions asked over the weekend or the rest get fewer questions (or both).
You could see an uptick even if the same people sat at their computers posting the same number of questions every day, 7 days a week.
Instead of weekdays vs weekend, I would try to differentiate between office hours, that is, weekdays from 9 to 5 and out-of-office hours, that is everything else.
The assumption that programmers work normal office hours seems much weaker than the assumption that they work more on weekdays than weekends.
That would be more accurate, but challenging, due to time zone differences. I’m not sure if there’s a simple way to get that information from SO posts
SO posts have UTC timestamps, localized for site visitors. So yeah, that would not be simple.
Wait, how do you define a weekend? Here in Israel, the weekend is Friday-Saturday. In the USA, it’s Saturday-Sunday. I would guess Muslim-majority countries may have Thursday-Friday set as weekend. This would mean that you need to control for country of origin.
Did you read the article? Second sentence, third paragraph.
did you read his question? second sentence, right after the comma.
“Sharepoint makes up 0.0683% of weekend questions, and 0.188% of weekday questions, showing it is more often used on weekdays.”
Can someone help me understand it. Let’s say there is – for example – 1% of questions about .Net on weekday and 3% of questions about .Net on weekend. That would not mean that people were using .Net more on weekend, but rather that some unrelated technologies are less popular on weekend, increasing the relative weight of .Net. Wouldn’t the absolute amount of queries for a specific tag be the only good indicator? (Questions by day for #sometag, and relative difference with the weekday amount of Question by day for #sometag.)
Exactly. 1 question out of 100 on weekday = 1%, 1 question out of 33 on weekend = 3%.
The only way you should really compare the two would be if the overall question volume were known to be consistent across all of these days.
I don’t think your method of filtering data represents what languages are most used. This exact same data could arguably represent which systems have the poorest documentation, most bugs, or least questions already asked online.
If you want a better example of what people are actually doing, (based on the data most likely available to you) you should probably be looking at the tags on the pages viewed. 100 hits on “How to create a loop in C#” will add 100 to C#, but likely never be asked again, because there are so many existing questions on it.
Except that the charts are measuring question share *relatively*. So even though that might be a good reason why there are less questions overall asked about a topic, poor documentation doesn’t account for weekday/weekend fluctuation.
I feel this unfairly marginalizes those of us who use company time for our personal projects. #IdentityPolitics #jk
…and here we are, during work-hours on a work-day!
Looks like people use dull stuff at work and fun stuff at home.
Oh yes, because what could be more fun than Haskell!
I can’t imagine a person coding for sharepoint for fun, though, so that makes sense 🙂
I was curious to see where some particular languages (Erlang, Elixir, Rust…) would end up in that chart, but I can’t find them. Can that Kaggle query be modified somehow to show some specific set of languages of interest?
Give it a shot.
https://www.kaggle.com/juliasilge/d/stackoverflow/stacklite/weekends-and-weekdays
I don’t know R, I don’t have a Kaggle account, and I know nothing about the libraries used to query the data. I don’t really want to make an account and mess around with the script until I at least know that what I want is possible.
I feel like a weird bug among developers: I code NONE on weekends (I barely use internet to see the schedule on cinema or the score board on sport sections) , I don’t have a Facebook, Twitter, Github, etc account, I don’t have friends who code, I just code in my work with my colleagues (ReactJS, Redux, Vue.js, Symfony 3, PostGIS, etc), I just read StackOverflow when it’s needed, and maybe I read some other links that, again, colleagues send me.
You’re not alone Paulo. Some people actually get tired of staring at a computer screen all the time. 🙂
My friends don’t code for fun anymore (they used to), but I still do, albeit not consistently.
I think if you’re not coding for fun, maybe you shouldn’t be a developer in the first place. Occupation should be a passion, not a chore.
I disagree with that- I have other passions besides coding and a lot of the time the only time i can get to pursue them is on the weekends.
Same here. I didn’t say that I don’t like what I do, but I also like/love other things, alot, besides coding. And that’s why I do those things outside the work. So “you shouldn’t be a developer in the first place” only because I don’t code on weekends? okay…
Coding for fun doesn’t necessarily imply coding over the weekend. You can have fun coding at any time.
“I think if you’re not coding for fun, maybe you shouldn’t be a developer in the first place. Occupation should be a passion, not a chore.”
Indeed, this is why most lawyers write creative legal briefs over the weekend, surgeons spend their free time practising suturing, architects design buildings on the side, and accountants maintain a set of dummy books for their amusement at weekends.
I’m being facetious of course. This attitude is why software development is stuck in perpetual adolescence, it explains why it’s a career that’s hostile to women and to men over 30. And it’s why it can’t be called a “profession”. Nothing wrong with programming being a passion, but the idea that you “shouldn’t be a developer” because you don’t spend every waking moment coding is absurd, and yet all too prevalent.
“This attitude is why software development is stuck in perpetual adolescence, it explains why it’s a career that’s hostile to women and to men over 30.”
Wow, that escalated quickly. Why so hostile? This doesn’t even make any SENSE. How does a perception of software development as being an occupation of passion exclude women??
Because women have children, often in their twenties (biological reality) and men often become fathers in their late twenties and thirties. “Mommy can’t interact with you right now sweetie, she’s opening a few PRs so that when she goes to work she can show software development is her passion”. Restricting the field to people who have “passion” cuts many women out (along with fathers who want to spend time with their children, as well as well-rounded people in general).
Isn’t this an argument against dedication to anything in general?
No it’s an argument against a claim that people without “passion” (in the context of weekend programming) “shouldn’t be developers in the first place”.
I don’t think anyone said that. Just that if you feel programming is a chore, and you’ve never ever done it for fun, it’s probably not really for you.
Developing software is hard. It is hard for many reasons but one is that basic education is woefully inadequate in this respect. For example driving a bus is hard but at least when you finish school, more often than not you know how to drive a car, so when training bus drivers, that can be relied on as a point of reference. With writing software no such reference point is provided. The only way to obtain it is to do it as a hobby when you’re a teenager. This is a problem, but it’s true: without that head start learning how to write software is an uphill struggle. I’ve seen many very smart and very frustrated people at uni trying to get to grips with the very idea.
The other thing I see a lot is people who can do it adequately, but clearly don’t enjoy doing it. It’s heartbreaking to watch them come into the office every day, and seeing them feeling they’re wasting their lives when you know this is a job that can be tremendous fun.
These are the two reasons why passion is important. It’s got nothing to do with women having children (as even women with no children are often discriminated against), and even less so with men over 30. Those are separate problems.
To imply that passion can only manifest itself in doing hobby projects every weekend is of course wrong, but I don’t think such an implication has been seriously made here. (Though of course I’ve heard of companies where this is expected from you, and I don’t agree with such policies.)
“I don’t think anyone said that”
Yes they did:
“I think if you’re not coding for fun, maybe you shouldn’t be a developer in the first place. Occupation should be a passion, not a chore.”
I can’t help noticing the absence of the word “weekend” in the quoted sentence. But thank you for dealing with the essence of what I’ve been saying rather than picking arbitrary holes.
Right. So what you’re trying to say is that an occupation that consumes all of your spare time is not a fitting career for people who plan to grow a family, or people who want to accomplish a lot outside the field.
I would strongly hesitate to say that this only applies to women.
It makes perfect sense, the passion is not “passion” as in “something I care about”, it’s “something I can’t live without because I am my ability to program”. It’s like love vs. co-dependency.
I think you’ll find that a lot of doctors and nurses do volunteer medical work in their free time (if they’ve got free time at all), and architects don’t stop thinking about their work when they go home. Train drivers are often train enthusiasts too, and I know airline pilots who play with flight simulators at home. These are jobs that are often seen as more than a job.
Then again, there are jobs that don’t fall into this category: not just accounting or legal work, but if you’re a cashier in a supermarket, you’re unlikely to have a little till at home that you can sit behind on your day off.
Which category a job falls into has got nothing to do with maturity, as you imply, rather with how absorbing and satisfying it can be. (And potentially frustrating and soul-destroying if you aren’t into it.)
Now I’m not saying that if you don’t find development as satisfying as others then you shouldn’t do it, just that you’re definitely missing out on something. This of course
doesn’t mean you have to spend your every waking hour with coding, as it is certainly possible to find the fun in your everyday work too, which is not the case with many other jobs.
The problem with coding as both a job and a hobby is that if you spend all your waking hours in front of a screen, you miss out on everything else in life. In particular, programming tends to isolate you from other people, which can be fine for a while (especially if you’re an introvert) but eventually leads to a lonely and unhappy existence for most people.
I didn’t say anything about every waking hour, that’s you putting things into my mouth (I get it, it’s a popular trick of demagogy).
But you have a funny notion of life. Personally, I’m not living when I’m NOT in front of a screen 🙂
Programming isolates you only if you decide to program alone (or your boss makes you).
You do your hobby programming in the presence of other people?
Well, my regular hobby programming partner is half-way across the world so we use voice chat and GNU Screen. I don’t know if that counts as “in the presence of.” But yes, I more frequently than not pair-program when I’m doing my hobby programming. (I don’t do much pairing at my current job because management doesn’t support that.)
Why not program in the presence of others? Is it your dirty little secret? Go to Starbucks or the city park an do some coding.
I know many people who are quite happily self-contained and don’t require constant social interaction to reinforce their own feelings of self-worth. 😉 I’m going to guess from your comment that you don’t like fishing much either.
I know well where you are coming from, but there are a number of people who are insecure about “how passionate” they are, because they see other developers proclaiming code literally as a gift from god. Those people are also passionate developers, they just haven’t based their entire self-esteem and confidence on their ability to code. But saying things like this puts them off and is completely unnecessary.
Yep, telling your opponent what they can and cannot say is a sure way to win a discussion. Or is it?..
Sorry, you are right – my apologies. I did not think how it would translate in pure text. I’ll see if I can’t edit it.
Much better now.
I understand what you mean. Note that I did not say a developer who only, well, develops at work is a bad one. Not at all. I only expressed doubt as to whether their choice of occupation was the best one.
Yes – sorry again, that whole sentence is just not necessary.
I think that saying something like “I think if you’re not coding for fun, maybe you shouldn’t be a developer in the first place” is probably a bit too extreme. Think about it from the perspective of other jobs that people do… do you think an accountant does accounting work on the weekends for fun? Does a research scientist perform clinical studies on the weekends for fun? Maybe some do, but I’d guess that most do not. Similarly, as a developer I do not typically write code for fun in my time off. I might do some reading or play around with something new online, but I am not building applications or trying to write production-level code… and that’s perfectly okay.
I just wanted to state my opinion that this attitude that “maybe you shouldn’t be a developer in the first place” is hogwash.
That’s a bit polarized, isn’t it? Real life includes family/friends and other passions as well.
This just means that Haskell users *need more help* at weekends. Maybe because they can’t ask their colleagues.
reading numbers (statistics) hero! 🙂
Remember this is relative. So proportionally more people are asking — not more.
Haskell users need more help at weekends than they do during the week.
No. This means more people are asking about the Haskell topic relative to other topics. It has nothing to do with what a user needs — it is RELATIVE so it has to do with the RELATIONSHIP between Haskell tags and other tags.
Here is a made up example to make it clear:
On “weekend” 1000 questions are asked 10 of them are Haskell — 1% of all questions are Haskell.
On “weekday” 1000000 questions are asked and 100 of them are Haskell — .001% all questions are Haskell. There are 10 times *more* questions on the weekday (100 vs 10) but the relative amount has gone down by two orders of magnitude. (1% vs .001%)
In this case it is clear that Haskell users did not need more help on the weekend. Only 10 questions compared with 100.
**Remember this example is made up to show the point clearly**
Speaking as a CS student, I think a some of the tags (pointers, algorithm, recursion) raise in popularity so much over the weekend because that’s when students are doing their CS homework lol.
nice catch lol
Or prepa
Indeed
There is a need for something other than C or ASM?
You might find confidence intervals more meaningful than mere ratios.
See http://tech.magnetic.com/2016/06/finding-a-confidence-interval-for-lift.html
It’s not a statistic of tag activity, per se — it’s a statistic of RELATIVE tag activity. The charts measure the *difference in question share* between weekdays and weekends:
“Because of this weekday/weekend pattern, we’re not interested in whether tags were busier on weekends than weekdays; basically all tags are busier on weekdays. Instead, let’s explore which tags made up a larger share of weekend questions than they did of weekday questions, and vice versa.”
Oh right. I kept reading this over and completely misinterpreted every time. Now that I look at it yet again, it’s exactly what I asked for. Cool, thanks.
I mostly write typescript, javascript now a days.
You’re not alone, according to that (incredibly interesting) scatter plot.
Workday: devs making an intranet sites(sharepoint+tsql) and trying to integrate there with some legacy (vba+soap), and admins do powershell script to deploy all this stuffs
Weekend: all together making robots(assembly+pointers) with AI (haskell+algorithms) that can do realtime ballistic calculations (opengl) to conquer the world to exterminate all legacy they work on weekdays
Haskell? Are they studying on the weekend?
When else?
Well, certainly no one is paying them to study Haskell.
people have questions on Internet Explorer :O
You know the question is always the same — “This works fine on Chrome and Firefox but does not work on IE”
Julia Silge, you’re extremely bored, on weekdays.
Nah 🙂 this is interesting, and as far as I can it is her job to think about what the stack overflow community is doing .. from every angle.
Cool, I feel this is a really good analysis to find out what technologies are actually in demand or will be soon. Thanks 🙂
Weekend for me is to have a good time with the real world. I like working in the virtual environment, but don’t want to live there too, so: work online, live offline, not backwards.
For me also weekend is like holiday after long working
I’ll guess that if you pick any two days versus the other five, you can make a chart like this. More interesting might be which days are most similar to each other.
Also how much does using UTC time codes matter? For example, Sunday evening in Silicon Valley is already well into Monday morning in Moscow.
It’s not the fact of UTC that matters, but the fact of dividing the aggregate dataset by a single time zone’s set of “weekend hours.” Arguably, StackExchange usage skews heavily American, so the use of US hours will give a decent approximation of precision. A higher fidelity experiment would segment the data by the geography of the question-askers, and then apply weekend segmentation based on local custom: Sunday is a workday in Israel and Egypt, though not in Indonesia or Pakistan (though Friday is more of a half-day in the latter, as it is in Senegal).
So, yes, the dataset can be more rigorously segmented before analysis, but the questions presented are interesting starting points for investigation, and the dataset is open. Have at it, and please share your findings!
Wouldn’t this be better answered by github or other git host?
As a former professor, I’d have to say that the weekend list looks suspiciously like languages typically used in CS courses, and I know a lot of students put off project work until the weekends. So, while the question is interesting, I don’t know that I agree with the conclusion. My bet is stack overflow gets heavily hammered by students looking for help w/ assigned projects on the weekends. FWIW.
While an astute observation, it assumes that the bulk of questions being asked on the weekends are attributable to these students, which is difficult to test. How would you design a discriminant for this dataset to separate questions from students from questions from working professional developers? Does the dataset perhaps indicate whether the question is submitted from an educational institution (which might include faculty and staff, but can at least be strongly correlated to students)?
BTW, are students and working professional developers two disjoint sets? It is well-known that a lot of IT students develop some “practical” programming skills quite early, start to work on some level, and meanwhile postpone to graduate for years because of some “theoretical” subjects. (And, to yet settle them somehow, they often change to correspondent courses in the university, where even the lessons are partly on weekends, not to mention time available for homework.)
Great point. I’m applying to grad school myself right now, twelve years after graduation.
haskell is taught in very few courses that I know of. OCaml is much more widely taught functional statically typed language. Of course math is taught everywhere.
But there’s a MOOC for Haskell on Coursera. And most of their MOOCs (I haven’t taken the Haskell one) start with a blurb about using the course forum, Google and Stack Overflow if you get stuck. Incidentally, Coursera assignments are usually due at midnight GMT on Sunday.
Edit: The Haskell series is on Udemy. I was thinking of a Scala course on Coursera.
My question is: Which tags show the **lowest** weekday-weekend differences, accounting for their popularity in general? In theory, this would indicate languages that people love to use on the weekend, and are also useful in a work environment (Hello, you lovely JavaScript) 🙂
Isn’t that what’s being shown along the “Same” line in the scatterplot in the middle of the post?
And as you called out, JavaScript is practically on the line while also being the most popular tag.
So SharePoint is the one thing people only use when they have to. It’s not all bad … I like the relational database features. So I think we can blame corporate culture (‘nobody ever got fired for buying Microsoft and forcing it on employees’) rather than the product in this case.
First impression is that qualifying tools by now ‘not bad’ they are rather than how good they are is another artifact of corporate culture.
Disclaimer: I don’t know SharePoint.
Starting with “It’s not all bad…” and ending with “rather than the product” makes for a pretty weak argument. I used Sharepoint in the past and unless it’s improved drastically we can definitely blame the product.
Where is ActionScript used these days? People write flash games for their leisure?
Adobe Air with Starling framework is great : http://gamua.com/starling/games/
Target: Mostly on Mobile and then desktop
Web target mostly for games .
Also Adobe is actively develop Adobe AIR SDK with tons features than in 2012
I would haskell you a question but I can’t think of anything
What about the Wolfram Language?
How about measuring by GitHub commits? I did the math!
https://medium.com/@hoffa/the-top-weekend-languages-according-to-githubs-code-6022ea2e33e8
So, I want to know if the author (& data scientist) codes in Julia on the weekend.
I should Haskell 🙂
So people have to work with Microsoft (because their decision makers force them to?), but everybody hates it 🙂
Thanks for good informations but I think you should attention to the locale of users. For example in my country Thursday and Friday are weekend. In most of Muslim countries these days are weekend days.
This is really interesting. Seeing assembly as no 2 on the list makes me very happy. For all the business people trying to shove .NET down our throats at least those doing the work for fun haven’t drank all the cool-ade.
I suggest .Net will be used the most over the all other languages. Just a personal observation. Thanks
It’s an interesting topic to ponder, never thought about that at least. I was looking for some programming languages at the top but I was surprised to find them at the bottom.
Thanks to shearing programing languages are very most commen topic and imp keep it up more and more shearing very nice. thank you very much.
As a former professor, I’d have to say that the weekend list looks suspiciously like languages typically used in CS courses, and I know a lot of students put off project work until the weekends. So, while the question is interesting, I don’t know that I agree with the conclusion. My bet is stack overflow gets heavily hammered by students looking for help w/ assigned projects on the weekends.
This is really interesting. Seeing assembly as no 2 on the list makes me very happy. For all the business people trying to shove .NET down our throats at least those doing the work for fun haven’t drank all the cool-ade.
“used most” is not the language, but its “subdomain” on stackoverflow (corelation vs extrapolation)
guess why so few people seek help on HTML – cos HTML is dead-simple, easy to learn, easy to remember, mostly intuitive
also GUI tools will have less requests, cos they are more self-explanatory (the power-button is probably the one with the power-symbol)
This is an interesting perspective. I spent my weekend learning go Julia programming language because it is related to how I use python with data
Thanks for the interesting post. I enjoyed reading it a lot. Keep it up. Many thanks. I really appreciated it.