Skillsgis, python, postgres, other stuff.
Joined devRant on 2/11/2019
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
First dev job is my current one.
I'm a software engineer in test, writing automated UI tests for web and mobile apps.
Its pretty great. I work from home with flexible hours. I have a boss but he doesnt manage my dev team, he just checks in to make sure I'm getting support, training and have all my questions answered. My dev team is myself and 2 other people, both of which are cool, and all the work is dev-driven.
Might just stay here until retirement, that sounds easy.2
Working on a portfolio project - I ran some tests, everything is all good - 100% passing. Computer freezes - pop_os has been giving me shit lately, so I have to restart. Fine.
I get back into code, i re-run pytest - nothing works. Python apparently can't find my modules anymore. I try a few things, nothing. Why? Who the fuck knows - "oh you need this conftest file", "oh you need to remove __init__ from this directory or that one", "oh it's a pytest version iss---" no, no, no - listen here you little shit, it was working two seconds ago. Tell me why and how software I wrote with the most basic ass package structure - literally TWO directories suddenly has no fucking clue how to import the modules. hmm? Even from within the app directory, app.server now no longer recognizes imports from app.main or app.database.
ALL of this worked. It works in new directories without dedicated venvs - it works in new directories with my global python install - it works with any one of my conda envs - it works on other computers - WHY doesn't it work in THIS directory all of a sudden?? Ugh.
What's terrible is that relative imports will probably solve it within the app dir, but the tests dir won't accept them. Moreover, vs code autocompletion can find all the modules, but python itself cannot. Fucking infuriating shit like this is.1
Context: New to typescript. Writing a thing, doing it for work, good opportunity to stretch my dev legs. Using a propriety lib, alternatives not an option.
SOOOO, who the fuck thought THIS was a good idea:
1. Lib has minified react in dev (because closed source) meaning no downstream errors AND the entire premise of the lib is that a widget is a react component, so I'm writing typescript react the entire time without downstream errors
2. SHIT docs. By that, I mean there's an API reference page that's so sparse there's literally a set of CRUCIAL interfaces that only say the word 'Interface' on them. That's it. that's what i get. It's an interface. NO FUCKING SHIT SHERLOCK, what the fuck is it though? What's its purpose? Is it an interface for a dog? A dog that has a 'shit' property? or a cat? or a cat eating dog shit? Nobody fucking knows - the docs sure as fuck don't care.
3. No syntax highlighting - editors, IDEs (i've tried a few) can't even find the lib inside this environment, so Code and everything else thinks I'm importing shit that doesn't even exist - so no error prediction, code completion based on syntax of the library, none of that.
4. There are some EXTREMELY basic samples - these samples exclusively use React classes - no function components, no hooks, nada - just classes and even perfect replicas of the sample code display erratic behavior like errors about missing props, so that's mostly FUCKING USELESS
5. And this... this is where the straw breaks the fucking camel's back... there's no... there's no hot reloading... Do you know what that (in conjunction with the previous 4 fuckups) means?
When I write anything or I fuck up (which of course I'm doing every time I write half a line because how the fuck?) I have to restart the client and server EVERY FUCKING TIME and manually test to see if the error (THAT ONLY GETS REPORTED IN THE LOCAL UI) is gone or different.
Then, once I see the error, it isn't an error: it's the minified React error-decoder link and guess what? It isn't really clickable a link OR copyable, meaning that every FUCKING time I get a new error, I have to MANUALLY TYPE A FUCKING 50 CHAR URL TO FIND OUT A GENERIC REACT ERROR MESSAGE WITHOUT A LINE NUMBER OR ANY FUCKING CONTEXT. I HAVE TO DO THIS CONSTANTLY TO SEE IF ANYTHING I'M DOING EVEN WORKS.
6. There's no github to complain to the maintainers or search for issues because it's NOT FUCKING OPEN SOURCE so there is literally nothing to be fucking done about it.
This is due in a week and a half, found out about it last Friday. How's your day going?
PS: good to be back after a long respite from dev ranting.1
Not a substitute for docstrings and code comments.
#TODO: insert witty and legible code.
#TODO: learn to read code.
return "Rant and self-deprecation complete."4
4th day at work, I configured some of my enterprise software until it broke the install entirely. 5th day: fresh install and config of all the shit I did for the last 4 days. GOD DAMMIT.
Third day at work, still configuring. This is what happens when you make me use windows. Got my first dev assignment today though, so that's fun.2
awww shit dog, I got the job! Now they wanna know which OS I want installed on my company computer. Wondering if maybe I'm still secretly being interviewed....7
Just finished fourth interview with a company (fuck me) for a solutions engineer position (I am a self taught dev that is transitioning to technical roles from a pretty "soft" background with the hope of being in a software engineer role within three years). Anyone have any experience with the solutions engineer role and some advice about it? Note: this IS an invitation to rant about solutions engineers so I know what NOT to do.5
Hey everyone. Just thought you might need me a little pick me up about how stupid the whole world is:
if you're someone who grades code, fuck you, you probably suck. Turned in a final project for this gis software construction class as a part of my master's degree (this class was fuck all easy, I had two weeks for each project, each of them took me two days). We had to pick the last project, so I submitted final project proposal that performs a two-sample KS test on some point data. Not complex, but it sounds fancy, project accepted. Easy money.
I write the thing and finish it, it works, but it doesn't have a visualization and that makes the results seem pretty lame, even though its fully functional. SO I GO OUT OF MY FUCKING WAY to add a matplotlib chart of the distribution. To do that, at the very bottom of the workflow, I define a function to chart it out because it made the code way more readable. Reminder, I didn't have to do this, it was extra work to make my code more functional.
Then, this motherfucker takes points off because I didn't define the function at the very beginning of the code... THE FUCK, DUDE? But, noobrants, it's "considered best prac--" nope, fuck you, okay? This class was so shit, not once was code style addressed in a lesson or put on any rubric - they didn't give a shit what it looked like - in fact, the whole class only used arcpy (and the csv mod once), they didn't teach us shit about anything except how to write geoprocessing scripts (in other words, how to read arcGIS docs about arcpy) and encouraged us to write in fucking pythonwin. And now, when the class is fucking over, you decide to just randomly toss this shit in, like it was a specific expectation this whole time? AND you do this when someone has gone out of their way to add functionality? Why punish someone who does extra work because that extra work isn't perfect? Literally, my grade would have been better without the visualization.
I'm not even mad at my grade - it was fine - I just hate inconsistency in grading practices and the random raising and lowering of expectations depending on how some grader's coffee tasted that morning. I also hate punishing people for doing more - it's this kind of shit that makes people A) wanna rip their eyeballs out, and B) never do anything more than the basic minimum expectation to avoid extra unwanted attention. If you want your coders to step up and actually put work in to make things the best they can be, yell at a grader to reward extra work and not punish it.4
Manager: "How long will this take?"
Me: "Er... it depends."
Manager: "Depends on what?"
Me: "Well, if the reactive hyperflux core's external dampeners are--"
Manager: "Yeah, yeah, whatever just get it done."
Me: "You got it boss."2
q: "why doesn't python do this like i want:
me: "Here's an answer that quotes an article and links out explaining with Python 3.6.x doesn't allow that."
every fucker: "downvote, doesn't answer why it isn't allowed"
FUCK YOU, PROVIDE AN ANSWER THAT DOESN'T SAY WHAT I SAID7
i need to up my devRant game so i can put this fucking bird on my shoulder. it'll be my CROWning achievement.12
When you're really fuckin proud of that extremely clean, elegant, efficient 30 lines of code. It might not be important, but holy shit it's pretty!!3
Me: *kills process*
Linux: 3243 killed.
Me: "sudo netstat -ntlp | grep 3243"
Linux: 3243 running.
* hour later *
Me: *kills process with 3045974th method*
Linux: 3243 killed.
Me: "sudo netstat -ntlp | grep 3243"
Linux: 3243 running.
Me: "Are you absolutely FUCKING kidding me?! What is this fucking thing, the god damn grim reaper? I've done some SKETCHY fucking things at the terminal to kill this BASIC fucking server and it is still running!! WHAT THE FUCK ARE YOU?!"
Manager: *peeks in helpfully* "Did you try the 'kill' command?"16