The second worst interview: omg python threading

twitter logo github logo ・1 min read

One of the contracts that I interviewed for in the mid 2000's (before I move out of Chicago) was for a job that was a "multithreading python" developer engineer.

During the interview I asked the lead engineer about this multithreading job. I asked for clarification from active-python or cpython. He said all of the development was being done in cpython.

EEEEEP!

Yea,I'm an asshole. I said something to the effect that his project was impossible with cpython but I'd help him guide his project to a real-time multithreaded system.

and then we argued about this engineering issue for 30 minutes -he couldn't get past the Global Interpreter Lock! ...like it was a foreign concept.

...and this was a financial trading company...... they died -ugh.

twitter logo DISCUSS (4)
markdown guide
 

"multithreading python" sometimes is an uncompleted subject, you need to know how your selected interperter works and if this could support the task you want to do....

What is your opinion about concurrency instead of multithreading ?

 

I apologize. I think I missed the larger question.

In my experience, if you don't know the the interpreter you are working with then you can't write the application.

You bring up a good point though for sure... And that was ultimately my failure in the interview.

 

I'm for concurrency. (period). Even with the loss of file io you gain the ability to multithread/multiprocess. Always write reentrant code (when possibel), etc.

Multithreading / Multiprocessor is a more involved question. Basically, if an app needs to communicate across systems -multiprocessing. If an app might require async communications -multithreading

 

this paradigm holds true for c/c++ as well. so the translation to 'base' languages like rust and go follow suite.

IMHO,always code to the lowest common denominator.

Classic DEV Post from Oct 19 '18

Have you used the new "suggested changes" in GitHub pull requests?

These are pretty cool! "Suggested Changes" are in public beta and allow you to ...

Karl N. Redman profile image
Software / Systems Engineer and Administrator. Lover of systems. Proponent of automation. Advocate of individuality and the perspective of context.