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
Search - "tools"
Hired a new BI developer. She tested reasonably ok in SQL, and certainly showed good strengths in visualising data, plus had a good attitude in the interview. We hired her. She broke her laptop the first day. We got her another then she complained the camera didn't work but didn't realise the lever in front of the camera was to move the privacy shutter off and on.
Assigned her some work of taking queries that are used in a BI tool that targets the transactional database directly, and re-jigging them for Snowflake which we're using as a data warehouse now, aggregating all our data into one place. Yet, she's struggling to understand why the SQL query she's pasted in doesn't work as-is.
I go over it again; the source schemas and tables are this, but in Snowflake we've named them this. She then bemoans how much work that is to change them all - I say use find and replace. She then struggles with Snowflake syntax errors and asks for a guide on T-SQL to Snowflake. I show her Google and say "this is what I did when I hit these problems - search for 'Snowflake equivalent to T-SQL getdate()' or 'how to get current date in Snowflake' but she still doesn't understand. I ask if she's every had to work between T-SQL and MySQL or MySQL and PostgreSQL or Oracle and so on and she says yes. I say the syntax isn't the same, is it? And she goes oh, now I understand.
She scored reasonably in her SQL test but I'm now concerned there's something fundamental missing in her grasp of SQL. I gave her a detailed demo of the tools, I explained in the interview and on her start about our move to a data warehouse for all our apps, and put her through some training plus gave her time to work through our Confluence pages - not expecting she'll remember everything, but more to ensure she recalls they exist and what the general contents are.
Anyhow, that's my rant.7
In my current company (200+ employees) we have 3 guys who deals with everything related to service desk (format computers, fix network issues, help non-tech people...)
The same team is responsible for the AWS accounts and permissions, Jenkins, self hosted Gitlab... anyway, DevOps stuff.
Thing is: only one of them have enough DevOps background to handle the requests from the engineering team (~15 people). Also, he usually do anything "by hand" clicking trough the AWS interface on each account, never using tools like Infrastructure as Code to help (that's why I started to refer to his role only as Ops, because there's no Dev being done there).
Anyway... I asked my manager why that team is responsible for both jobs, despite the engineering guys having far more experience with those tools. He answered with a shamed smile, as he probably questioned the same to his manager:
- Because they are responsible for everything related to our Infrastructure.
Does it make sense for anyone? Am I missing something here? In what universe this kind of organization is a healthy choice?4
Imagine you work in a mechanic’s shop. You just got trained today on a new part install, including all the task-specific tools it takes to install it.
Some are standard tools, like a screwdriver, that most people know how to use. Others are complicated, single-purpose tools that only work to install this one part.
It takes you a couple of hours compared to other techs who learned quicker than you and can do it in 20 minutes. You go to bed that night thinking “I’ve got this. I’ll remember how this works tomorrow and I’ll be twice as fast tomorrow as I was today.”
The next morning, you wake up retaining a working, useful memory of only about 5% on how to use the specialized tools and installation of the part.
You retrain that day as a review, but your install time still suffers in comparison. You again feel confident by the end of the day that you understand and go to bed thinking you’ll at least get within 10-20 minutes of the faster techs in your install.
The next morning, you wake up retaining a working, useful memory of only 10% on how to use the specialized tools.
Repeat until you reach 100% mastery and match the other techs in speed and efficiency.
Oops! Scratch that! We are no longer using those tools or that part. We’re switching to this other thing that somehow everyone already knows or understands quickly. Start over.
This has been my entire development career. I’m so tired.2
-- Best --
> Submitted my notice of termination for my current job
> Found a new job starting next year
> Can switch from Windows to Linux/MacOS in new job
> Got more time to work on personal projects due to the pandemic
-- Worst --
> Huge amount of software restrictions (current job) almost got several projects at work canceled. Maybe its important to say that the core business of my current workplace is auditing so there are a lot of law regulations which then apply in the softwaredevelopment process.
> New managers that do not have the slightest clue of what they're doing
> Online Teambuilding events
> Absurd amount of segmentation of tools and also different coding guidelines that are used at work. E.g. one team uses jira, another trello, another github issue tracker and so on.
For a long time I could not understand how do people put up with watching ads in Android apps. Then it dawned upon me: they grew up like this and they never had a proper classic old-school desktop experience. Back in the day it was unimaginable to have intrusive ads. I will never put up with intrusive ads. I despise it
Now even developer tools have ads, like Docker or NPM8
Follow-up on https://devrant.com/rants/5001553/...
How the fuck are Jupyter notebooks so popular in research? Like some dude had an idea to take perfectly good markdown and python code, add a whole lot of transitional properties to make version control impossible, encode it as JSON on the assumption that a human could somehow look at it and make sense of countless escaped characters and base64 encoded data, create dedicated software people need to install in order to read what used to be simple plain text, and think "This. This is what 99% of data researchers will use from now on." And somehow, overwhelming majority of researchers agreed that this extremely inefficient data format is the best there is and they should develop all their tools around it.12
docker, Dockerfiles - devops tools - amount of shell commands inside them and mangled && to make everything running in one file layer makes those unreadable mess that you need to think twice to understand, there is no debugger for it, you do everything with try and see what happens, there is actually no real dev toolset for devops and that sucks, since you got builder images that makes things more mangled than before, it’s clearly missing some external officially approved scripting language or at least
WITH LAYER and indentation / parentheses syntax and they still trying to make it flat, why are you doing that ?
as a result next to Dockerfile cause you can’t import multiple ones you get bunch bash scripts with mangled syntax and other crap that is glued together to make a monster - and this runs most of current software on this planet2
I had a pretty good year! I've gone from being a totally unknown passionate web dev to a respected full stack dev. This will be a bit lengthy rant...
- Got my first full time employment dev role at a company after being self-taught for 8+ years at the start of the year. Finally got someone to take the risk of hiring someone who's "untested" and only done small and odd jobs professionally. This kickstarted my career, super grateful for that!
- Started my own programming consulting company.
- Gained enough confidence to apply to other jobs, snatched a few consulting jobs, nailed the interviews even though I never practiced any leet code.
- Currently work as a 99% remote dev (only meet up in person during the initialization of some projects.) I never thought working remotely could actually work this well. I am able to stay productive and actually focus on the work instead of living up to the 9-5 standard. If I want to go for a walk to think I can do that, I can be as social and asocial as I want. I like to sleep in and work during the night with a cup of tea in the dark and it's not an issue! I really like the freedom and I feel like I've never been more productive.
- Ended up with very happy customers and now got a steady amount of jobs rolling in and contracts are being extended.
- I learned a lot, specialized in graph databases, no more db modelling hell. Loving it!
- Got a job where I can use my favorite tools and actually create something from scratch which includes a lot of different fields. I am really happy I can use all my skills and learn new things along the way, like data analysis, databricks, hadoop, data ingesting, centralised auth like promerium and centralised logging.
- I also learned how important softskills are, I've learned to understand my clients needs and how to both communicate both as a developer and an entrepeneur.
- First job had a manager which just gave me the specifications solo project and didn't check in or meet me for 8 weeks with vague specifications. Turns out the manager was super biased on how to write code and wanted to micromanage every aspect while still being totally absent. They got mad that I had used AJAX for requests as that was a "waste of time".
- I learned the harsh reality of working as a contractor in the US from a foreign country. Worked on an "indefinite" contract, suddenly got a 2 day notification to sum up my work (not related to my performance) after being there for 7+ months.
- I really don't like the current industry standard when it comes to developing websites (I mostly work in node.js), I like working with static websites (with static website generators like what the Svelte.js driver) and use a REST API for dynamic content. When working on the backend there's a library for everything and I've wasted so many hours this year to fix bugs and create workarounds related to dependencies. You need to dive into a rabbit hole for every tool and do something which may work or break something later. I've had so many issues with CICD and deployment to the cloud. There's a library for everything but there's so many that it's impossible to learn about the edge cases of everything. Doesn't help that everything is abstracted away, which works 90% of the time but I use 15 times the time to debug things when a bug appears. I work against a black box which may or may not have an up to date documentation and it's so complex that it will require you to yell incantations from the F#$K
era and sacrifice a goat for it to work properly.
- Learned that a lot of companies call their complex services "microservices". Ah yes, the microservice with 20 endpoints which all do completely unrelated tasks?
Isn’t it delightful when you come in to a large project to discover that they have a large underlying core that no one wants to touch but everyone relies on.
Quickly perusing the code you realize that the base was clearly created by someone who found their first tutorials for Java, but were previously a c developer.
It’s funny cause this code is of course from ~20 years ago and in different sections you can tell they were a C developer, a business admin, a Db admin, a junior conforming to pressures from others.
I recently looked at the deep rooted abuses of Java beans, and this entire internally created state management engine that serves no purpose but to create contrived complexity.
The use of propriety tools, that they paid lots for that perform incredibly simple tasks that have long since been solved by the open source community. Many of which are long defunct.
And the constant focus is on monkey patching the engine to solve small issues, which bloat the time to deal with issues. Since everything needs to be tested by their methodologies.
The inability to understand that the underlying structure is the issue and that tackling that, rather than just shifting the entire solution to new languages will suddenly solve the problems(or other underlying systems).
It’s just sad.1
Every problem I ever had with a game development engine, only made me hope for something better.
After all, we’re independent developers, not activision! What the hell is an “indie” anyway? I’d even grown a sort of disgust at the term, as if saying it, without having published anything, was being fake. The word felt vapid. Like calling yourself an e-celebrity, or apple putting an i in front of everything.
(Don’t you know its year 20xx, we attach coin to brands now! Dogecoin, ecoin, walmartcoin, hospitalCoin for when you really really just want an appendectomy).
This is my newsletter, Y Intercept, and the story of my many embarrassing failures, and what I have learned from them.
Indie Game Development Tools
Stay tuned for more, like "how I once redesigned the same interface over two thousand times."
and gems like
"I wish it was more like Minecraft, But With Guns - and the awful ads that FLOODED the internet from that one little, terrible, god awful suggestion."3
Triaging this project that's running on IIS makes me feel like my skillset is wasted on such banal garbage - while at the same time hoping nobody realizes what a mistake it was to put me on it because I have no idea how to troubleshoot or fix it.
I try not to be that guy who blames every issue on their tools but I can't believe some of these issues and respective fixes. Our QA was down for 2 months because I hadn't uninstalled a default module which prevents POST requests.
Someone in my mind, I see programmers who use Windows as “unserious” and “don’t really know what they’re doing”. I always catch myself every time because I know that this is entirely false. And smart people actually use the tools they’re most comfortable in to get the job done. At the end of the day, what really matters is how much money you’re making for the capitalists at the top.4
Looking at vacancies and the JS build tools asked (Babel, Gulp) and then visiting their websites I notice that I don't understand what they are going on about.
What the actual corpo fuck?
I've been out of the corporate loop for a few years, seems it's all about build tools these days. I need to get out of this industry pronto.3
Another machine not working till morning.
That's what happens when the engineer knows a bit how to operate the machines but doesn't have a grasp on how cutting tools work...
Replacing 60€ tools every 4 hours that should last a week is not profitable.
When so many tools are spent that there's no more in stock.
Also manufactor has cutting parameters for a reason... Making the tools work 3 times faster or deeper does not mean profit, means damaged machines and tools.
As comparison, think over clocking a cpu to 7000hz and pushing it to the max 24h a day...5
Please don't use OS specific libraries/binaries/build tools...etc
I'm talking to C/C++ users here. once in a while I see something on github maybe im just curios maybe I find your niche code useful but then you use make (who the hell still uses make?) or your library depends on another library than can only be mindlessly installed in a unix environment. and the most obscene of all a solution file...
thank god for rust.16
So... I've been looking for a week on why my machine was braking tools on every piece...
Found out yesterday, it was machining without water....
Told the engenheir (my direct boss)... Started working at midnight and was the same...
Decided to fix it, besides the fact that I'm a temp and shouldn't be doing his job...
Can't fix it... To many broken pieces....
Well a few metal pipes like straws and some rubber bands and its fixed for now...
I really can't understand why a engenheir gets 10x more money and can't bother to fix the machines....
Well I know why... He's not the one paying for new ones when these brake.
Next: other machine Is working without oil...
And no, I'm not messing with that... In a few months they will just have to buy a new one.4
Fuck Android development tools! What the fucking hell man?! I can't setup and run a simple hello world app!! And that's not the first time. I have tried this on multiple occasions throughout the years and always failed. Non-matching? multiple versions of build-tools, platforms, platform-tools, cmdline-tools, system-images, ... and binaries moving from folder to another between updates and Java, oh don't get me started on Java. I'm too old for this stuff.5
Terraform + helm-chart ... I really ned a break. Who the fuck invented this shit.
The HCL format sucks
The documentation sucks
The dev tools suck
The debug output sucks
But I'm ok with that, I can manage.
But today really it shot the bird ... I can't have a fucking comma in a string? Because idk why the fuck helm-release tries to parse that fucking string and wants to make an array or whatever out of it? Why, you fucking abomination?
Something in the docs? Nah, who reads them anyway.
Because you know it's totally not strange that a string is analyse and oh wait there's a comma in it, the dev surely wants me to make an array out of it, because you know ...
So now I have to escape my fucking comma to prevent it to parse my fucking string. I just want to have a fucking string you hideous monstrosity ....1
favourite/recommended database IDEs/tools? I'm looking to put more time into a hobby project using mysqlite. I only got datagrip, mysql workbench and DB Browser for SQLite on my list so far3
Alright, so I'm starting to doubt a very fundamental, as in foundational aspect of my projec:
* __everything__ lives in the same repo.
This is... problematic. Because yeah they're my inhouse tools so to speak, so obviously I need them all together and shit.
BUT: what if you only want one particular tiny piece of code, say one of my string utils or whatever? Fucking great then, on cloning the repo you also get the code that enables 3D rendering on my shitty terminal emulator.
I'm not crazy in thinking I should break things up a little, right? I've already made most of the code modular enough (or encapsulated is a better term? idk); the OpenGL blocks don't know what a window is, and the (again, shitty) window manager doesn't know what a mesh is either.
So they are separate things that work well together. But they could also work well with someone else's code, and while I'm not making that impossible it is bit of a pain in the ass.
I don't know, man. I think I should start using multiple repos and have a manager fetch the deps... sounds like a fucking chore, but I can no longer shove the thought to the back of my mind.
Fuck me, why do I do things.4
Your Web site is text-focused. SKETCH!
You like e-mail? SKETCH!
You use winking emoticons. SKETCH!
You generally write in proper English. SKETCH!
Visit a Web site which has a third-level domain name? SKETCH!
Use anonymity-and-privacy-protecting tools? SKETCH!
You offer pre-compiled PDFs. SKETCH!
That thing has a specification which is not paywalled. SKETCH!
That Web site lacks cluttered bullshit which ultimately does nothing but look "pretty". SKETCH!
That Web site is not operated by Facebook, Amazon, Microsoft, TikTok, or Google. SKETCH!
What programming language are you using? Oh, you sent me the URL of the programming language's Web site... which ends in ".ORG". SKETCH!
This thing is open-source. SKETCH!
"Matrix.org"? I haven't seen that on any bus ads lately. SKETCH!
This thing has a short licence and no EULA. SKETCH!
Use stuff which actually works exactly as expected and is owned by the user? SKETCH!
That thing is made out of passion, as opposed to a desire for profit. SKETCH!
You DARE expect me to step NEAR the edge of my digital comfort zone and possibly learn something such that I can improve myself? SKETCH!
Anything which is not run by a billion-dollar company which only provides underperforming, proprietary garbage is SKETCH!
Attaching the new drawing seems appropriate.6