3 ms·
Ask HN: Should I become a software engineer if I am not precise?
I am finishing my computer science master and have worked a bit in web development and iphone development. The teams either had outdated workflows or they were a young startup. I also gave 2 full-time web dev coding bootcamps.
What I'm noticing is that all these years I have a big flaw. I do see that there are programmers who have the same flaw or 'personality trait' and get by anyway. I wonder though if I should, or should change careers slightly.
My question is: should I become a software engineer if I am imprecise?
I have been imprecise since childhood: 1 + 3 - 5 would become: 1 - 3 - 5 or 1 + 3 + 5. I would compute my altered state of reality correctly, but somehow I could never ever get myself to read it in once and compute the actual question correctly. I always had to do 5 checks and then realize I made the wrong computation, twice. This type of imprecision also happens with programming. For example, when I'm writing JavaScript and I'm not realizing that I forgot to write a return statement for a .map function.
For the past 6 years that I've been dabbling in this field, studying and working sidejobs I always had one huge crutch to bypass this flaw. I made very very extensive use of a debugger. I passed the toughest courses at university because I single stepped through everything.
The thing is, when I did the toughest courses at university I met another type of programmer. It is the type of programmer who reads a program or writes a program and does almost everything perfect. They know that they need to type cast a specific value because the function they are passing it to is quirky and only accepts a very specific type.
I don't think this issue will ever go away. Should I become a software engineer? Second question: is this a flaw with regards to software engineering or isn't it and should I have another mental model for looking at it?
- itamarst 9y agoAlmost no one ever writes code correctly, in my experience. (I'm sure you can find studies on error rates, if you care.) Software engineers as a rule tend to write highly buggy code. Recent example from my own coding: I transcribed some code into mathematical equations. No new coding, just rewriting in a different form, and writing those 10 lines of math I introduced two major errors. As long as you're aware that you have this problem, nothing wrong with being a software engineer. The typical problem is more the people who don't believe they introduce errors even when they do. Our tendency to make mistakes is why we write tests. This is why we manually test our code. This is why we try to structure our code in ways that reduce potential errors (less if statements, less arguments to a function). More on different approaches to software quality here: https://codewithoutrules.com/2017/01/06/path-to-software-quality/ https://codewithoutrules.com/2017/01/06/path-to-software-qua...