Hi HNers,
I've worked in life science research for several years. I have no formal computer science education.
I've programmed some pretty complex systems for analyzing biological data -- image analysis, advanced statistics, distributed computing clusters etc.
I always manage to get the job done.
I applied for a tech job on a whim. They directed me to a Codility interview with some puzzle questions. I didn't do as well as I had hoped. I don't often deal with those sorts of problems at work, and I don't need to think about things like O notation to do my job well.
Am I a bad programmer? Have I just been dealing with easy problems and deluding myself? Has this happened to anyone else?
a. No, you're probably not a bad programmer. Companies who recruit solely based on codility type questions are... How do I put it?... Not smart.
b. Learning things like analysis of algorithms, data structures and other computer science fundamentals is useful, even if you might not use them directly, they will influence the way you think.
It is never too late to start and given an open mindset, willingness to apply oneself and consistent practice, it won't take long to understand the basics of computer science. I usually recommend this is a starting point :
http://interactivepython.org/runestone/static/pythonds/index...