Say what you will about Twitter, but is a globally distributed database with trillions of entries, which has to add and sort and display billions of those entries in real-time for 100+ million daily active users. And it has to resist nation-state bad actors doing everything they can to corrupt it.
As a result, I would guess a lot of Twitter's engineers are working on infrastructure, internal tooling, and moderation.
Regarding your example, doubling the size of a tweet, that was probably more work than one dev writing ALTER TABLE tweets MODIFY tweet_text VARCHAR(280). In fact, I don't know if you were around 20 years ago or so, but there was a similarly scoped project to double the number of digits we were storing the year in. ;)
Would you want to date someone who seemed desperate to get into a relationship? Who seemed like they were having trouble getting a relationship at all, let alone a good healthy one? Same principle.
Since these are riffs on fizzbuzz, the goal is just to evaluate whether a candidate can use programming to solve these at all, i.e. whether they can 1) think through how to accomplish a basic task with some data and code, and 2) implement it in a language they know.
The goal of fizzbuzz in a phone screen should not be to see if someone can solve it in an optimal memory-efficient framework-idiomatic way. Clever syntax and data structure use is lovely, but these are really about finding whether someone can use a 'for' loop and an 'if' condition.
For what it's worth, protected branches are pretty clearly listed as a "Github Pro" feature in their pricing page.
I agree that it'd be nice if they warned you about features you're using that will be turned off, but I don't think it's unreasonable to expect that people requesting downgrades understand which features are in which plan.
Maybe this could be suggested to GitHub's Paperclips project, to avoid future confusion?
Agreed. But there were a lot of people celebrating GitHub’s recent free account changes who were saying you no longer needed the pro account; this is a good reminder that you may need the pro account after all and do that check.
Downgrading an account for free should always be treated the same as upgrading an account for money. You gotta consider what you gain and lose in doing so before pulling the trigger without looking first.
Interesting, protected branches come free in GitLab. I never used Github to host my serious repos (I was using Bitbucket as soon as they started providing Git in addition to Hg).
I would suppose that as time passes by, Microsoft will improve the free offering avaialable on their service.
I get your analogy, but I think there are tons of hammer conferences.
There are conferences for most any language with wide adoption. There's also a Slack conference (not "TeamChatConf," but a "Slack Frontiers"). There's a GitHub conf (not "OpenSourceDevCon," but "GitHub Universe"). There is a Datadog conference, and so on and so on.
Maybe C just doesn't have one big company, or an ecosystem of smaller ones, that stand to benefit from gathering a bunch of C devs in one place.
I think the core distinction is business-centric conferences vs developer-centric conferences. You've entirely named the former. Those are geared towards using platforms, and while developers are welcome, they aren't the entirety of the target audience, business professionals (eg MBAs) are just as first-class at those. But Ruby and Python and Swift conferences are going to entirely be geared towards developers.
I think the hammer analogy works better as conferences for building houses (business conferences) vs power tools (developer conferences) vs hand tools (no conferences), the distinction being how quickly can you get to a finished house. A power tool is something that can make houses quickly. A hand tool can be used quickly and efficiently by someone very experienced with them, but power tools can be used by almost anyone.
I'm sure lots of e-commerce companies feel this pressure. Where I work, an Additional Revenue team was created for this kind of thing - sponsored results, ads, cross-sells, etc. It's viewed as free money on the table, since it is relatively easy to estimate the income and the dev work required, but much harder to measure user experience and customer loyalty.
Random unsolicited internet advice: never decide not to apply because you don't feel good enough. We all experience imposter syndrome, and most job postings are just wishlists of unrealistic qualifications copy-pasted by HR anyway (this posting excepted!).
In general, don't disqualify yourself. That's the hiring manager's job. Your job is to qualify yourself: present your best self, and demonstrate professional confidence and competence.
Yeah, good point. if anything, my experience looking at this from the inside is that the bar that is set is much lower than it seems from the job postings.
The inability to filter explicit songs out is maddening! And it's a glaring omission to anyone with young children. I have seen it skip from a My Little Pony song to an explicit Patton Oswalt standup bit (perhaps because he voiced a character once... I have no clue) while my daughter was listening.
Another annoying one is how you can choose an exact song to play on tablet or on PS4, but not from your phone - you can only shuffle play there. Try explaining that to a 5 year old.
That's a bug that's been around for AGES that they still haven't patched. I hate it.
If you force kill the app and reopen it, suddenly you can choose songs(usually). Then after a while, suddenly you can't. It took me months to figure out what was going on because i'd have another phone in my house right there that could do it, then that wouldn't be able to either suddenly...
As a parent, I agree. One should not shy away from talking about "advanced" topics. Kids are naturally curious and bright and I think we should encourage their desire to learn and understand complex things.
I worry that if you try to dumb down things for kids, they might become interested in dumb things. :)
Also, as the OP mentions, it can be a fun "pedagogical challenge" to try to explain free theorems or turing completeness or MySQL sharding to a young child. And you may find a clever way to describe it, that they can easily understand, which is satisfying for both of you.
When my daughter was 10 we were waiting in line to checkout at a Home Depot. She asked me what was algebra. I think she had heard the older kids mention it. I responded with a question. "A plus B = 10, and A minus B = 1. What are the values of A and B?" She puzzled it over while I check out. Then her face lit up like a whole realm of knowledge had just opened up to her, and she proudly told me the answer. It's a special moment that we will both always remember. She told me that as a camp counselor that she has challenged younger kids who seemed bored with the same problem.
Do challenge your kids intellectually beyond their years and you might be pleasantly surprised. My daughter heads to CERN in two weeks to study anti-matter, and I have no doubt that our brief intro to algebra at a Home Depot has a small role to play in that journey. Maybe Star Trek did too :)
As someone who takes pride in having solved the first 100 problems of project Euler, I am slightly ashamed to admit that I probably spent as much time as your daughter to solve that.
I got stuck thinking in integers, and quite quickly left the exercise as an oversight in writing the post (since X + y = even, X - y = odd is impossible for integers)
3 seconds into the first coffee of the day the realisation of my stupidity hit me in the face.
For the posterity: {a+b=10;a-b=1} translates to {a+b=10;a=b
+1}, thus the first equation is ((b+1)+b=10) giving (b=4.5), and from there we get (a=5.5).
I also mentally started thinking about integral solutions. I wonder if it's also because of the variable names... a,b,c tend to be used to represent integers (e.g. Fermat's Last Theorem, Euclid's algorithm etc).
x and y are more commmonly used to represent real numbers.
Random aside: once in high school I took a math puzzle test. The only problem I skipped was because they asked for "integral solutions." I knew the word "integral" only as belonging to calculus, about which I knew nearly nothing at the time. If I had realized in context it just meant "integer" I could have done it!
Thanks for pointing that out. I'll use X and Y next time I share this story. Of course my daughter wouldn't have known at the time about the distinction, and neither did I - it having been too long since doing algebra ;)
I'm not totally sure why. The life living on the boarder between France and Switzerland seems pretty idyllic (but at the end of university you don't think about that so much). I got the feeling it was just that going to work where your dad is isn't very appealing no matter where it is.
Nothing really prevents this; a company I work with does something similar, and as long as you engineer your use of the platforms to be flexible and not rely on platform-specific features (for example MailChimp and SendGrid use slightly different templating approaches, and support different amounts of logic in the templates), it's doable.
This is the same idea as making your system work across availability zones/datacenters/cloud providers. At a certain scale it becomes a good idea.
As a result, I would guess a lot of Twitter's engineers are working on infrastructure, internal tooling, and moderation.
Regarding your example, doubling the size of a tweet, that was probably more work than one dev writing ALTER TABLE tweets MODIFY tweet_text VARCHAR(280). In fact, I don't know if you were around 20 years ago or so, but there was a similarly scoped project to double the number of digits we were storing the year in. ;)