AboutData Scientist working in a cool start-up in Madrid
SkillsPython NodeJS Java C++ Rust
Joined devRant on 4/22/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
So last week I really fucked up
I had this new implementation that was supposedly to be integrating smoothly into the rest of the service. It depended on a serialized model made by a data scientist. I test it in local, in QA environment: no problem.
So, Friday, 4pm, I decide to deploy to production. I check once from the app: the service throw an error. Panic attack, my chief is at my desk, we triy to understand what went wrong. I make calls with cUrls: no problem. Everything seems fine. I recheck from the app again: no problem.
We dedice to let it in prod, as the feature work. I go get some beers with the guys, to celebrate the deploy.
Fast-forward the next morning, 11am, my phone ring: it's a colleague of my chief. "Please check Slack, a client is trying to use the feature, it's broken"
Panic attack again. I go to the computer, check the errors: two types of errors. One I can fix, the other from a missing package on the machine that the data guy used.
Needless to say, I had a fairly good weekend.
- make sure Dev, QA and Prod are exactly the same (use Ansible or Container)
- never deploy on a Friday afternoon if you don't have a quick way to revert1
Actually, it happened just before my current holidays.
I had prepared a whole system to feed and use a machine learning model. My colleague and some others had been working on a great thing, all encapsulated, all abstracted for my system.
My last day at the office, they had it ready.
I install their thing, load one model and launch one dummy prediction: error. I try with other input data: error
I try debugging a bit more, errors all the way. Knowing them, I asked if they wrote some unit tests.
"Sure we did"
I find the tests, yes there are some. And I notice:
"Hey, I see that in all your tests, you're making more than one prediction at a time (=aka using a matrix with more than one row)
- yeah, and it work fine
- in the project, we're doing one prediction at a time, did you try it with one prediction?"
He tries: error, that was totally what I said.
I started ranting on loosing the scope of the project, why we do tests in the first place.
Then, I grabbed my coat, said "see you in one week" and let them rework their code.
I was so angry at them, it seemed so basic to just check that 👹
Forget about coffee, nothing wake you up faster than a colleague mentioning your name in the slack channel where the stderr of the app writes.2
One day every 2 week, we got to spend the Friday just learning and trying stuff. No working on projects unless it's critical.
On these days, I feel like I learn much more than in the rest of the weeks.
Today I built (normally Python developer) a web service using Rust.
My current new boss is pretty awesome. When he arrived, we were a lot of juniors dev crumbling under pressure. He directly went to product team and to sales team and totally reduced our workload to something acceptable.
He values sane work environment a lot, and I think that's what make a good boss
Fuck those weird encoding issues with Python! I've read the HowTo Unicode 10 or 20 times and I still got those 'ordinal not in range error'!!!2
So there was this project in second year of uni, I was in a team with 2 friends, we had to do a small project to learn programming. I was the most experimented one but still very bad.
One night, I took a few beers and started coding.
I wrote almost all the thing that night, the main functionalities plus the input/output.
But as I was drunk I made some weird decisions:
-naming all the classes in french and all the variables in English
-no tests (who does tests?)
-comments in Spanish
The next morning, when I send the code to my friends (we didn't know about git yet), they started hallucinating. We spent a lot of time refactoring and cleaning.
In the end, as most of the logic was there, we ended up the project a few days before due date and celebrated with more beers 🍺2
That feeling when you've been on holidays for 15 days and the `$git pull origin master` take hours...3
After weeks of constant rush, I finally managed to have one week dedicated entirely to reduce Tech Debt.
It felt so good to close all these todos, finally write those tests, that documentation :)1
I have until Friday to write a service that's going to consume our backend api.
I'm doing it with Python, the back end is in Node. It's going to be the first pyhon service in our company, so everybody is looking at it to see if we could/should do more Python!
Did I start watching SpongeBob SquarePants at 00am? Yes.
That's how tired I am of absurd workload and salesmen that promise features we're not close to have.
There's a humble bumble special Python with a 6-month Pycharm pro + 50$ in digital ocean + Fluent Python + talk.python classes + more at 25$.
A portion of the sales go to the Python foundation, it's a super good deal!!!1
I'm very tired of these impossible deadlines, it feels like as soon as one project finish, we have to rush to finish the other.
I should take some holidays.2
Can't decide between the guy that used gedit to code and the guy who wouldn't read the documentation.
Wait, that was the same guy!
Today I showed some of my non-programmer friends results of a simple program I wrote (very simple but very visual). They really enjoyed it and even thought of alterations I was able to implement.
I really enjoyed feeling that what I do has meaning 😊
Hope you have a good day!1
I just remember that all my colleagues are benevolent and when they are not, I can move to the sofa with my headphones
I remember my father letting us touch his beast, with windows 95 and a Pentium III (we thought Pentium 3 was a big deal). He had some games for us like the first Prince of Persia and another where you ski and have to avoid trees.1
That moment when gulp run is as long as one epoch when training my neural network. How did we arrive here?
That moment when I realize that my project has a dependency written by a researcher with no tests whatsoever while I spent 2h today writing my tests.
I started working with Luigi, the workflow manager for a data-science project. Any input on how to test the Tasks or how does it compare to Airflow?
I once made a pull request fully aware that 3 tests were failing. The PR was approved and merged.
In my defense, they were very complicated tests and I fixed them a few days after.3
My parents know I systematically google every question they ask me about computer in general. Hopefully one day they'll do it too.
I decided to give a try to NetBeans to open a C project and see what was inside. NetBeans died trying to parse it, taking all my RAM. Goodbye NetBeans2
A music player/library with a postgresql database and an HTML interface (a bit like cherrymusic). Written in Python, it started to be big.