HACKER Q&A
📣 syndicatedjelly

What would be the single piece of advice you'd give a non-programmer?


What single piece of advice would you give a non-programmer who wants to get better at using technology?


  👤 appstorelottery Accepted Answer ✓
IMHO programming comes down to understanding logic, breaking down many-step problems into their smallest elements and being able to express a process in a flow or state chart. There is an old saying "behave yourself or I'll replace you with a very small script", which I assume comes from the Unix world. ZSH and shells are surprisingly powerful in this respect. Perhaps consider automation technologies like Zapier and Automator on the Mac? I suppose it's all about making ones (and others) lives easier with the minimum of effort.

Here's a little anecdote as an example. I was consulting on a job to increase efficiency, I noticed that there were changes that were being made by hand to PDF invoices generated by a system which could not be changed. I can't recall the exact changes, however it was trivial for me to chain together a PDF editing service with Zapier to automate bulk changes to invoices (the business was growing and the amount of invoices was increasing significantly each week). The entire process took less than an hour and saved hours worth of work each week for the admin staff. Hence the quote in the previous paragraph, a small script or automation did in fact replace a manual task for an admin person (in this case I didn't automate anyones job away thankfully ;-).

How to get better at technology is a very general question; but I'm assuming you mean technology as it applies to business - which apparently is supposed to be all about increasing efficiency. Technology for entertainment is a completely different game, etc. etc.


👤 ggm
Excel is a functional programming environment which works at scale. Yes, we hate it. Yes, date handling is a mess. If you learn how to drive excel you can do almost anything.

👤 syndicatedjelly
Mine is: Don't waste time finding the "best" program for a particular task. Rather, find one that exposes keybindings for every action in the program, and then commit those bindings to muscle memory. This applies to:

- design tools (Photoshop, Figma)

- media-editing programs (GarageBand, whatever is used for video-editing these days)

- unexpected places (e.g. Trello)

The mouse has only 3-6 degrees of freedom to interact with. Only two digits on one hand operate a mouse. A keyboard has 50+ degrees of freedom, with all ten fingers available for usage.

Anecdotally, companies that design software that can be exclusively used by a keyboard tend to think more highly of their customers.


👤 withinboredom
My philosophy towards writing code, building projects, anything.

1. Get it working.

Find a solution, any solution. Something is better than nothing. Once you have a solution, you know the space pretty well.

2. Get it working well.

Iterate and make it better. Refactor and fix bugs. At this point, the general logic should be sound, but there may be missing features, add them.

3. Get it working fast.

Find the slow parts and make it faster.


👤 DavidPiper
Paraphrasing Stephen King's advice:

Life isn't a support-system for technology. It's the other way around. If there's no joy in it, it's just no good.

And my own thoughts:

"Get better at using technology" is a vast possibility space. You'll never be able to learn, use, or even appreciate all modern technology like a specialist. Be intentional and figure out what you want to get out of your technology use, and learn what you need (maybe from one or some of those specialists) to best achieve it.


👤 neilv
Most tech companies today work against your interests, to one degree or another -- even the companies that run expensive warm-fuzzy PR campaigns -- so try to minimize how much you have to trust any of them.

👤 jrumbut
Truth be told I think non-programmers are the experts on using technology. When I have a problem I reach for code, the real power users are the ones who don't have that option.

👤 TideAd
Ask ChatGPT. Literally ask it to explain how to do something, and explain it a different way if that doesn't work.

Not sure what my advice would be before 2022 but this supercedes it.


👤 sublinear
1) recognize the law of leaky abstractions https://en.wikipedia.org/wiki/Leaky_abstraction

2) recognize how this state of things is no different in software from the rest of what people create

3) deal with it the way you deal with it otherwise and apply your existing knowledge accordingly. software really isn't that brilliant most of the time.


👤 fragmede
You can Google for just about anything these days. Or ChatGPT if you're into that. a lot of the time as a person who's known to be good at computer stuff to my friends, I have no idea and just Google their questions, and seem smart.

👤 onion2k
Turning something off and back on usually fixes any problem, which extends to apps. This means it's actually hard to break stuff, so go ahead and try things. Play with your apps. Follow tutorials. Try to use features you haven't been 'trained' on. You'll find you can do more than you think, and often you'll improve on the processes you've been told to follow.

Corollary: If your coworkers or employer say this is bad advice that's a massive red flag and you need to find a new employer, unless you work in medicine or nuclear power, in which case maybe it's ok.


👤 pintxo
Invest time into learning to get the most out of your (software) tools: keyboard shortcuts, text styles, automation.

It will pay off very quickly.


👤 juancn
There's no magic involved (even though it sometimes feels like there is).

Everything is understandable and usually has a rather mundane explanation about why it is the way it is, so don't be scared.

If someone understood how it works, then you can too. You may be missing some information, but that's about it.


👤 bee_rider
Read the error messages, and if they don’t make sense, you can probably google part of them to find other people who have the same problem. In particular, if it produces something like an error code, google that (along with the program name)

👤 kxrm
Analyze your workflow regularly and see if you find any repetition to your work. It's not worth automating every tedious task you might do but if one is coming up regularly it is very well worth automating.

👤 voidfunc
Learn how to write in a clear and concise way that is coherent and can be understood by other people.

Learn how to write to different audiences. You communicate differently with programmers than you would executives.


👤 cpach
Depends on their goal and inclination. But perhaps this: Learning the basics of the Unix shell can be very useful when wrangling text and data, or for operating on lots of files in a batch.

👤 gherkinnn
Don't.

If they insist, point out that all the tech in the world still leaves you with 51% human interaction. And that is the most pleasurable part.


👤 rpmisms
Start thinking about how data moves. This is the simple first-principles trick that lets me understand things. What data is moving where? How is it moving?

If you want to get better at using technology, not just understanding it, I can give you a tip as a UI dev. Just ask yourself: "what would an overpaid designer named Ramona assume about the average user of this app". Unfortunately, most things have been enshittified, and no longer have manuals.


👤 Fire-Dragon-DoL
Use a password manager

👤 johnea
California real estate...

👤 jeisc
is it a bug or a feature?