Hacker News new | past | comments | ask | show | jobs | submit login
The First Rule of Microsoft Excel: Don’t Tell Anyone You’re Good at It (wsj.com)
678 points by sonabinu on Oct 5, 2018 | hide | past | favorite | 413 comments

You know who's awesome at Excel? Martin Shkreli. You know, the Wall Street asshole who's in jail now? A while back, someone told me "hey, dude, there are these videos on YouTube where Martin Shkreli uses Excel, and they're fucking magic. It's like the first time you watched someone who's really good at Vim. "

It's true: [0]. Say what you will about that little heartless douchebag, he's fucking awesome at using Excel.

[0]: https://www.youtube.com/watch?v=jFSf5YhYQbw

Does being good at excel mean that one knows the shortcuts of navigation? The video indeed showed that Martin knew his ALT+, CTRL+ etc., but is that what differentiates an excel pro from a newbie? I thought that 'knowing' excel goes much deeper than the navigational shortcuts: solver, array formulas, powerpivot, vba etc. etc. - this is what I'd call more sophisticated excel features. If someone clicks the number format dialog or hits ctrl+! and then goes from there, surely shows if someone uses excel every day but not if he 'knows' excel.

In my 25+ years of using Excel, here's what makes a pro:

1. Someone who knows how to use two dimensional TABLE()s and vector functions. 2. Someone who can implement an imperative convergence (such as Newton/Raphson or non-plug-in goal seek) 3. Someone who can audit their dependencies and not shit out dozens of unused vars 4. Someone who knows the limit is 10 sheets and 20MB. :)

Visual Basic and shortcuts do not a pro make. VB makes Excel =less= usable, IMHO because now there is an extra dimension to debugging that requires understand each Macro and what it touches: it breaks the entire philosophy of show formulas + auditing.

Yes, this sounds like /r/iamverysmart and /r/gatekeeping, but I'll own that.

>Someone who knows the limit is 10 sheets and 20MB. :)

Hahaha. Isn’t that the truth.

It’s come to a point that there is only one true workflow for actual business excel work.

1) Back up your source data and then never touch it.

2) Clean source data, make sure you use tables.

3) As soon as possible, separate data from calculation.

All work, will probably be used more than once. So there is never really anything like “scratch work”. So when you open excel make it a point for it to be readable.

I’ve taken To ensuring calculated fields are at the end of the table. With a column header indicating that this is not native to the original data set.

Document your weird steps.

Before you get anywhere near this point, why not just use a real database and programming language?

Db and programming language will give you a backend. You'll still need a front end to display the info, and Excel is great at that. Not to mention you can send an Excel file by email, but you can't just send Docker containers to your clients and colleagues to run your spreadsheet.

Or just send the payload exported as JSON/CSV. We keep all kinds of project-relevant information in Word-/Excel-documents even checked into source control - plus these documents are used as a means to poll data from the customer. I'm actively fighting this terrible practice by writing some simple CRUD UIs (currently with React, but .NET would be a good choice too), to be able to transform project parameters influencing application configuration on our and on the customer side.

I’ve wondered on more than one occasion how many business problems could be solved much more quickly by just using excel as the front end gui/view instead of using some heavy weight client technology or worse, a web app.

That’s when you upgrade to Microsoft access

I have said these EXACT words, my good friend!

Short answer:

- Corporate inertia + familiarity + fear

Very long answer (rant warning):

- The XLS was used by multiple teams, from multiple sites, from multiple projects. It drove project-level decision making at the VP level. The person who wrote it was a genius, but there was no documentation or commenting, and over the decade after he left, it bloated Akira-style: many grubby hands had perverted it beyond its original use.

[Imagine if someone had written the most beautiful C++ & Boost (or C & GLib) numerical methods code, and then some boner noob came along and inserted their own bubblesort because they didn't understand Boost ... yeah, that kind of perversion.]

But because it was so important, and fed so many OTHER spreadsheets, it remains like a brain tumor pressing up against a spot so vital it could not be removed. I did a partial conversion to JavaScript and a MongoDB, but that was roundly shat upon because the main users weren't programmers and refused.

This is how very large companies work. (Most of the time.)

Because there’s too much overhead, it’s too hard to share, and the benefits don’t show up until the problem is more complex than most people ever need.

I mean with a Python and Jupyter Notebook workflow it is incredibly easy to share the work and understand what's going on if there's base level of knowledge.

All the simple formula stuff and basic data handling (using Pandas) would be incredibly easy to learn for pros at Excel.

> 4. Someone who knows the limit is 10 sheets and 20MB

Excel can now deal with many gigs of data thanks to PowerPivot and the addition of an in-memory database.

it's not excel that's the problem - it's you or your replacement 6 months later trying to reverse engineer the iterated solution that you willed into being... ;-)

Truer words have never been spoken.


"Excel THINKS IT CAN DEAL with many gigs of data thanks to PowerPivot and the addition of an in-memory database."

It's so cute when I hit ctrl-downarrow on a blank sheet and Excel sends me to row 1,048,576. Wishful thinking because if I ever filled 1M cells with functions, well... lololololol... time to use JMP...

Cisco Global Pricelist, there are still not enough lines in .xlsx to cover all their products

If you're putting the data in Excel's new data model, this is no longer a problem. I regularly have files with tens of millions of rows of data which pivot tables can work against with sub-second aggregations across multiple columns.

You busted me: I guess that's my age showing because I didn't know Excel -had- a new data model.

What's it called and how is it different than sheets, and when was it introduced? I was using Excel2013 up until I left the project in 2014.

Is this in 2016, and do you have to do anything specific to make it load large data sets ?

Actually much earlier in 2012, when Excel first shipped with xVelocity branded PowerPivot. It supports a new data model that reminds me of Microsoft Access in some ways (drag & drop relationships etc). This is a whole different beast from copy/pasting data into sheets - in fact, the data doesn't show up in sheets by default and you usually have to add other things (like pivot tables) to take advantage of it.

Microsoft is a sleeping giant in BI self-service right now, and the things they've been "quietly" adding (only if you don't follow them) are actually very compelling. I actually run a Windows VM on my MBP just so I can run Power BI.

Is this power bi..? Ah, I think it is. I’ve really tried to get up to speed with it, but it feels so alien to normal excel in many ways. I feel an existential dread when I drop a column in power BI.

But yeah, it’s very powerful. It’s very sql like in the way you have to treat actions and data.

Yes and no. Power BI is a mixed cloud/desktop thing - the desktop GUI for creating reports/charts is actually pretty cool. PowerPivot and Power Query in Excel are add-ons that tack on the same analytical engine that Microsoft purchased to power new features in SQL Server. I believe MS is branding this all now as Power BI, but it's still a little confusing to be honest.

In the Power BI desktop app you can connect to standard RDBMS' like MySQL, Postgres, or SQL Server and basically it works like Tableau. The really interesting part is you can export these data sources and hook them into Excel (local or via the cloud).

> It’s very sql like

It should be, this is essentially using Excel as an GUI on top of technology designed to run an analytics RDBMS. It actually is an entirely separate interface from Excel and feels bolted on after-the-fact.

Here's an example of the PowerPivot Excel add-on screens:

https://i2.wp.com/www.kasperonbi.com/wp-content/uploads/2010... https://i.ytimg.com/vi/NDO6MpT70PM/maxresdefault.jpg


I'm guessing you've never used these features if this is your comment.

I still deal with people that are limited to 65535 rows.

Also, use of named cells and ranges. Names make formulas much more readable!

Over 10 sheets and 20mb what should one switch to? Start a database?

Being good at excel means knowing your shortcuts, plus knowing the content of this website by heart:


Straight from the 90s (which is cool, functionally excel hasn’t really evolved since)!

>little heartless douchebag

Steal money from poor people? No problem, just a small fine. Steal money from rich people? Off to jail you go. I'm not saying that what Martin Shkreli did was right, i.e. he did not go to jail for raising the prices on medicine (for which he had good reasons). He went to jail for lying to investors in a sort of Ponzi scheme using new investments to pay off old debts.

Neither action was right, but it’s not fair to frame this as the same action in both cases with the only difference being whether the victims were rich or poor.

The price hike was rent seeking, not stealing, it didn’t depend on any lies, and it was legal. Plus, the goal was to get the money from insurance companies, not from patients. The investment fraud required lying, it was stealing, and it was illegal.

The drug price hike may have been justified with lies, I’m not claiming there weren’t any lies, but buying the rights, hiking the price, and getting the money didn’t require any lying, and it was done in full public view.

He had reasons. I think the reason is called greed. Whether or not you consider greed a good reason is your call.

>>You know, the Wall Street ... who's in jail now?

He is a seriously misunderstood figure. Have watched his YouTube videos too, not just the investment class but also his working sessions. Sure his excel skills are legendary.

But I learned a lot from him about skills, learning and mastery. Merely watching him work not only motivated me. But gave me tremendous perspective on time, its utility to life and how skills and knowledge need to work in general.

This guy has legendary skills in investing world. But apart from that he was always reading a book or two. He was doing organic chemistry, chess, playing guitar, learning programming and interests in wide variety of topics in economics.

He was first genuine example of 10k hour practice I have watched live in practice.

You also get to look into the mind of this guy, and see what's at the core of it, and you see most is basically 'knowledge and practice'.

> This guy has legendary skills in investing world

No, he doesn’t. He seems clever, but is clearly a sociopath. He has very few winners on his books, all of which were high-vol high-beta bets in a bull market, and almost wiped out his fund in a short period of time. There are so many better investing role models than Shkreli.

Agreed. He really is an inspiration. In jail he's spending his time reading and learning, which you can follow along with on his blog. He's a very intelligent guy and I think he's almost like an anti-hero who's bad at portraying himself. I think if he played his cards right he'd paid a fine and spent no time in jail, but he had way too much fun stirring up a scene.

I largely believe now that the left movements across the world have degraded to making a virtue out of laziness, poverty and people lack of ability to take initiative.

There was no way this guy could have survived, in fact Martin should have spent time learning a little politics too.

If you have the kind of skills, motivated enough, have ability to take initiatives and overall quality of human enterprise that this guy has you are bound to attract envy, spite and more importantly people just want to see the end of you for being a live anti thesis to their lives.

I have a feeling that people won't relax until they see Elon Musk meeting the same fate too.

"This guy has legendary skills in investing world.."

No way. I don't know anyone that thinks that. What is your basis for thinking that?

And BTW, he's not that good at excel either.

And his ethics...


He is fast typing but I've seen spreadsheet jockeys do a lot more work much faster. They know all the shortcuts. They know all the obscure functions.

One powerful use of Excel is through Apache POI. Replace VB with the language of your choice, run all your logic and tests in that language, and spit out a spreadsheet at the end of it, all neatly formatted for your end users.

And looking at the video, I'd say that's a slightly above average level of excel skill compared to what you can find sometimes on trading floors.

To think he could have chalked up the price hikes to an Excel formatting error! I think we all would have related.

Real missed opportunity.

But maybe he’s so good, nobody would have believed he made an error.

Or maybe he did make an error, but didn’t want to admit it to avoid damaging his “l33t excel skillz” rep. That would be the stuff of legend.

It's a long video is there a specific point where the magic happens? I skipped around and all I saw was him copying and pasting and setting up basic algebra formulas.

At least he didn't build any Autobahns.

Say what you will about that little heartless douchebag

There's no reason to couch your comment like this. He's not a heartless douchebag, and the claims of him causing medicine shortages were greatly exaggerated.

Citation needed? Seriously, if there's evidence to morally exhonerate him, let it be public information.

Thanks for posting the video. Please do some research on Martin's story.

Where would I start? I know next to nothing about that guy besides the headlines about the drug price raise. Wikipedia doesn't paint a brighter picture either tbh.

Wikipedia, contrary to popular belief, has immense bias on particular topics, depending on the editors involved in a particular article.

Hence the question.

He's not heartless, but he is very often slandered and misunderstood.

> very often slandered and misunderstood.

You mean the guy who wrote this? Clearly, he's a diamond in the rough /s.

'Then a letter from Mr. Shkreli came to his home, addressed to his wife.

“Your husband has stolen $1.6 million from me,” it read.

“Your pathetic excuse of a husband,” the letter added, “needs to get a real job that does not depend on fraud to succeed.”

“I hope to see you and your four children homeless,” the letter said. “I will do whatever I can to assure this. Your husband’s arrogance is infuriating, and making an enemy out of me is a mistake.”'

-NYTimes, 18 July 2017 https://www.nytimes.com/2017/07/18/business/dealbook/former-...

Yes. I've said worse to people over much less myself. And I'm a nice guy too.

You've threatened someone's wife and children because of an alleged crime commited by their husband/father?

On the advice of counsel I invoke my Fifth Amendment privilege against self-incrimination, and respectfully decline to answer your question.

Is this Poe's law at work?

If you think that kind of reaction is out of line, please kindly let me know where you keep your 1.6 million dollars. Thanks.

It is out of line. It's one thing to be angry at a person, another to wish bad things on their family/children who likely had no part is the issue.

Any time we find ourselves benefactors of evil, we must advocate against it and thank anyone who may have explained to us where we stand.

Advocating against bad actions is different than going homeless because your parents did something wrong. You can't assume that they didn't and can't assume they deserve any punishment for what their parents do.

If a man does terrible things to support his family, the inevitable destruction of his family falls on his head. Not the other people he ripped off.

It's pointless to ask any of these peanut gallery NPCs where they keep their 1.6 million dollars, because their milquetoast "peace and love, maaaan" world view guarantees they will never have what it takes to earn such an amount in the first place.

He was unfairly maligned about the medication thing. After that he decided to play troll but got arrogant and took it too far.

Why do you people always feel the need to make statements about Shkreli, Trump, etc. in a format like "he's an asshole, but X"?

Why not just say X?

Please watch your language. And like most things, shrekli wasn't as evil as the media paints him out to be and equally, he wasn't as great as his supporters think he is.

Errr....sorry, but, respectfully: fuck you, this is the Internet.

There are plenty of people whp are great at excel but you chose to talk about him. Don't give that guy any more attention. Thats what he wants. Lets all just forget about him and go on with our lives.

It is sad to me how effective the smear campaign against Shkreli was.

Insurance firms send a clear message- fuck with us and we completely ruin you.

And before anybody downvotes me- please inform yourself- not a single person had to pay a penny more than what they had to pay before the price increase, except the insurance firms.

Customers definitely had to.

Here’s vanity fair, with their profile on him.


He went to jail for securities fraud. If he is as smart as he and others say he is, then his culpability is absolute.

I can be sympathetic, but not willfully blind to actual fault.

You realize that insurance companies pass their costs to their customers, right?

I thought the point of insurance companies was that the customers wouldn't pay the full cost.

The point of insurance is that the customers pay the full cost. (And a little extra). It's just that customers share the full cost of all the customers, not their individual costs.

The point of insurance companies is to hedge against financial scenarios that you cannot otherwise plan for.

There's no world in which adding a middleman for a regular and ongoing service lowers the overall cost of that service.

It's passed on in aggregate, spreading the burden. Except now the burden gets heavier for all because some companies find a way to leverage the most vulnerable.

So, there is such a thing as a free lunch?

The funny thing is you're being glib, but Markowitz literally is quoted as saying diversification is the closest thing there is in finance to a free lunch.

Diversification? An insurance policy is a wager made with one party on a series of closely related events. There's nothing diverse about it, from the consumer standpoint. Some diversification is possible for the insurance firm itself, although there are limits to that so most firms purchase reinsurance.

Of course it's diversification. Instead of being short your own illness only, you enter a swap where you receive coverage for your own illness (thus being flat on that clump risk), and pay a small floating leg covering (a small proportion of) everyone's illness. You have much smaller variance, but the same expected return (minus administration costs) - just like any diversification.

There was no campaign. Nobody met in a smoke filled room and decided they were going to ruin the guy's life. What actuallu happened was the guy was a douchebag, and people called him out for it.

HN is the only place I find people defending that guy. I suspect it's because this forum is full of douchebags who identify with him.

Humans are complex creatures with many facets, and a crime and shitty PR doesn't change that. Most people don't defend criminals or unpopular opinions as to avoid alienation and judgement.

Generalizing people or groups of people over shallow associations says more about the commenter than those commented on.

Or maybe he is a peer of ours and we actually know something about him beyond ridiculous and disgusting media depictions.

Here's a fun question for you as an HN'er: what was the name of Shkreli's pharmaceutical company?

Starts with R? Checks... retrophin.

Shkreli was one of many finance types who have fully drunk the koolaid. He is not alone, and the others too would be prosecuted if people had the time and awareness to be incensed with the culture.

In his defense, shkrelli didn’t know he was a tool. On the one hand singing praises of the free market and on the other taking advantage of every loophole someone could find.

I mean the argument that “no body has to pay a dime more.” Is so patently ludicrous for someone who works in finance, that it can only be called disingenuous.

The difference between HN and New York is that finance thinks it’s ok. HN was founded by people/culture who saw Wall Street as everything they didn’t want to be. (And now a sad reminder of how money changes perception)

Finance people don’t think this type of behavior is OK either despite the ridiculous views of some people here.

BTW, I could similarly make ridiculous statements about technologists or scientists.

I’ve worked number of places and can’t think of a single person out of hundreds that would think this behavior is OK.

I know many those who don’t think it’s ok, and are bothered by it, and many who think he is stupid and didn’t do anything particularly wrong. The morality of it is separated from the legality of it.

The defense on this issue is pretty clear cut, raising the price is not illegal. If there is something illegal, then it should be in a regulation somewhere.

If he is doing something the market is open to, then it’s not a problem and he is doing a service by forcing the market or regulators to respond.

Maybe he was a douche about it, but that’s a stylistic issue, not a practical one.

He did get dinged for securities fraud, not price gouging as I recall.

> Starts with R? Checks... retrophin.

No. Starts with T. Turing Pharmaceuticals.

Retrophin was his first pharma firm, the one he made after leaving his hedge fund.

That firm later sued him.

Turing was his second pharma firm. Made soon after his ouster/leaving.

And it was Turing that raised the price of Daraprim, which earned Shkreli the attention and reputation still being echoed in this thread.

You’ve never seen /r/wallstreetbets then

Really, dude? That made you “sad”?

If we're sharing awesome excel videos, You Suck at Excel with Joel Spolsky has to be among the best I've ever seen. Joel, being on the team that made excel, has an incredible amount of excel knowledge.

The video is meant to be in the same vein as the You Suck at Photoshop videos. https://www.youtube.com/watch?v=0nbkaYsR94c

20 minutes in: the dawning horror that, yes, I'm watching a video about Excel for fun

using excel isn't not fun, it's just that the mental complexity of excel is offloaded to the user. the user keeps track of the various computations and transformations. anything more than a quick check on some data exponentially taxes the brain leading to an ever increasing dislike of the software

being handed someone else's excel sheet is an infuriating experience because they're also handing you whatever convoluted mental model they used

In investment banking, one of the first things you are taught is excel formatting and how to write readable excel. How to write clear and concise comments, what color different cell types should be (black for formulas, blue for inputs, green for links to other cells, red for weird formulas), how to structure large files (when to make a new tab vs keeping a monolithic file), when to break up a formula into multiple cells so it is easier to understand, even that you need to hit "ctrl home" before you save so that the next person to open the file starts at the right place (the group that trained me called it "turning off the lights before you leave a room")

So if someone is good at exce you can easily understand what they're doing and why they did it

I'm intrigued by this, are these standard codified and documented anywhere? Would love to know more about Excel best practices.

I'm not sure if there is public documentation on this, but investment banks definitely have training materials that document it.

A lot of it is just high level stylistic suggestions, sort of like the Python style guide, though some are more specific

The strangest one I remember is: when you are summing a column, put one row in between the cell with the sum and the bottom-most number to be summed. Change the row height to something like 10% of normal cell height and in the cell in the new row, right above the cell with the sum, add a set of dashes (-------).

I don't remember why we were told to do this but definitely remember doing it, and in my next job people laughing at that habit. I think that it ensures that, when you add a new row to the column to be summed, that your sum formula automatically picks up the new row

They have standardized their mental models

Which cannot be said for software engineers.

This is called "Architecture" or "Code Patterns".

It can absolutely be said for Software Engineers. It just can't be said of every Software Engineering Org.

Would be nice if someone had documented these conventions somewhere.

When I was in the agency world, I was frequently inheriting spreadsheets from other teams that needed to be updated with new data, or often overhauled completely.

You definitely have a lot of moments similar to reviewing others' code where you go "Hmmm, this doesn't seem to make sense. Am I missing something? Or did they just do this flat out wrong?" Often the answer was "yes."

There's also a radical spectrum of Excel skills (much like coding). I took a 50MB Excel report that took hours to update manually and brought it down to <1MB that refreshed when you clicked a button via web queries. There were significant savings for the agency as a result as that had to be updated weekly, simply from cleaning up a spreadsheet.

Whenever possible now, if I suspect a spreadsheet tool or report I've built is too complex to grok just by quick perusal of some formulas and clear naming conventions, I document the hell out of it in a separate sheet or our knowledgebase. The pain of deciphering those things is real, and I would never wish it on anyone.

I would say that they're _not_ handing you their mental model. Instead using their spreadsheet forces you to come up with a mental model which is congruent to theirs.

On ships they sound the tanks daily (water, oil, fuel) and use the depths to calculate the volumes. There are dozens of tanks. Part of my job was then to use that data to figure out the change in the ship's draft from day to day. Which could be done two ways: drawing lines on Xerox copies of an odd set of nomograms, or brute calculation. I found the nomograms fraught with opportunities for error. Luckily the oil king responsible for the soundings kept them in Excel. So I wrote a sheet that took his data and did all the brute force calculations. So when he printed the daily soundings, instead of handing them to me, the draft report just printed out as the next page. It was more accurate and saved me 1-2 hours a day. And looked nice and crisp coming off the laser printer. Everyone thought I was a magician.

The guy who took over for me had a nervous breakdown.

And here's the HN discussion from when the Spolsky video was posted[1], with the Shkreli link as the top comment. Over 400 comments.

1: https://news.ycombinator.com/item?id=12448545

Huh, I knew I saw this Spolsky vs Shkreli Excel mastery comparison. Thought it was just a dejavu, or something.

sweats, "what don't I know?", watches hour long video (v. quickly), wipes brow "phew - it's just basic".

You mean we had access to Basic in Excel for all this time? I'm really behind the curve!

not Access to Basic, just Basic

I see what you did there :D

Yes, the only thing I learned is that Spolsky is kind of an ass.

You get a perceived performance boost when you get a keyboard with a sonorous click.

Ya, I never get comments anymore on how fast I type now that I switched to a chicklet style keyboard from my mechanical. You can still hear the clicking, but it doesn't sound nearly as fast.

He's got a Bloomberg console and he's typing data manually from a PDF into Excel. That's just got to be the incorrect workflow. If not, there is room for huge improvement in financial tools.

I used to work for a financial services company. Their main product was a 30 year old cobol program used by many large banks.

Some of them would use our software to print various reports and then manually enter those printed values in to excel.

Even worse, the software could export to a format excel could process so it wasn't necessary in the first place.

Don't expect to be disrupting banking anytime soon though. Banks are incredibly risk averse, especially when it comes to messing with expensive legacy software that has been working for decades.

At one point, one of the company's customers did an investigation to see how much it would cost to replace the software, and it was close to 9 figures, and so they decided it was more cost effective just to continue paying the multi-million dollar yearly licenses.

> At one point, one of the company's customers did an investigation to see how much it would cost to replace the software, and it was close to 9 figures, and so they decided it was more cost effective just to continue paying the multi-million dollar yearly licenses.

A bank I've worked at had a project to replace lots of bank's legacy (Mainframes and Cobol) with Java on Linux. The project's budget was over 1 billion dollars and it was estimated to take 5 years.

The company I worked for tried to rewrite everything in Java twice.

Both attempts cost millions, both were abandoned.

The lessons (and pain) from the first attempt were ignored because not enough of the upper management were still around, and the only people who remembered the pain were the rank and file, who were ignored by the new upper management types looking to leave their mark on the product.

There is value in thinking about the numbers as you build a model. Manually typing them in helps.

Just like Zed Shaw's LPTHW tells you to type in the code from the book, and not copy-paste.

I asked Shkreli about why he didn't automate his process, once, during his live stream. He quipped back that he'd been doing this for long enough to know how to do it and that I wasn't the first to ask him. Never did get a clear answer; but I'm assuming it has to do with what rahimnathwani said.

I thought this too - those earning reports can't be put through an API?

It is interesting to see how many of the things that could not be done in Google sheets when that video was made are now available.

Yew. But Sckirelli's are better.

Shameless plug - we actually founded a service [1] that provides Excel experts on-demand, within 30 to 60 seconds. So if you're tired of being the "Excel expert" at work feel free to pass them on to us. Also happy to answer any questions.

Tidbit: Most popular questions tend to be formulas, vlookups, conditional formatting, pivots.

[1] https://www.excelchat.co

Word of advice - slow down your sliders. I read at an absurdly fast pace and I barely finish the "Our Experts" excerpts before it scrolls. I know, from testing, that I can mouse over them to pause them but that isn't intuitive to people who don't build these sorts of things as their day job.

That being said - bookmarked. I've needed this in the past and while I may not need it right now I probably will in the future.

This is why auto-sliding sliders with text are always a terrible idea. You can never sync them to all users read speed, so some always think they are too fast, and some always think they are too slow.

They should be able to be paused, controlled for prev/next movement, last a minimum of 3 seconds (and longer for large pieces of text). If it is too slow the user can click "next" without it being an annoying experience. If it is too fast - even with the ability to go back - it is an annoying experience without the ability to pause it. But it is always better to be too slow than to be too fast.

My honest advice would be [1] and it should be designed in such a way that all reviews are visible, perhaps in 3 columns, instead of a stupid carousel slider. But slowing down the slider would be more trivial - as I expect very few people are actually able to read all of the text of any of the excerpts before it changes on them.

[0] https://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-pause...

[1] http://shouldiuseacarousel.com/

thanks for the pointers.. passing them on to our UI designer.

Pretty good advice - the sliders are incredibly fast. (I'm not a fast reader though).

Oh my god what an idea.

Ill take a serious look. Theoretically, this could be a huge boon for all the small businesses I work with.

I spreadsheet on my own for fun to solve physics problems and do video games calculations. I will take my free trial for sure.

cool, glad you like the idea. lmk how your session goes!

Nice idea, and the monetization pricing seems on point without being excessive. How do you vet the 'experts' for your service? How do I know using your service, that expert will be 'better than me' ?

so all experts are tested on insanely tough excel tests before being allowed to join the platform. And their explanations are audited on ongoing basis. So.. we think it nails it!

Is it english only?

yes, currently all English. But the expert opens a shared sheet that you work together in, so you can collaborate in Google sheet or Excel. Hope that makes up for English only

Ok, very interesting, will pass it up to some friends, thanks!

Cool - bookmarked!

awesome!!!!! Can't wait to use this.

People say "use a real database", fine, but where is the visual data entry? Where are the easy adhoc reports? Where are the forms? I guess if you're on Windows you can use Microsoft Access, but that's the only accesible tool I know of that doesn't require a team of programmers or an enterprise license for some Oracle/SAP type monstrosity.

This was my reaction to Flash. It's not a "real" programming environment is what everyone told me. Yea but it was a great authoring tool for non hard-core programmers. I helped a designer write a few simple puzzle games in Flash and it was overall a productive experience. Had I attempted to do that in html/JS I'm not sure it would have gone so smoothly. I haven't tried to write web games in the last 10 years so maybe there's some collection of html/JS tools that lets me develop in a similarly. I'm willing to bet though they're 10x harder to set up and require command-line knowledge (fine for me, not so much my designer friend).

Flash (aka Adobe Animate), at this point, is an HTML5 authoring tool.

Has anything replaced Flash as a productive way to build animated games?


I used to sneer at such tools, considering them "not real gamedev". That was until, on one local edition of Global Game Jam, a designer in our team did in Construct in 15 minutes what took three of us coders a couple hours. This drove home the point that we were really overcomplicating things by coding a simple game from scratch (in XNA, back then).


[0] - https://www.scirra.com/construct2 is the one I played with, but they also seem to have a web version now, for better or worse, which is available at https://www.scirra.com/

Unity / Unreal (which can be quite accessible for projects that constrain themselves to built in features & asset store components)

I use PostgreSQL, which is a real database. I use DBeaver as the database manager. It allows me to enter data by typing it in. For reports, I query the data. It has autocomplete. No forms.

For presentation, I toss the data on Excel. Bold the headers. Change the number type (pct, $, etc) to the correct one.

I would say that it has made my life a lot easier. There is one repository where the data is held. If I mess up, I go back to the master tables. In Excel, I would usually start over. Joins are easy. Excel can do some things better. When it can, then I use it. It's not a one or the other. It's ok to use both.

Me too but throw in MariaDB as well (I'm not exactly bi-lingual but can speak both with a dodgy accent and know some words better in one and some in the other.) I use Libre Office because Excel doesn't work very well on Arch Linux out of the box.

Not having a good data entry gui is the biggest benefit of not-excel in my experience. 90% of the time your data has a real source that's not "Jim's head" and you should find a way to impute the data from that source directly, avoiding the ever-present inaccuracies that come from human-imputed data.

Was the typo to drive home your point?

My guess is that they meant this definition of impute, and are advocating for removing Jim's inferences entirely.

Impute (finance):

assign (a value) to something by inference from the value of the products or processes to which it contributes.

Also, even when you need human entered data, a spreadsheet is waaaaay too easy to make typos with, like putting things in the wrong row/column, overwriting previous entries, etc. Use a form.

Also, Excel is installed everywhere by default & not blocked by IT. Try getting approval to use Anaconda...

I read a thing a few months back about some Western game developers collaborating with Japanese counterparts for the first time, and their biggest surprise was that a whole lot of game data is stored in an Excel file during development. If you want to change an enemy's stats or a physics parameter, you don't dig through config files with a text editor, you just pull up the spreadsheet. Reportedly it made a lot of tweak-test-repeat work much quicker.

Trivia: Diablo 2 stores its data as tab-separated value files. Some of those files have more columns than Excel could support at the time… so the modding community made their own editors.

I don’t understand how editing a number in an excel file is any easier than editing a number in a text file. What was it that made the difference?

Probably table representation. It's relatively hard to implement something similar using text format. You can have row for every unit in the game with columns corresponding to various characteristics. It looks very natural in Excel, but it would require quite a lot of formatting and errors with text file. Also Excel could have formulas which might be useful somewhere and supporting formulas in config file is another level of complexity and almost certainly it'll be worse than Excel.

Then use a real database. You probably have a SQLite dependency anyway, so take advantage of it.

Or don't, since SCMs are much better at diffing plain text than either.

> Also Excel could have formulas which might be useful somewhere and supporting formulas in config file is another level of complexity and almost certainly it'll be worse than Excel.

You'll have an easier time reimplementing Excel's formula system than basic arithmetic? I find that hard to believe.

> You'll have an easier time reimplementing Excel's formula system than basic arithmetic? I find that hard to believe.

I'm not sure you understood what the parent was saying? This seems like a non sequitur.

In a spreadsheet, derived values can be updated instantly. Say you want to upgrade a bandit from leather armor to chainmail (6 or so equipment items changed), and then verify that his total defense and modified movement speed are still within reasonable ranges for the part of the game where he appears. With a text file, you've got some arithmetic to do. With a spreadsheet, it's there at a glance.

Or say your enemies are missing too much, and you want to give them +10% accuracy across the board, for all of 50+ enemies. In a text file, that's a lot of cursoring around. In a database, you could knock together a query to do it, but that still might take a couple of minutes, depending. In a spreadsheet, I could do it in 15 seconds. (And if I screw it up, a couple of Ctrl-Zs puts everything back where it started. That's not so easy in a database.)

And, y'know, a lot of programmers really underestimate the value of good formatting. A database can spit out nice columnar tables easily, but a spreadsheet can do things like put borders between stat clusters related to different categories; automatically color-code data so you can see at a glance what the highest and lowest values in a given column are, or spot out-of-range derived values; add alternate-row shading to make it easier to scan across a long row; and on and on. That is useful. It lets you find and correlate the data you want faster with fewer errors. Not everything has to be viewed in flat text.

Your first couple of points reminds me of a talk[1] about using a graph database for tracking all sorts of entity and quest dependency relationships to assist in game balancing and content creation.

[1] https://www.airpair.com/neo4j/posts/modelling-game-economy-w...

All this sounds very useful! If I ever decide to make a game I will definitely use a spreadsheet as database.

I have tinkered with modding Diablo II (which uses tab-separated values for parameters) and the classic Command & Conquer series (which uses INI files).

Both approaches have tradeoffs:

- TSV files can have so many columns that you can't really edit them in a text editor, you'll never find your place. Some of these in D2 have more than 256 columns.

- INI files don't give you a full list of configurable parameters, so you might not even know what flags the engine supports if they're mentioned only once in the entire file or not mentioned at all. Some object types in Red Alert 2 support over 700 flags, not all of them are actually used in the default config…

- two items described in a TSV file are easier to compare than two INI sections, with INI you need a second editor window and some ordering of the keys to make sense of things.

- on the other hand, diffing a TSV file for changes is a lot more challenging.

At the time, I remember thinking how a proper database would make this easier.


I have also seen a game where a \n was used as a record separator and \r was used to insert newlines into the text string within a record. Fun times when your text editor tries to "intelligently" handle and normalize line endings.

You could have json and a schema. VSCode for example does this, all settings is just a settings.json but it still has auto-complete inside it so you always know what settings are available.

Aside from the UI advantages others mentioned, another possible benefit is that, with the right formulas set up, you can instantly eyeball the combined effect changing one factor has on every other factor that’s derived from it. I don’t know how important that normally is, but I play a lot of Paradox games, and those games are almost entirely governed by numbers that have combinatoric effects on gameplay.

Quickly changing a few stats would probably be easier in an excel file, every stat is directly below the next, one key press to move to the stat and change it.is faster than scrolling 3 or 10 lines to the next one then placing the cursor on the correct character etc. I can see how it would be faster for some use cases. If someone is doing it then it is probably because they found it to be effective.

Because non developer is able to find it at glance. And then he is able to see how related values chaged - at glance with zero effort and delay.

And non developer can easily write own formula to next cell whenever he feels like and don't need to wait for programmer, don't need to explain and don't need to fight if programmer happen to be stubborn.

Even seeing what depends on what is easier with right excel plugin then debugging scripting code.

I agree. Text file edit seems much quicker.

Back when I worked on cars, the configuration parameters the firmware devs used for the control units were all in excel spreadsheets, with some plugin or other and a bunch of macros to flash the hardware. As far as I could tell, the main benefit of this setup was that the devs didn't have to build their own UI that looked good in a table, and allowed searching and sorting.

Text files or Excel for the game data?

Pardon my ignorance, but why aren't they using some sort of database for the data? Or at least storing the data in some sort of master database and exporting it to text files for the game to read? It would be lovely to hear the techniques and reasons from anyone in the know.

I don't know exactly, but I wrote a post about some hypothetical advantages here: https://news.ycombinator.com/item?id=18153661

(IIRC it's for convenience in development. I doubt the game ships with an embedded Excel file.)

Modding tools (supposedly based on real SDK) for Homeworld (don't recall if 1 or 2, I think 2 since I recall switching some crucial values to make game easier for last mission) used Excel with extensions.

> People say "use a real database", fine, but where is the visual data entry?

Any visual DB client?

> Where are the easy adhoc reports?

Isn't that just queries? Then throw it into a view to "save".

> Where are the forms?

No idea what you're looking for here, but this sounds a lot like your first question.

Ad-hoc reports are not just saved queries, they're saved queries + something like Word's mail merge feature so that you get a data-driven, print-quality document, like an invoice.

Forms are data entry views that save to the backing tables. Nowadays the most well-known forms are probably https://docs.google.com/forms/

Just use airtable, its like microsoft access but easier to use and pickup. Or just use google forms + google spreadsheets

Actually, I struggled making the transition to airtable from excel. Do you have recommendations for training? I do want to learn it, maybe no to a mastery level, but proficient

I actually didn't find any specific "airtable" training, I just used the docs and forums. I had prior knowledge working with microsoft access and database design, so airtable was an easy transition.

If I were to learn it without any prior experience, I would just look through every template they have. See which industries I'm most familiar with. And look at how those databases are organized.


They have a really good 12 minute overview though, hitting every major concept though. https://vimeo.com/165624533

I would also learn a little bit about relational database design. This 5 minute video is a good starting point https://www.youtube.com/watch?v=NvrpuBAMddw

I like using databaseanswers.org as a reference resource. This is a very nice 5 minute introduction to designing a database. http://www.databaseanswers.org/data_models/5_minute_tutorial...

Basically, if you come from an excel background, it would help if you knew a little bit about database design, and relational databases. Its not necessary, but Airtable is practically excel + microsoft-access.

Start with a template, and play around with it. I would get familiar with this page in particular though. Formula and lookups are something you'll use often in any airtable base. https://support.airtable.com/hc/en-us/articles/202576519-Gui.... This was perhaps the least obvious concept for me to pickup naturally.

If you need any help though feel free to reach out to me I have contact information on my username

There is iron in these words. I love using SQL and hate using Excel, but when it comes to common statistical calculations such as standard deviation or a Pearson function, or if you want to generate a graph and can't [or don't want to] use a tool such as Tableau or Crystal, Excel really is easier [or, at minimum, quicker] for generating output sometimes.

I absolutely hate plotting anything excel. I feel so stupid trying to get something to plot. GGPlot works so much better.

You can use a real database and have Excel like UI, plus data entry, with good reporting tools, here's one: http://pebblereports.com/

Filemaker was great for this. Around 2000, you could get an amazing level of productivity for building small custom relatively complicated apps without writing any real code.

> but where is the visual data entry?

That's where the "Power" suite enters the picture (Power Query, Power Pivot, etc.). Great way for non-technical people to get database data into Excel for reporting/analysis. I've trained plenty of people with only basic Excel skills to use it. The best part (for them) is that it's like a macro, so you can rerun it with new data any time.

You can even use those to pull an existing SSRS report directly into Excel.

Obligatory Comment: "Excel as a Database" by Rory Blyth, circa early 2000's.

"As a developer, you've probably, at some unfortunate point in your life (possibly several points, actually), been handed an Excel file that has been crammed full of 'data' by someone in marketing and told to 'do something with it.' " http://wyorock.com/excelasadatabase.htm

As a developer, what should I do if I actually want to do that? Because I get a lot of satisfaction out of massaging messy wads of data into a clean, uniform, accessible form. Is there a job title or something I should look for?

The Analytics team at my company does this. ETL's we call them (Export, Transform, Load). Some of us are app devs and some are data analysts; there's cross-over. We do other things too, but moving data between systems is a big part of it.

As for job titles; Software Engineer (or Developer) of Analytics, Data Analyst, Data Scientist, or something along those lines. Probably varies by company.

I have a story that may amuse you.

Recently I worked on a contract doing some data ingestion that the resident team didn't want to deal with.

They had been provided a JSON api to get what should have been a batch file. The owner/api creator said "this is good enough we won't accommodate you." So much for sensible data transmission and batch processing.

Because I have had to deal with these sorts of things before I have a fairly robust tool chain to hammer api's with requests to get the data in a reasonable time frame. In this case my client went full tilt - and simply hammered the API till its owner gave in and started sending batch files.

What do you mean by "batch file"? Surely not a .bat.

Yes the end result in most cases is good old CSV -

repeated variable names are bloat when getting lots of data, extra formatting is the same... CSV's are great for getting these things down.

As another poster pointed out (S)FTP is the way to go when sending CSV's, and they are compressed in most cases to save storage and data transmission on both ends.

I am old enough to remember when mailing a hard disc or a tape might be a faster way to move a LOT Of data. The practice is still alive and well, but the option is now by the "truckload"


Probably means a single report with all the data sent at a regular interval. (All transactions between 00:00 hours and 24:00 hours the previous day, sent by 9:00 am to these email inboxes).

Instead the client was given an api to query and no batch processing of information was allowed.

I’ve encountered this idea somewhere, and fortunately have never had to deal with such a broken scenario. Getting piecemeal information is infuriating.

He probably means the output of a batch processing pipeline. Clients will calculate a set of data once a day and shove it into some kind of storage[0] for you to download.

[0] probably an FTP server with no TLS and with the same weak username and password for everyone who connects, a setup which they won't change no matter how many times you ask

What the other child poster said. This is 90% of my job. It’s really fun a lot of the time and absolutely brutal the rest of it. Be prepared for things like writing code that checks the color or text styling of cells etc. people encode data in whacky ways

Seriously. I frequently get handed spreadsheets with integers typed as strings... people using strings for things that, heaven's sake, should undoubtedly be booleans... Getting the thing into usable condition takes up more time and energy than the actual analysis they desire

I've seen that before, to "work around" locale issues, bring a European company recieving data from US companies

"Data engineer" (more Dev) or "Data scientist" (more analytics).

"Data Scientist" should do the trick.

basically you can use excel to query postgresql. either with Power Query and NPGSQL or for the more non developer experience you can buy an addin: https://www.devart.com/excel-addins/postgresql.html

I wondered the same thing for a while. Just this week I came across https://www.knack.com/. It looks pretty good so far but I haven't really explored it yet to see how well it works out.

I can't speak to the product, but I did interview and worked a trial week at knack about a year ago and they are a very bright group of people that are hell-bent on making and maintaining a great product.

Good manual data entry support is nice, but Excel sacrifices good automated data management to do it. Automating basic read and writes isn't terribly hard if you can find a good library, but it's still far more complicated than it needs to be.

Isn't this Salesforce?

As bad (and deserved) as their reputation is for helping well-meaning users to create a big mess, spreadsheet software provides an incredibly intuitive UI to put in front of users that have the domain knowledge but not necessarily direct software engineering knowledge.

I've been thinking about this for years, ever since I first read "A Small Matter of Programming" by Bonnie Nardi: https://mitpress.mit.edu/books/small-matter-programming where she explored the history of end-user programming systems, and concludes that spreadsheet and CAD software are the only examples that have had widespread and undeniable success.

ASMOP was published in 1993 and I think it is still just as relevant today.

Just as it's possible to write a terribly-architected and designed program in any language, I suspect that with the right engineering effort and insight, modern software engineering practices could bring the complexity under control.

We shouldn't expect to just take spreadsheets and stick them into production, just as you wouldn't take a hastily-written prototype written in any programming language and do the same.

End user "programming" systems are precisely what personal computing was supposed to be about. Aside from spreadsheets and maybe a couple of other things (hangers-on from the business world), that line of inquiry and use has been abandoned. It's worth the development community's time to ask why today we have a larger schism between "programmers" and "users" than we did in the 90s.

Let's remember just how popular Hypercard was and what it meant for personal computing. It did not die because people weren't using it. It was allowed to wither on the vine because it never made business sense. And that's tragic.

My understanding of that shift is that the average "user" has become less savvy, because of improved UX and an overall increase in the percentage of the population who are "users". This is because over the last 30 years computers have moved out of just the business/academia/enthusiast space into people's homes (and then pockets).

The average "user" can't program a computer because we've been able to bring computing to a whole new population of people with neither the opportunity nor inclination to learn to use a computer at that level. You don't have to be a computer nerd to get immense value from computing, and in my mind that's a very good thing.

Excel is programming a computer. So was Hypercard. Any UX that reduces user "savvy" rather than enhacing it can hardly be said to be improved. A large part of the developer community has a very static idea of what a computer can be or what programming can be. What does it mean to author in the medium and why have we stopped trying to figure it out?

I think it depends what you mean by "savvy". A UX which reduces what the user has to think about to get stuff done is generally positive. That's what an abstraction is, and we intentionally create them all the time.

The counter-example is trite, but it's true: it's a very good thing that I don't need to know how a Xeon is going to reorder the instructions that v8 is going to turn my webpage into after Babel has turned my es6+whateverextensions into something node can actually execute. I can go down the stack and find out if I absolutely have to, but it's a total waste of time otherwise.

I also don't think we've stopped trying to figure it out. We see new languages, new environments coming forward fairly regularly. My instinct is that the reason it seems that way is because the computing field selected for people interested in that stuff early, and more recent incomers are a) people who don't yet have the experience to understand where the limits are; and b) as a population are less interested on the whole in asking those questions, because if they had been interested, they'd already be present. It's also dramatically harder for a single project to become ubiquitous the way Hypercard was, simply because of the size of both computer-using and software project populations. It's a statistical artefact, in other words.

There's an optimistic take on this which says that in the beginning, the only people who were close enough to computing to understand what was possible were programmers and engineers, so the ideas that had currency revolved around programming and engineering. As the reach of computing has grown, the range of people who can have good ideas of what to do with a computer has grown to include half of humanity (give or take), so the ideas of what's worth doing are taken from a much bigger pool.

The trade-off is that projects which can make an impact across the entire ecosystem (like Hypercard did) must reach a much wider variety of minds, and that's incredibly hard today. However, I can almost guarantee that there are tools out there that have similar impacts to Hypercard within specific niches, with higher user stats than Hypercard ever had. You don't hear about them because the size of the pool has grown so much.

> why today we have a larger schism between "programmers" and "users" than we did in the 90s.

Because we do more with computers (adding complexity to programming as a task) and the amount of money and people involved have both increased (making that complexity hard or impossible to reduce).

Complexity can't be the only answer (and there is evidence it can be tamed anyway). Over the past two decades developer culture and wider technological culture has conditioned regular people to be passive consumers of computing, rather than authors of it.

The fact that there are no compelling RADs for the major platforms -- especially ones that use intuitive metaphors -- speaks volumes. I have worked on many small freelance projects for the past few years and the issues most users have are all more or less the same: they need to organize some information in a way that is useful to them and to interact with it somehow. This might involve more remote fetching than it did in the 90s, but this isn't that much more complicated.

Imagining another way has become completely unfashionable, mostly because of marketing and the stated needs of business. We no longer apply the hands-off funding and timespans for the kinds of computing research that gave us personal computers in the first place.

Things are not the way they are because of some natural law.

I do not understand the mindset of not wanting to help other people. Enabling people to learn more about the software they use every day is better for everyone involved. Yes, some problems are too complex to solve in a few minutes, but pointing someone in the right direction requires little to no effort.

Excel lacks the community programmers have and also lacks the learning opportunities given by open-source software. A lot of people struggle to find answers specifically because of this lack of community around using Excel as a tool. I know I personally have floundered learning things that would have been simple to understand had there been someone to guide me, so I try to provide that same support to other people when they face the same obstacles.

Yes, its fun to cringe at people's inexperience. It is also important to recognize we all started there.

It's less "not wanting to help people" and more "once people know you're 'the Excel person' they come to you for everything to do with Excel". It's very similar to being 'the computer person' in a family/group of friends and everyone coming to you with all their various tech support questions. At a certain point, it starts ruining your productivity since you get taken out of your regular job to do these one time help requests.

This is my experience working in offices like law firms that are filled with people that have limited technical aptitude for using software. Showing any sort of competency is a recipe for increasing your workload with no conferred benefits.

Yeah, it’s draining. They have no desire or intention to learn. You’re not helping them, you’re just doing their job for them.

Yours, former excel guy.

I always looked at it as being great job security.

"You haven't completed any of your assignments while your co-workers all exhibit improved productivity. For this reason, I'm giving you a poor performance review."

Never once seen it play out like that. Most people understand that your work comes before the help they need.

That's fine, the problem is that you also get all the blame as well. Once you "fix" a computer, everything that will break will suddenly be your fault.

Very true. I once installed a printer driver in a friend's company. I got blamed for missing files by several employees during the following weeks.

I've heard that auto mechanics know these as "Ever since you..." stories.

My former boss, in process of bidding for a bigger highway maintenance job, started with me with How can we do this in excel? Can we get all these X? etc basic questions, solved with vlookup or index or things. Things slowly shifted to just do this this & this, no desire of learning 5o know how, & the tasks became my extra responsibility, & anything breaks in that sheet because of long tangled inter-dependent cells, it will be my fault. Too much draining & taxing on mind.

It's quite similar to being a senior programmer and assisting junior colleagues instead of doing their own work. Though in this case I suppose the blame falls on management for not allocating time properly.

Since I work in technology, people would sometimes ask for my help fixing a computer, to whom I would clarify: no, no, no, I'm a Software Engineer -- I'm the person responsible for breaking the computers.

And it's one thing if they actually appreciate your help.

In places that people don't realize it's part of their job to learn the tools, it often turns into complaints of "why they designed it that way?" going on and on with dissatisfaction of the system that doesn't read their mind. (And certainly, they will come back with the same question in few days...)

I've been there a decade ago and it was DRAINING that I was just better off not offering the help altogether.

There is a difference between "doing other people's job" and "enabling them to learn on their own" in my experience. Explaining to someone why it is better to use INDEX MATCH in lieu of VLOOKUP will never ruin my productivity.

In my experience not 1 person in 50 of people who "aren't computer people" will retain that information regardless of how much time you spend. I once worked with a guy who would come to me for everything from excel stuff to "help I can't find this email in my gmail account". I tried to stress to him that I had my own work to do (write code) but he whined that it would take me just a minute and it might take him 15 or more! This had been going on at least 5 times a day for months and so finally I angrily asked him what I couldn't do faster than him out of his tasks and why shouldn't I just do his job and get his paycheck too. The requests slowed down after that. Being the one technical person available is almost always a shit experience.

Show him how to use Excel to make an invoice for your time he's wasting.

Savage. Wish I had thought of that.

This doesn't scale well with the number of people who ask for help, unless you can organize a class - which is hard to do in a way that helps people when they need help.

I love talking about git workflow, and am happy to spend a half hour diagramming how your repo relates to origin, what branches mean, how pull requests and merges work, and what rebasing does. For people who don't yet grok git (or maybe just distributed source control?), this has proven to be very helpful.

I typically present this information about 2x a year. However, if I had people ask me for this kind of explanation every week, or multiple times a week, it would have a much larger impact on my productivity.

At least with Git there are _tons_ of ways to learn more. With Excel there are next to none because of the lack of developer community. There are few useful resources where someone can go to understand how they can best leverage their toolset.

Excel is also notoriously opaque when it comes to debugging, so there often are not useful questions to ask Google if you don't already know or understand what you are looking for.

Actually there are some bloody good books on the subject. The help files and online from MS help are not too bad.

Debugging: "excel debug a spreadsheet" - quite a few decent returns on page one and two. Related searches in Google gives some more hints.

A shameful secret: I firmly believe that the moment I became a programmer was when I discovered Debug.Print in VBA in some elderly version of Excel (97, probably) while bodging pretty charts together for someone to print and fax to someone else.

I'm willing to bet that I am not alone.

Don't be too hard on Excel - some of today's clueless spreadsheet monkeys will be real bona-fide developers in fifteen years.

Many zillions of years ago (OK about 23) I was taken on, fresh from the dole, by a factory that made pies (pasties, sausage rolls, pork pies etc (south west UK)) to do the whole IT thing. Anyway, apart from a few other handy skills I learned to bodge a pretty decent spreadsheet, building on experience starting with Super Calc.

I converted planning from Lotus 1-2-3 to MS Excel (for shame) and then with my smart Pentium 60 based machine, developed a nearly complete finite capacity planner for the factory - in Excel. The devil is of course in the detail but my labour plan and forecasts beat the planners most of the time - except at Easter and Christmas.

Today, I'm really not a developer 8) I grew up and became a sysadmin (oh and a managing director - but that's another story)

From memory help for the MS Office products was actually really good. You had sections that showed their object model in a very nice hierarchical manner and you could easily drill down to the individual methods of the objects mentioned. They also had a solid base object library across the Office applications. Things seemed to get more difficult with Office 2007 though, as compared to Office 2003 and earlier. With 2007 and later I believe you were supposed to use Visual Studio to extend it rather than using the inbuilt VBA. Also there was a lot of individual web pages describing how things were done and stackexchange questions answered for Excel and other Office products so it was pretty easy to get decent information to help you. The exception being when searching the internet the only answer to a question was that it was 'impossible to do' when actually it really wasn't, with the effect that most people reading the answer will do it the long and more error prone way.

Warning: This is from memory quite a while ago and it was a very minor part of stuff I did at my job then.

Explaining it to the same person for the 15th time though...

As a career educator, and ruling out learning disabilities that are not appropriately accommodated, I believe that generally means you're not doing a good job of explaining in a way the other person is capable of grasping.

Blame goes both ways. And the original point still stands. It is productive to teach someone to improve their own processes.

One difference between your experiences as an educator and the parent's experiences as an Office Excel Guy is that educators have a position of authority, and there is generally an ethos of paying attention and trying to remember what they're telling you!

^ This. Office Excel Guy is just glorified IT help desk. People don't want an explanation, don't want to learn how to use excel necessarily. They want want to push one button, and get a result. Spend longer than 5 minutes explaining it and you will be told you're wasting their time.

You spend time explaining on what is essentially deaf ears, and being on call all the time

Educators tend to have alignment on students' skill levels too, and perhaps not so with "Excel support." It's actually easier to help someone who knows nothing about the subject. What I struggled in the past are those who think they know what they are doing, yet require help in narrower scope.

They often have often accumulated bad habit, and won't listen to you because "I have been doing this way for years."

Also, it's interesting to observe that many who struggle in Excel (or many of "consumer" applications) actually are struggling in basic computing skills. (e.g. can't tell difference between left and right mouse buttons, don't know how to copy files, etc.) It often result in infuriated people, pointing out that they need to learn basics of the operating system.

This is a reasonable approach for someone whose primary role is educating others.

It rapidly recedes from the realm of reasonable considerations once we're talking about someone providing informal Excel support to colleagues as an extracurricular activity.

I disagree. You tell them how to do it. You ensure they have no questions. You have them show you that they know how.

Then you destroy their work area with a hammer when they come back for more help on the same thing. (obviously humor)

It's just like teaching.

Source: I'm the 'excel guy' in my service area. I tell them I'll show you twice and I'll make sure you don't have any questions. Then I'll show you youtube videos. I'm not in the business of 'doing' for anyone.

There’s a clear trade off in terms of time and annoyance, and getting good at teaching or communicating with different people.

Being able to share mastery is a key part of being a master at a subject, which is a political and image advantage.

I used my excel ability to learn how to best explain vlookup and got good at it.

I did get taken advantage of early on, but I learnt how to deal with those specific types of users, and not do their work for them.

In contrast to those people, there are others who genuinely respect you for your help, and then use your training to make their life and yours better.

Not to mention, many excel problems are not that hard. If you know what you are doing, it’s an easy win/goodwill for you, and a major problem for someone else solved.

In my experience it's less that people don't grasp it and more that they have no interest in learning and hope to survive as parasites forever. I've worked with people who will try to stop you from teaching them almost immediately and interrupt with some nonsense that amounts to "can you just do it for me, though?". A lot of the time this happens when the task is time-sensitive and they're likely afraid of missing a deadline by trying to figure something out themselves, but you'd think they would recognize the pattern after showing up with the same frantic plea enough times.

You can't teach someone who doesn't want to learn. Most people in this situation don't want to learn and actively tune you out. They just want you to fix their problem and if they have another problem (or the same problem again), they'll just call you over to fix it again.

Thanks! I didn't know about INDEX and MATCH, and VLOOKUP always bothered me.

So basically it's separation of concerns, but for people.

The old "Can you fix my laptop?"

I think it's less "not wanting to help other people" and more "wanting to do what is valued". Value could manifest in many ways:

* purely intrinsic ("doing cool work" vs. "de facto IT guy")

* purely extrinsic (the year-end perf review won't give me kudos for helping with excel documents)

* a mixture (I want this organization to succeed, the best way for me to do that is by doing X, and instead I'm helping debug excel sheets).

Often it's a mixture since people often enjoy doing what brings the most value. I do volunteer stuff for a charity. A lot of the stuff I do is very interesting and challenging and valuable to the charity's core mission. But I'm also expected to help other volunteers with mundane helpdesk stuff like connecting to the wireless network. I don't enjoy it and also it distracts from a much more valuable use of my time.

I don't disagree with you but I was speaking to the premise of the article, which exposits that one should "run the other way" when people come bearing questions.

It isn't about being helpful or not, but about letting yourself be abused or not. Often times, the only difference between myself with a technology and the person asking me for help is that I am willing to read the documentation while the other isn't. Often, the person seeking my help doesn't even realize they are abusing me but still, if I point out that they can read the documentation as well as I can, I get a look of disgust. There is countless sources of documentation, howtos, and useful tricks in both document and video form on Excel available for free on the internet. People just refuse to use that, even when I point them to it. More over, if I hold firm and say you can read this yourself, the person often will just ignore me and try to find someone else to do their work for them.

My high school history teacher used to say "there is such thing as a stupid question: it's one that you have the resources to easily answer" and went so far as to tell people that she was not going to answer a question that they had in class because it wasn't a good use of time.

I feel the same way about technology questions. I'm really glad to help when someone asks something that they have looked into ahead of time, or if they're interested in learning a skill that they know I have rather than just getting me to do their work. It really annoys me when someone has just not put in enough effort and would rather have me expend the effort in solving their problem.

On the other hand, if somebody asked me what resources they could use to figure something out, then I'd be more than happy to help.

> I do not understand the mindset of not wanting to help other people.

You, sir, have not been the victim of help vampires.

> A lot of people struggle to find answers specifically because of this lack of community around using Excel as a tool

I am unaware of this lack of information. Perhaps I am not doing the really, really, really exotic stuff but every question I have ever had on Excel has been answerable via Google.

Agreed. Most Excel stuff is extremely well documented on Stack Overflow, numerous blog sites, and message boards. I wrote a fair amount of VBA today(something I've only done a few times before) and found it to be quite straightforward.

The ability to compose queries and sift through google results and find the answer to a question in a timely manner is a skill in and of itself that not everyone has.

But - this is a skill that will repay the learner in gold and good times. And no one is prevented in the learning.

You never learn if you just depend on others.

>Excel lacks the community programmers have and also lacks the learning opportunities given by open-source software.

Source needed.

There’s crap tons of excel help, and the amount of excel queries+answers will easily put other languages to shame.

The difference is that excel is not usually treated as an engineering tool, with the various rituals that go with it.

In contrast, take a look at how financial analysts learn excel - a field where excel IS an engineering tool.

It’s the differences between being a home cook and a professional chef.

>excel is not usually treated as an engineering tool

This is a good point. I've seen C# & Python devs who read the release notes and adopt new features of C#\Python with alacrity while at the same time their Excel development work, which they spend considerable time on, evolves not at all. E.g., still using IF(ISERROR(...)) rather than IFERROR; VLOOKUP rather than INDEX(MATCH()); slow & brittle array functions rather than SUMIFS; employing many intermediate columns to clean out errors rather than using AGGREGATE(); doing things in VBA that they would never do in their primary programming language (v = Worksheets("pnl").Range("N22:N77").Value).

Ooh aggregate, I didn’t know of that. Seems like overkill for my use cases. And as you know, there is no kill like overkill

So, yes, there is content that exists. What does not exist are real-world examples of problem solving a la open source. As I said in another comment, debugging Excel is incredibly opaque (#NA) and most people will never find what they are looking for when they Google "=GETPIVOTDATA #NA error."

There is no GitHub for Excel workbooks where people build and extend generalized solutions that people can read, understand, and learn from. There is also a total lack of comments in Excel formulas (short of VBA custom functions) so good luck deciphering the 5 line SUMIF in the 10 year old model you inherited.

You can get many, many excel sheets and examples which highlight problems and provide solutions. You can dowload a 3D graphics engine in excel if you so desire, as well as more mundane examples and videos.

It’s not couched in engineering terms, but effectively a body of work and reference does exist to help people use excel - I’ve constantly used it to improve myself.

It is definitely not made by engineers and coders, but by normal people and excel jockeys.

Agreeing with you: just Google excel howto, then see results.

The problem mostly lies in other people not wanting to learn. Anecdotally, I've found that people come to me with Excel questions because they want me to do something for them, not because they are generally interested in learning more or bettering their skills.

There is also a lack of what is considered "Excel best practices", for want of a better word. The only resource I've seen along those lines is Joel Spolsky's "You Suck at Excel" video (which is excellent, and should be necessary viewing for anyone who use Excel on a regular basis): https://www.youtube.com/watch?v=0nbkaYsR94c

Yeah, great video. I often send this to colleagues. Another blog I recommend to others is https://itsnotaboutthecell.com/

>Enabling people to learn more about the software they use every day is better for everyone involved

I agree, but the flaw in your assumption is that the people who want help from "the office Excel guy" want to learn more. Much like being the "family computer guy", the person asking for help is really asking for you to just fix the problem.

Indeed. I actually really enjoy teaching and mentoring, and do a lot of it. I’m also quite experienced with Excel, used to be an analyst before I became a dev, so I’m often the “Excel guy.”

When other devs come to me for help, they generally want to learn, and I’m happy to teach them. Most devs are really into learning technical skills. Same goes for MOST product managers, sales people, etc. But there are definitely SOME people on the business side who actively DON’T want to learn technical skills. They have some report they have to do, it involves Excel, and they just want me to do it for them, they don’t want to learn how to do it themselves. Generally I’ll help these people once or twice, but after that it’s “Google it.”

In many companies, once you touch something, you own it, regardless of who's responsibility it was prior to your involvement. In that type of environment, it's often best to feign ignorance, while sending them links to resources while saying something along the lines of, "I think this may have something to do with what you're trying to accomplish."

> I do not understand the mindset of not wanting to help other people.

Not to pile on or anything, because that phrase seems to have touched a nerve - but, I don't mind helping other people at all. I do mind when I spend 8 hours at work helping other people, and don't have time to complete the work that I was actually supposed to be doing, and then get criticized for not getting the work I was assigned to do done. It doesn't help to err in the other direction, either, though - once everybody knows that you know how to do "x", even if you're swamped with other work, you can't turn them away, or it'll haunt you on your next performance review. Hence the article's original advice: never let anybody know you're good at "x".

Write down the hours you spend as a consultant to teammates. Then discuss with your boss how you should best spend your time. It’s not complicated.

Source: am manager who deals with this every day.

Edit: I understand this advice is worthless if your manager is a dolt. In that case run for the hills.

> I do not understand the mindset of not wanting to help other people.

I love helping people, but I also want them to become self sufficient. My first question when someone asks me for help is "have you typed into Google exactly what you just said?"

Then you clearly dont have a lot of help parasites. What do I mean by help parasite?

Asks you to do the work for them, instead of asking for help solving the problem. Asks for the same answer to the same problem over and over again to the point where any person would have pattern recognition. Uses imprecise language even after being provided it to diagnose and troubleshoot an issue.

While there's plenty of people who are well meaning and want to learn, being the "thing" guy is not that - its a slow death to the choking off of your job description by others using your time and resources to do their jobs.

There is definitely value in teaching others, but first they have to want to learn. I work with a lot of mechanical engineers and I am the only real "software guy" in our office. Most of the time they don't want to learn how to do computer things themselves because (mostly the older engineers) consider it to not be their job or out of their scope.

At my previous job in the power industry we had to clean up our shared drive and move all the CAD files of one type into a certain new folder, and the CAD files of the newer type into another, and PDF outputs in another, GIS exports in another, etc. Three people were dragging-and-dropping by hand for hours until I had some free time and made a Python script in 10 minutes to do this all. Got a few free drinks that day.

It's amazing what scripting allows one to do. If I was in charge of hiring any technical roles, any non-developer job would still require basic coding proficiency, or at least a candidate who agreed to seriously give it a shot and try to learn.

I think there are jobs that people need to have done, and know that they can't do themselves, but that they consider to be menial and lower class. Like being the bass player in a band. (Disclaimer: I'm the bass player in a band).

They may think that the difficulty and expertise are gratuitous -- if software were written right, it wouldn't need an expert.

Helping others is great and I think most people enjoy it. I think what most people don't like is when it impacts their own work. I've definitely had this issue in my own jobs.

If they haven't learned how to "Google" for the solution and help themselves by now, they are lazy and do not deserve help.

Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact