What is the most useful skill for software engineers?
Programming? Algorithms? Knowing many language or the internals of some languages? No.
The best skill for a software engineer is knowing how to write well. There are some studies that establish a relationship between language skills and programming skills. It seems having strong language skills is better than being good at math when talking about developing software.
I can imagine that that’s because communication is a foundation of software engineering. This discipline is based in communal work. This is no place for lone wolfes. If your writings are not good, usually code will be messy and caotic.
On the other hand, having good writing skills is totally required to develop good documents and documentation is crucial in a software project.
Think about it, how are you going to code in programming language if you cannot express yourself in your native language?
What about maths?
The mathematical knowledge for programming is limited if we remove the parts of Machine Learning and Algorithmical study. When I see limited i don’t mean it’s not important, but it’s almost composed by concrete mathematics and of course logic.
Classical mathematics like Calculus, Algebra or Geometry are almost irrelevant in most modern-day programming scenarios (i.e CRUD-based).
Should language skills be evaluated in job interviews?
When I interviewed people some years ago, one of the questions was showing them a text written in English. This text had many flagrant typos and errors, and the interviewee was asked to explain the meaning of the text. The point of the test was to check English language knowledge and comprehension. It was not a tricky question as it was a short simple paragraph.
Other question was presenting a text with a contradictory statement and asking the candidate about it. The aim was to make sure the prospect was able to understand and detect a logical contradiction.
How to improve your language skills?
- Reading books.
- Learning another language.
- Writing (e.g writing a blog and
butchering the English languageas I’m doing here).