News for hackers. Stuff that matters.
Re:Ask HN: What is the most underrated skill software engine... by abd12 on Wednesday February 12, 2020 @04:50PM (#22313180)
Writing.

It helps to clarify your thinking. At your job, it will help you explain concepts to others and multiply your efforts.

Externally, it can help make great friends and boost your career if you blog & share things you've learned.

Re:Ask HN: What is the most underrated skill software engine... by 112 on Thursday February 13, 2020 @04:13AM (#22316359)
This. Being able to think is the most underrated skill.

There is no thinking without writing and drawing.

I HIGHLY recommend reading Julian Shapiro's guide on writing: https://www.julian.com/guide/write/intro

The market is shaping each generation. Unfortunately, it's pretty common to interact with engineers that don't think before doing, they just start doing with the hope of "figuring it out as we go". This leaves no room for beautiful, simple code.

Is it a side-effect of the web boom? How much of this was the result of the PHP and JavaScript subcultures? Couldn't say.

Re:Ask HN: What is the most underrated skill software engine... by afarrell on Saturday February 15, 2020 @12:21PM (#22336498)
Its a side-effect of hearing stories of the other extreme of the dichotomy.
Re:Ask HN: What is the most underrated skill software engine... by afarrell on Wednesday February 12, 2020 @08:55PM (#22314680)
If you read the parent comment with feeling of frustration and dread, ask yourself: "Am I bad at writing a first draft? Or am I bad at editing my writing?". These are two different things.

-----

For learning to edit a piece of writing you've already written, I recommend this book: https://www.amazon.co.uk/Style-Clarity-Chicago-Writing-Publi... It is full of advice more actionable than Strunk and White.

-----

For learning how to write a first draft without wanting to dig your nails into your arms or more drastic forms of self-harm, I recommend:

1) "Start with Why" -- Start each draft by writing your goal and then writing the "signs of success" which you can use to recognize making progress.

I find a particularly motivating form of "why" is a description of a problem someone finds themselves in which they want advice about. Reddit is a good source of these if you want inspiration, but you might be better off giving advice to your future self.

2) Take inspiration from automated testing -- If you are anxious about some section being [maliciously] misinterpreted, write down that anxiety with a pointer to the section and a promise to yourself to have a trusted friend read it.

3) Question-Driven-Drafting -- Start with a question. Write the first flawed answer that comes to mind. Write the first question or objection that comes to mind from that answer. Write the first response that comes to mind from that etc... Don't delete.

4) Alternate focusing with exploring -- Set a pomodoro timer. Use my method from #3 or another to produce a bunch of text. When it goes off, congratulate yourself and meditate for 2 minutes. Then set another pomodoro timer and start to turn your ideas into a structured outline: Try to extract the one-sentence key point from the text you just wrote. Then try to build a pyramid-shaped hierarchy under it with the names of the supporting points. When this pomodoro ends, meditate again and start another rambling pomodoro based on the most interesting point.

5) Be willing to "overthink things" -- When you have a question, be willing to actually trust yourself that the question is worth answering. If someone else thinks the answer is obvious, just move on to ask someone else. If someone screams at you that your question is excuse-making, bullshit, or procrastinating, just move on from them. You no longer have parents nor teachers to endure and can write from your own desire to understand the world and communicate ideas. The confusion you notice in yourself is worthy not of ridicule but of sympathetic curiosity.

6) Go for a walk -- Its just a generally good idea.

7) Dictate into otter.ai -- It is as good a use for your time while walking as any. The resulting text will be heavy with misspellings, but you'll be able to edit it and it will restore your sense of confidence in your ability to generate ideas.

8) Work with a writing coach or therapist if you can find a good one. They might be expensive, but they're less expensive than getting fired because you handed in a blank performance self-evaluation.

Re:Ask HN: What is the most underrated skill software engine... by rasikjain on Thursday February 13, 2020 @08:19AM (#22317463)
Soft skills - Speaking, Team Building, Listening patiently, Able to translate technical details to non-technical audience, Ability to help/volunteer the team during the crisis mode.

This helps a lot in shaping the career and boost self confidence.

Re:Ask HN: What is the most underrated skill software engine... by moralestapia on Thursday February 13, 2020 @03:29AM (#22316197)
Proper math. It's also easier than you think, even a year of (casual but) serious study will open up your vision and make you feel extremely more confident with your work.
Re:Ask HN: What is the most underrated skill software engine... by ahpearce on Thursday February 13, 2020 @02:48PM (#22320813)
Any idea where to start? I've always found it extremely challenging, in regards to both motivation and direction.
Re:Ask HN: What is the most underrated skill software engine... by sn9 on Friday February 14, 2020 @10:44PM (#22333070)
It depends both on your current background and your goals.

What's the highest level of math that you know so well you could walk into any classroom and teach it? For many, it's been so many years since they've had to use anything from even middle school algebra that they might have to start there.

Make sure you're building on a strong foundation if you wish to build something grand that persists.

You want to find the highest level that feels too easy, and then gradually increase difficulty from there.

You can use sites like Khan Academy to find that point. Alternatively, you can just embrace the fact that you may be overconfident and work through books that seem "below your level" just to verify that you really have mastery over the subject matter.

You could spend a year or two going through the Art of Problem Solving books which cover pre-collegiate math at a deeper level and use SRS like Anki to schedule review of concepts and problems you've understood and solved.

At the college level, assuming you're a programmer, the first subjects to master are probably how to write proofs well, calculus in single and many variables (e.g., Spivak followed by Hubbard and Hubbard), discrete mathematics (e.g., Rosen or Epps), linear algebra (e.g., Strang, Axler, Shilov, etc.), and statistics and probability.

Hang out on math forums like the math subreddit and you'll see many books recommended over and over again.

Be sure to examine the preface and introduction of any book you're thinking about buying. They usually include a section on the intended audience and what their background should be to productively engage with the text.

The most important thing is that you solve or attempt to solve many problems, and avoid looking at the solution until you've really spent a good deal of time banging your head against the wall trying to figure it out. How much time you should wait scales with the difficulty of the subject (e.g., less than an hour for high school level material, a week or more for advanced undergraduate level material, etc.).

Re:Ask HN: What is the most underrated skill software engine... by ahpearce on Tuesday February 18, 2020 @02:03PM (#22359116)
Appreciate your response to this. I guess it's tough to go back and try to pick things up and move forward from a particular point. I feel like getting a much more solid grasp on Probability and Linear Algebra would be the most beneficial to my profession (data science), but again, not sure that I have the motivation.
Re:Ask HN: What is the most underrated skill software engine... by sn9 on Wednesday February 19, 2020 @02:02AM (#22363611)
It absolutely wasn't my intent to discourage you!

The way I think of it, we all likely have decades left in our career. Consistently spending a few hours per week studying mathematics or some other technical subject related to our goals will only take a few years to reach a non-trivial level and then you still get to enjoy decades of returns off that initial investment of time.

How much more effectful will you be with a deep understanding of the fundamentals of your craft? How much more fulfilling will your work be when you have a top X percentile set of skills within your field or a unique combination of skills that give you unique insights or career leverage?

And that doesn't even touch on the aesthetic beauty of the subject matter itself! How will it affect the way you view and understand the world around you?

Remember the lessons of compound interest: a small increase of investment consistently made early on will likely have outsized effects down the line.

Re:Ask HN: What is the most underrated skill software engine... by moralestapia on Thursday February 13, 2020 @04:16PM (#22321504)
I don't like giving you a vague answer to this but math is truly vast so it depends a lot on what you're doing. Tell me more and I could give you more suggestions.

In my particular case, I started with Linear Algebra and that led me to some Applied Geometry and now I'm reading some (basic) things about Topology as well. I've also read a lot about Category Theory, in part thanks to HN as it keeps surfacing here often.

Re:Ask HN: What is the most underrated skill software engine... by hamiltonc on Friday February 14, 2020 @03:42PM (#22330192)
Statistics and probability.

I've lost count how many times I inferred stuff by common sense and hunch, just to be proved wrong.

Our intuition is mostly off for statistical phenomena like confidence levels, odds of something happening again given some sample, some event being (statistically) relevant or not, etc.

Re:Ask HN: What is the most underrated skill software engine... by ahpearce on Tuesday February 18, 2020 @02:01PM (#22359096)
I have a Bachelor's and Master's in stats, more or less, but my confidence is still extremely low.
Re:Ask HN: What is the most underrated skill software engine... by kazinator on Wednesday February 12, 2020 @07:33PM (#22314317)
How about: learning to type fast, with all ten fingers, without looking at the keyboard.
Re:Ask HN: What is the most underrated skill software engine... by sgillen on Wednesday February 12, 2020 @07:50PM (#22314384)
I would say 10 fingers is optional if you can manage the other two.

Fun fact I type with 3.5 fingers at a reasonable speed and without looking at the keyboard. I never have problems with wrist pain. I tried to teach myself to use all 10 fingers and within a day or two was experiencing very noticeable pain! I switched back to my ad hoc method and haven’t looked back.

Re:Ask HN: What is the most underrated skill software engine... by muzani on Thursday February 13, 2020 @09:43AM (#22318067)
I used to think so, but I switched to an ergonomic keyboard, which split the keyboard to two parts. After properly learning to type, my work speed increased tremendously. It also helps a lot having a 100% accuracy rate on brackets and apostrophes.
Re:Ask HN: What is the most underrated skill software engine... by highhedgehog on Thursday February 13, 2020 @07:18AM (#22317143)
maybe cause you never used them?
Re:Ask HN: What is the most underrated skill software engine... by aprdm on Thursday February 13, 2020 @12:04PM (#22319302)
Is writing speed a real bottleneck for any software development...? The other day someone posted how 10 lines of code a day is the avg as per the mythical man month book which the author of Redis agreed with!

I've worked with people who barely knew how to type, which was annoying to see, but were extremely senior and productive.

Re:Ask HN: What is the most underrated skill software engine... by jklein11 on Friday February 14, 2020 @11:18AM (#22327755)
Maybe not for development but it certainly comes in handy for note taking
Re:Ask HN: What is the most underrated skill software engine... by forgotmypw on Wednesday February 12, 2020 @10:17PM (#22315053)
This is why I lug around a standard keyboard to go with my laptop. I know exactly where the keys are, including directional and navigation.
Re:Ask HN: What is the most underrated skill software engine... by AnimalMuppet on Thursday February 13, 2020 @11:33AM (#22319008)
I've done that, too, when I was going to have to do real work on the laptop. For me, laptop keyboards have two problems. The key spacing is wrong. I don't have laptop-keyboard-sized hands. The other problem is key travel. I like keys that push a bit farther than laptop keys do.
Re:Ask HN: What is the most underrated skill software engine... by forgotmypw on Thursday February 13, 2020 @05:32PM (#22322086)
Yep. Desktop keyboard were designed for typing. Laptop keyboards were designed to fit inside a laptop.
Re:Ask HN: What is the most underrated skill software engine... by blaser-waffle on Thursday February 13, 2020 @09:12AM (#22317821)
Sales, and selling.

You're selling yourself and your skills on an individual level.

You're selling your team and your pieces of the codebase on a manager level.

You're selling your product or your vertical on the executive level.

This isn't Wolf of Wallstreet or "Coffee is for Closers", but if you're not able to sell yourself a little then you'll be struggling against an equally good coder who knows how to put a little spin and polish on what they're doing.

Re:Ask HN: What is the most underrated skill software engine... by eliasbagley on Thursday February 13, 2020 @01:46PM (#22320216)
Any resources for this?
Re:Ask HN: What is the most underrated skill software engine... by soulchild37 on Friday February 14, 2020 @01:22AM (#22324377)
Definitely https://kalzumeus.com for selling yourself careerwise, and https://stackingthebricks.com if you are planning to sell your own product
Re:Ask HN: What is the most underrated skill software engine... by dflock on Wednesday February 12, 2020 @08:53PM (#22314669)
If you want a purely technical skill, being fluent in SQL, including DDL, joins, etc... would be a pretty good candidate.
Re:Ask HN: What is the most underrated skill software engine... by thewileyone on Wednesday February 12, 2020 @10:10PM (#22315027)
Testing. I've never known any great developer with at least good testing skills. I've met many awful developers who don't know how to test.
Re:Ask HN: What is the most underrated skill software engine... by thorin on Thursday February 13, 2020 @05:21AM (#22316623)
Correct. Testing can mean so many things though and could include debugging, unit and component testing, integration testing, reading 3rd party code/documentation to understand why your code fails to work as expected. Also documentation of what was expected and what happens...

Current crop of programmers seem good at writing unit tests, but poor in terms of overall system understanding and related skills (security, performance, networking, unix tools, databases etc).

This is as an EE/developer for last 25 years working often with offshore developers on large projects/accounts.

Re:Ask HN: What is the most underrated skill software engine... by cvaidya1986 on Wednesday February 12, 2020 @08:55PM (#22314678)
Setting expectations and communicating them clearly and continuously.
Re:Ask HN: What is the most underrated skill software engine... by cbanek on Wednesday February 12, 2020 @10:49PM (#22315182)
Good listening skills: Reflective listening, active listening, etc.

https://en.wikipedia.org/wiki/Reflective_listening

https://en.wikipedia.org/wiki/Active_listening

Re:Ask HN: What is the most underrated skill software engine... by thorin on Thursday February 13, 2020 @05:07AM (#22316573)
Speaking, writing, listening, thinking ( which includes debugging, designing, how things fit together, how people use their stuff, how you use other peoples stuff).

Communication seems to be the main thing I see missing, and caring whether what is produced is fit for purpose (not just your bit). As I move towards being an architect/less coding, this is something I'm thinking about more.

Re:Ask HN: What is the most underrated skill software engine... by pid_0 on Wednesday February 12, 2020 @09:47PM (#22314919)
If you want to make lots of money, soft skills. You can be a decent engineer and a good presenter and make $$$
Re:Ask HN: What is the most underrated skill software engine... by medialucky20 on Friday February 14, 2020 @08:18AM (#22326212)
Writing,know the reason behind developing this product or code. many times we end up just developing what asked to do without knowing its purpose, usage, impact etc. Sometimes these factor influence your work to feel belong to something
Re:Ask HN: What is the most underrated skill software engine... by photawe on Wednesday February 12, 2020 @07:27PM (#22314285)
Dealing with bugs in other APIs. This is such a sad truth of today's software - you are dependent on other libraries, and as you use them, you encounter bugs - and quite a few, I may add.

And even sadder, Microsoft ('s APIs) is not the exception, Microsoft is pretty much the norm.

Re:Ask HN: What is the most underrated skill software engine... by erkanerol on Thursday February 13, 2020 @02:19PM (#22320520)
Fixing a lot of small issues to make the codebase ready for production without getting bored. Unfortunately, only small portion of software engineering is sexy and cool.
Re:Ask HN: What is the most underrated skill software engine... by airbreather on Thursday February 13, 2020 @07:35PM (#22322832)
Effective Problem Identification and then Requirements Capture.

Few do it well, a poor start almost guarantees a poor outcome regardless of the quality of the team.

Re:Ask HN: What is the most underrated skill software engine... by jghn on Wednesday February 12, 2020 @07:06PM (#22314141)
Presentation skills, speaking in general. Learning how to read a room, drove consensus, and tease apart what someone is really after
Re:Ask HN: What is the most underrated skill software engine... by JamesBarney on Wednesday February 12, 2020 @10:16PM (#22315050)
Estimation.
Re:Ask HN: What is the most underrated skill software engine... by ak39 on Thursday February 13, 2020 @11:31PM (#22323971)
Relational data normalization at least to 3NF.
Re:Ask HN: What is the most underrated skill software engine... by master_yoda_1 on Thursday February 13, 2020 @03:14AM (#22316140)
is to understand that you can NOT get away with poor coding skill by developing only underrated skill ;)
Re:Ask HN: What is the most underrated skill software engine... by boltzmannbrain on Thursday February 13, 2020 @10:57PM (#22323849)
Patience.
Re:Ask HN: What is the most underrated skill software engine... by ironschool on Saturday February 15, 2020 @04:31PM (#22338129)
Naming
Re:Ask HN: What is the most underrated skill software engine... by frogperson on Friday February 14, 2020 @08:13PM (#22332253)
negotiating/sales.
Re:Ask HN: What is the most underrated skill software engine... by tboyd47 on Thursday February 13, 2020 @11:34AM (#22319021)
Debugging
Re:Ask HN: What is the most underrated skill software engine... by codingslave on Wednesday February 12, 2020 @08:38PM (#22314613)
The only thing that matters is data structures and algorithms. If you cant master those, you wont get far/your pay is forever capped and should move into management or another career entirely.
Re:Ask HN: What is the most underrated skill software engine... by pepper_sauce on Thursday February 13, 2020 @11:46AM (#22319142)
Yep, the best advice a software developer can get is to optimise for what interviews are selecting for.
Re:Ask HN: What is the most underrated skill software engine... by brailsafe on Thursday February 13, 2020 @03:54AM (#22316294)
You forgot the /s
Re:Ask HN: What is the most underrated skill software engine... by codingslave on Thursday February 13, 2020 @07:58AM (#22317336)
unfortunately im serious
Re:Ask HN: What is the most underrated skill software engine... by brailsafe on Thursday February 13, 2020 @04:55PM (#22321827)
That seems bizarre to me. Perhaps in generalized see roles at certain companies in certain locations and when you are grinding the interview process, but how do you feel it applies as a progression in skill alone?