Sarah Mei Profile picture
Sep 30, 2017 44 tweets 5 min read Twitter logo Read on Twitter
Hi, it's too early and my mentions are full of dudes being Very Annoyed that I said (again) that computer science degrees aren't essential.
So, a few things about that.
1. That's a pull quote from a talk I did yesterday that is mostly not about that.
The disconnect between what we interview for and what we actually do has bothered me since I took my first real job in 1998.
My interviews as a fresh CS grad were full of linked list cycles, string comparisons, and pointer arithmetic. All in C.
I did really well at them. I could analyze runtimes & trade off data structures. I figured I knew everything I needed to write software.
Then, I took an actual job.
I was writing COM in C++. I thought, great! I did a little C++ in school. No prob.
Except: there was a LOT of boilerplate. All my coding in school was in individual text files, not inside a framework like this.
Navigating the codebase was totally bewildering. The coding itself was easy - figuring out where to PUT my code was the hard part.
I had also never used source control before, unless you count directories full of tarballs with names like project_backup_01.tar 😅
I had also never used an IDE before. In school it was all vi - now I was staring down Visual Studio.
That first year, I spent maybe 5% of my brainpower on _anything_ I learned in school.
The other 95%:
- merging takes literal weeks, I should maybe just make tarballs
- these dudes aren't listening to my suggestions
- fuck where's my code, did the file get overwritten??? fuck
- whyyyy won't VS just show me the file tree
- the PM gets annoyed when I want to talk about his vague "requirements"
- oh well, I guess I'll make something up?
- OMG HELP
I thought it was the job. So I started interviewing other places. More whiteboarding pointer operations! I was back in my element.
Oddly enough the jobs were mostly for java (then the new hotness - think node today) and java didn't have pointers 🤔
You'll Never Guess What Happened Next
Like most bleeding edge stacks, writing Java was 5% coding & 95% "getting shit to work."
Fiddling with config files, reading sparse documentation, does this even run on apache?, ops dude won't help, says VMs are toys/a fad
The pattern across all these jobs: CS fundamental quiz as interview, then once hired, find the job needs a totally different set of skills.
There exist jobs that use CS fundamentals more directly. Just look at my mentions, dudes love to tell me about them.
But for most jobs, the CS fundamentals interview serves more as a tribal marker than as a test of anything you'll actually do.
Knowing how to find the cycle in a linked list is a shibboleth - an in group/out group determination.
I knew the secret handshake, so I got in. But someone who didn't know it could have still done the job.
Possibly better, given how long it took me to learn how to people.
We fetishize code, like being able to write correct, efficient code is the most important skill to have in a dev job.
We're kidding ourselves. Code is one skill among many that makes a successful developer.
Code (including CS fundamentals like data structures & complexity) is also the dev skill that it's easiest to practice & get better at.
It's much less straightforward to practice, for example, convincing your ops person to put the bleeding edge into prod.
Where's the wikioedia page or #basecs blog post for that? :p
So anyway. That's why I said yesterday in my talk:
In the context of the talk, this was one of a list of things that indicate to me that our whole model for software is wrong.
Others include: if what we're doing is engineering, why is nothing ever repeatable?
If what we're doing is like building something physical (a "product") then why is software never done?
Our current model for software is that it's fundamentally math or engineering.
Like any model, it leads us to focus on and value those aspects, while ignoring or devaluing others.
But don't confuse model with essence, like people do when they say things like "code is math."
I think the math/engineering model for software has outlived its usefulness to us. That's what the talk was about.
We need a model that explains our modern experience of software better.
We need a model for software that answers the questions I posed, including "why do CS fundamentals only come up in interviews?"
In the talk (which is called @LivableCode and has its own twitter account - that's branding™) I propose an interior space model.
It's an extension & elaboration of this set of thoughts: twitter.com/i/moments/8433…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Sarah Mei

Sarah Mei Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @sarahmei

Oct 4, 2018
IMPORTANT: responding to hundreds of boring misogynists has finally led me to a conclusion

✨🔥Benedict Cumberbatch looking disappointed is hot af🔥✨
Read 12 tweets
Oct 2, 2018
I am 1000% unsurprised that Kavanaugh's best friend Mark Judge is pro-gamergate.
All the nazi assholes we're dealing with now - Milo, Bannon, Breitbart, etc. - all cut their teeth on gamergate.

They targeted women for abuse, spun fake stories about why, & then noticed that NOBODY in charge did JACK SHIT either about their lies, or the harm they caused.
Then the gamergate folks took those tactics, and applied them to an entire election. et voila, the dark timeline began.

So! If you participated in gamergate - thanks, asshole. You got played by the nazis, and your stupidity took the entire fucking country down.
Read 12 tweets
Oct 2, 2018
Equality is one of Salesforce’s core values, which is entirely consistent with helping all our open source projects adopt well-thought-out & inclusive codes of conduct.

If you think tagging a random execs into your ranting will get me to be quiet...you don’t know me very well.😊
Hey @CenterPolitical - you missed the exec I roll up to, @btaylor, the group I’m in, @salesforceux, and our Chief Equality Officer, @tony_prophet.

Next time you want to threaten someone’s employment, at least do enough research ahead of time to get the people right.🙄
All big companies have issues (& astute searchers will find recent articles about Salesforce’s).

But identifying & closing the gaps between our values and our actions is literally written into my goals for the year.

And, I might add, into Marc’s goals for the year, as well.
Read 4 tweets
Oct 1, 2018
Men, the best thing you can do today is be quiet and retweet women. Let’s have a day where we wonder where all the men are.
If you want more feminists in the world, this advice actually isn't terrible. Having my first baby (while married & unemployed) was my radicalizing event. It was at that point I realized that my wider society wasn't interested in supporting me. So....🤔 A screenshot of a tweet from @PipesAreCallin, wherein they advise me to stop working, get married, have babies, and stay in the house to be more happy, ending with a clumsy insult about how men wouldn't be interested in marrying me.
Replies like this are fascinating. First there's the naked statement of what they actually want (in this case, to not see any women in their timeline), & then the clumsy & transparent attempt to feign solidarity. They seem to imagine that I think all men are stoopid (sic).🤣 A screenshot of a tweet from @skoolis4suckers, wherein they say that WELL ACTUALLY, we need men to tweet twice as much today (which is what they actually want), and then wrapping up with a clumsy and transparent attempt to claim solidarity with women. Nice try, I guess?
Read 36 tweets
Sep 27, 2018
The pro-bullying Linux zealots were out in force today, mostly while I was away having fantastic conversations with actual people at Dreamforce.

I figure some terrible chan or subreddit must have sent them over.
There were so many that I ran out of time to find enough appropriately dismissive gifs. I had to just mute a bunch of them with no gif response :(
But! The good news is I did keep count. I muted 52 people, and in keeping with my pledge to donate $50 for each muted misogynist asshole to @ProjAlloy, that’s $2600 I will donate to send folks from underrepresented groups to tech conferences.

Thanks pro-bullying Linux dudes!
Read 5 tweets
Sep 25, 2018
I'm working on this too!

I'm also working on using "they/them" when I'm referring to someone I don't have explicit pronouns for, rather than assuming she/her or he/him based on first name & presentation. I'm finding that one awkward sometimes, but mostly in a good way.
Another one on my list. I often use "ridiculous" instead.
Another thing I've been working on when addressing an audience (like in a conference talk). Instead of "Good morning ladies & gentlemen" I've been going for "Good morning everyone" or "Good morning [conference name]"
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(