250 karma · joined February 2, 2015
I just wish we had a non-proliferation treaty on Flux frameworks.
While there are a lot of concurrency options to not get you in trouble with the GIL, it is annoying that there is no canonical way or pythonic way of doing it. I saw people using things like monkey patching, which made my jaw drop. I had to implement Websockets recently and was totally confused as to the right way of doing it. I ended up evaluating NodeJS and Go for this function, and went with Go.
Overall ... I love Python. It is perfect for small projects. For larger codebases (3KLOC+), I am slightly skeptical. It can be done but developers need to have quality code and strong test coverage.
Forgetting about the money bit (ha!), lets talk pure knowledge. I learned a lot more on the job than I did in school. In my specific case, I wouldn't have gotten those jobs without the PhD. However, I firmly believe there are high learning jobs that can be had without a PhD.
In CS, a PhD gets paid mid 6 figures. That is also what the average mid career developer gets paid. Go figure.
I'm about to quit my job with the aim of starting up my own company. I don't have a lot of non-tech contacts - i.e. potential customers and angel investors. That is my biggest worry.
I can't really bootstrap while on the job since I am currently in a large corporate job where the company owns everything I dream up.
So .. while I agree with all the advice about not quitting a job until one has another one lined up (I've given the same advice to others) ... I am about to go against this advice myself.
Any words of advice on how to manage this? Am I bonkers? Some stats ... have 6 months of living costs in liquid savings. No kids. Going to be leaving a job that pays north of 120K (which is not much in elite companies it seems).
I would not put unit testing in the same camp - frankly, my employer doesn't care about unit testing at all - to my chagrin. Senior developers sneak in unit tests on the minutes of breathing room we get. I actually got a lecture on "company cares about customer visible features". Well .. you know what? Software that doesn't crash is a pretty darned customer visible feature.
What makes me very uncomfortable is that my current situation reminds me of what I saw on the news about the BP oil spill incident. Management asks very pointed and specific questions - engineers answer truthfully. Mgmt makes wild decisions based on half information. I fear this kind of crap is rampant in organizations not run by technical people. Is it any better at places run by technical people?
The fundamental problem plaguing our industry is perhaps not agile - that is a mere symptom of it. The core problem IMHO are treating people like cogs and the need to continuously move faster.
Rant over. I needed that. Off to sneak in some unit tests.