Live data from Hacker News

Ask HN: What is the most surprising technical skill you possess?

news.ycombinator.com

11–20 of 37 posts

Re: Ask HN: What is the most surprising technical skill you possess?

#11
post #10

The ability to use Emacs with a decent degree of proficiency. I find its text navigation abilities beyond compare. This is huge for me since I write software and and the creation of software generally involves a lot of text manipulation. This is perhaps less of an edge now that other IDEs are better at autocomplete and jumping around the code than they were when I started learning Emacs. On the other hand, the fact t…

This is a great example of what I had in mind when I asked the question. I used Emacs while exploring Lisp, and while I wouldn't claim proficiency, I have an appreciation for it's power.

Re: Ask HN: What is the most surprising technical skill you possess?

#13
Pattern recognition.

When I started, all web development was server side preprocessing. This means debugging involved looking at thousands of lines of apache logs. After a while, you got good at picking out the lines you needed to see from the hundreds of lines of stuff you didn't care about.

This specific example isn't that relevant to today's web development processes, but being able to notice larger patterns in user behavior, in code use, etc is invaluable.

Re: Ask HN: What is the most surprising technical skill you possess?

#15
Love this question!

Most surprising in terms of unexpected returns: learning to build my own PC (Pentium 120MHz) at age 14 or 15 with parts from a local computer fair.

Searching and selecting the components and assembling everything by hand gave me a very personal connection to the machine and turned a complex thing in to something I felt I understood from first principles and could master and not be afraid of. I've always hand assembled my main PC ever since and I credit this ritual with all sorts of stuff:

- Getting me confident early on to experiment and play around with the machine knowing I could fix almost anything

- Keeping semi current with hardware over the years and getting an early view at the future (shift to almost limitless RAM, shift to multi-core, shift to SSD) - and the implications for the software I write.

- Understanding subtle hardware trade offs and constraints. This has helped countless times when I'm speccing out servers or infrastructure for the code I write (helps too when picking laptops !)

- Making it obvious, fun and easy to indulge in things like Raspis, OpenWRT etc.

- Providing endless jumping off points to burnish my understanding of the universe that makes up computing (different architectures, graphics subsystems, disk controllers, network fabrics etc)

- Getting me interested in the hardware and software history of computing and what it looked like 20,30,40,50 years ago. This has helped me hugely in understanding why things today are the way they are (programming languages, operating systems, software abstractions etc)

That's just off the top of my head :)

Re: Ask HN: What is the most surprising technical skill you possess?

#16
Computer Programming.

I grew up in the C64/Apple II age when computers were cool and all, but still kinda toys. "Computer Programmer" was a job title, but not a very good one. Certainly not a well paid profession or one with any hope of advancement or prestige. The best you could hope for was a job in the basement at some Fortune 500 company or maybe scraping by at one of the little companies making video games or that "MicroSoft" place in Bellevue where they made "Mouse" and a few other things for PC clones.

So despite spending most of my youth getting really good at programming, it never occurred to me, even for a second, to study it at University or try to turn it into a career. The smart move for a smart guy was Engineering, so I'm officially a Mechanical Engineer by trade.

But then 1995 happened and suddenly Hello World + Angle Brackets was all the skill set you needed to name your price in the DotCom world. Suddenly all those years of building games where you pilot a little asterisk around the screen with a joystick shooting lower-case o's at things changed from being "waste of time" to "most valuable skill in the world", so I pivoted quick.

I never would have believed it had you told me. But I'm certainly glad it happened.

Re: Ask HN: What is the most surprising technical skill you possess?

#17
Debugging and the intuition for finding the cause of a problem. Well, part intuition and part efficiency and pragmatism in following clues but not getting stuck on bad leads. Willingness to go down in the muck with gdb and to go back up again and consider workarounds and rewrites or whatever it takes to fix the problem as cleanly and quickly as possible.

Another skill is learning my way around a code base even in an unfamiliar language in a very short time, through a process of intense grepping, skimming, guessing, taking notes, and so on.

Also a polyglot attitude that frees me from worrying too much about which language is good and which is evil, and lets me work happily with all of them. That's related to how I use Emacs without language modes (except paredit in Lisp) so I never have to configure modes or colors or whatever.

Re: Ask HN: What is the most surprising technical skill you possess?

#18
post #2

Empathy. It seems to be the basis for the small degree of mechanical sympathy I have because it makes me stop and think, 'why does someone else think this is the right way of doing things?'. Good luck.

I had something else in mind, but this certainly qualifies, and there is tremendous value for you, and "the greater good," in actively asking yourself that question. It adds perspective to the discussion as well. Thank you for the input.

Saw Myles Borins give a talk about Empathy on JSConf Iceland last week, one of the best talks of the conference and some really good points there. The talk is not available online (yet!) but I know it will be soon at https://2016.jsconf.is/ but I found this talk by him which seems to be based around the same concept: https://www.youtube.com/watch?v=GKTSvI8qw_M

Can't recommend it highly enough.

Re: Ask HN: What is the most surprising technical skill you possess?

#20
post #2

Empathy. It seems to be the basis for the small degree of mechanical sympathy I have because it makes me stop and think, 'why does someone else think this is the right way of doing things?'. Good luck.

It's absolutely shocking how many people lack basic empathy when shit hits the fan. A lot of people are so quick to throw others under the bus if they make a mistake, as long as it saves their own ass.

Witnessing the lack of empathy has led me to follow my own advice of "don't be a dick" throughout my career, because being a dick has never helped. Here are some examples from only the last 5 years of my dev career:

1. While I was a junior developer I worked with a PM that would constantly ignore the advice of developers. She was the senior PM of the company, and would drive down every estimate given. If we said it'd take eight hours to build something, she'd drive it down to four because "the devs that used to work here used to be able to do it in four". When I became a senior developer at another company, she applied for a job there when one of our PM's was leaving, and after a chat with the MD about what it was like to work with her, he asked some other people he knew that'd worked with her. They all had the same story. She didn't get the job, and to my knowledge she's no longer a PM.

2. I was contracted out to work on an external clients work (I won't name them, but they're very big, you've definitely heard of them), and to cut a long story short, we were given a poor spec, no explanation of the project, and three weeks to get a site working. We managed to pass their tests, and deliver on time. They were given a generous about of time to raise bugs, but they went silent for a few weeks. On their go-live day, they called up at 5:30pm, demanding that we work over the weekend to fix the insane number of bugs they found, otherwise we'd not get any of our money. I fixed the bugs they raised (2 bugs, all minor) over the weekend, and their site went live on Sunday morning. Despite all of this, they said they weren't happy with the work (without a reason why, and in a very rude manner) and said they wouldn't pay. The company got a debt collector in, and got their money in the end, but the relationship between the companies was gone. A few years later, the offending company offered me a senior dev role, which I declined for this very reason. At my most recent job, the PM we spoke to who was very rude to us applied for an AM role, which we declined after I raised concerns about them. Finally, my old company had close ties with a number of freelancer groups in the area, and many of them directly heard about this companies attempt to squirrel out of paying their fee, alongside some other freelancers sharing similar stories. Now, many of the more established freelancers in the area won't touch them with a barge-pole.

3. I worked with an account manager that was ultimately blamed for a client wanting to leave us. I had a good working relationship with him, even though his role was ultimately to deliver stuff on time, and my role was to help drive development standards (the classic delivery versus tech one). A few of the other developers didn't, and were quite publicly vocal about how he pushed for delivery. I didn't agree with a lot of his decisions, but I kept it civil, as did some others. When he was let go, he freelanced at a few different companies, and those of us that kept it friendly still keep in touch with him. It's led to some of them receiving job offers by companies he freelances at, and him receiving tip-offs regarding leads for new clients. One of my old work colleagues moved to a company that is now his client, chose over the company we all used to work at.

I have a ton of other stories like this, where someone is a dick to another person, and it ultimately comes back to bite them in the ass in one way or another, even if they don't ever realise it. Treat people like decent human beings, and be humble. If a company or person is toxic, deal with them in a friendly way, but look to exit that relationship. If you're working with a junior dev that makes mistakes, be nice and help them as much as you can, because in the next 10 years you might end up working for them. Basically, don't be a dick.

Post reply on HN