Details
-
SkillsScala, functional programming
-
LocationCanada
-
Github
Joined devRant on 10/30/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Pro tip: If you are a junior, or senior but new at the company, don't start your conversations with:
"We're doing X wrong. At my previous company we did / at school I learned /in this book I read / according to this talk I watched, the right way to do X is ..."
Instead try:
"I'm curious why were doing X this way. I'm used to doing it differently."
I love flat-hierarchy teams, and people who think about flaws in procedures and proactively try to improve the tools we use are awesome, but the next kid walking up to me yelling we use git flow "wrong" will be smacked in the face with a keyboard.
If you come to me with curiosity and an open mind, I'll explain, and even return the favor by behaving the same way when I'm baffled by your seemingly retarded implementations.
Maybe we can learn from each other, maybe discover that "how I learned it" is sometimes good, sometimes bad.
But let's start with some social skills, not kicking off into every debate with a stretched leg and a red face.23 -
When the new guy on the team uses click bait titles on his PRs... that’s when you realise this guys going to go far.12
-
The project where I realized I wanted to go from chemist to pro dev.
I built a flow-chemistry spectrometer with monitoring backend in Haskell.
Spectroscopy is where you add a reagent to a glass tube, it changes color, and by measuring the exact color it tells you how much of something (for example, a toxin) is present in the sample.
I had to do that a lot on factory samples, writing down measurements using pen & paper.
I'm lazy so I decided to do the logical thing: Automate it. I bought a second hand spectrometer, stripped the casing, did a shitload of glassblowing and hooked up tubes to the production pipelines, so I could get samples, mixing them in the correct ratio with reagents in continuous flows using valves.
I ended up using 2 home-crafted arduino-like boards (etching PCBs is fun!).
One to calibrate the mixture against known samples and control solenoid valves to continuously cycle through various reagents and deionized flushing water, the other to record the measurements and send them to a server running a Haskell/Yesod API.
The server collected the information into InfluxDB (A time series database), displaying all data on a graphite dashboard.
Eventually I wrote Haskell plugins for most of the chemistry processes, from pH & temperature measurements to polymer property and pigment tests (they made a lot of printer ink).
Then I was fired because they didn't need chemists anymore, and the code "could be maintained by the intern" (poor guy)...
But I did find out that I loved functional programming, chemistry automation projects, and crafting my own electronics during that time.16 -
Boss - gives tasks to me. Timeline: 10 days.
Me - work hard and finish the solution in 3 days.
Boss- wtf is this. Do it properly.
Me - chills for 15 days. Submit the same earlier solution after that.
Boss - yes this looks nice now! Much better than your earlier work!
Me - dude seriously what kind of stuff do you smoke before coming to work?8 -
The struggle of telling your coworkers about DevRant vs. the fear of them finding your rants you wrote about them2
-
Functional Programming. Because Moores Law has moved from making processors faster to multiplying cores, and we may eventually have to code on machines that have 1024 cores or more. Mutable state will cause all kinds of hell in those scenarios. We already have problems with it when we have like 2-3 different threads.4
-
Dear fellow developer,
You are not alone. No matter what situation you have been, you are in, you might be, there definitely are people who can share your pain and joy on similar wave length. Here at devrant.
Introvert?
Poor?
Alone?
Odd one out?
Trouble studying?
Family issues?
Debts?
Hate workplace?
Bad teacher?
Depression?
Laziness?
Forever alone?
Struggling?
Full of regrets?
Lost something?
Lost someone?
Lost?
You name it. All of us may not understand, sure. But there definitely will always be more than one person who will totally know what you are trying to say. Here at devrant only.
So whatever you are in, wherever you are and however you feel, just rant it out. 😄 And remember that we are one tap away from you.
For that devrant creators and most of all each and everyone of you have my eternal thank.72 -
I hired a woman for senior quality assurance two weeks ago. Impressive resume, great interview, but I was met with some pseudo-sexist puzzled looks in the dev team.
Meeting today. Boss: "Why is the database cluster not working properly?"
Team devs: "We've tried diagnosing the problem, but we can't really find it. It keeps being under high load."
New QA: "It might have something to do with the way you developers write queries".
She pulls up a bunch of code examples with dozens of joins and orderings on unindexed columns, explains that you shouldn't call queries from within looping constructs, that it's smart to limit the data with constraints and aggregations, hints at where to actually place indexes, how not to drag the whole DB to the frontend and process it in VueJS, etc...
New QA: "I've already put the tasks for refactoring the queries in Asana"
I'm grinning, because finally... finally I'm not alone in my crusade anymore.
Boss: "Yeah but that's just that code quality nonsense Bittersweet always keeps nagging about. Why is the database not working? Can't we just add more thingies to the cluster? That would be easier than rewriting the code, right?"
Dev team: "Yes... yes. We could try a few more of these aws rds db.m4.10xlarge thingies. That will solve it."
QA looks pissed off, stands up: "No. These queries... they touch the database in so many places, and so violently, that it has to go to therapy. That's why it's down. It just can't take the abuse anymore. You could add more little brothers and sisters to the equation, but damn that would be cruel right? Not to mention that therapy isn't exactly cheap!"
Dev team looks annoyed at me. My boss looks even more annoyed at me. "You hired this one?"
I keep grinning, and I nod.
"I might have offered her a permanent contract"45 -
A Monday morning poem
I enter the bureau, feeling all relaxed and well,
my colleague looks up:
"Abandon all hope, welcome to hell."
This indeed, he doesn't say,
his face only twists a little in dismay:
"I need that schematic, did you finish it yet?
And there also some tests I'd like to get -
how was your week-end by the way?"
I start my computer, don't remember what I say ...
I grab some coffee, half a day is gone,
the PM pressures: "I want that asap done!"
I am cluttered in tasks and bullshit, too:
"Go fuck you right now - yes, I meant you!"
I don't say what I like to, I mentally punch a wall,
I crank some more code out and git-commit it all.
Some devRant on the lunch-break, some shallow talk,
I leave the building and take a short walk.
My mind rotates, I cannot enjoy the scenery now,
I return to my desk, and figure out what to handle and how.
But my plans are crashed by a colleague dashing in:
"I need you to do a test setup! I need to begin -"
I do the setup, I do some other stuff,
At the end of the day I feel totally rough,
Work is piling up even more -
"Tomorrow", I think and close the door.
At home, I just flop on on my bed -
I should be learning instead ... -
with some pizza and chill.
I think about sleeping, I hope that I will.
...
It is now Friday,
my brain is fried, too.
I am finished with this poem - how about you? :)7 -
Dear people who complain about spending a whole night to find a tiny syntax error; Every time I read one of your rants, I feel like a part of me dies.
As a developer, your job is to create elegant optimized rivers of data, to puzzle with interesting algorithmic problems, to craft beautiful mappings from user input to computer storage and back.
You should strive to write code like a Michelangelo, not like a house painter.
You're arguing about indentation or getting annoyed by a project with braces on the same line as the method name. You're struggling with semicolons, misplaced braces or wrongly spelled keywords.
You're bitching about the medium of your paint, about the hardness of the marble -- when you should be lamenting the absence of your muse or the struggle to capture the essence of elegance in your work.
In other words:
Fix your fucking mindset, and fix your fucking tools. Don't fucking rant about your tabs and spaces. Stop fucking screaming how your bloated swiss-army-knife text editor is soooo much better than a purpose-built IDE, if it fails to draw something red and obnoxious around your fuck ups.
Thanks.62