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 - "databases"
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.40
Fuck relationships, the only relationship I can have and maintain is with my Linux or in my databases.3
I fucking did it!!!!!!!
I fucking passed my last exam!!!!!!!!!!!
It fucking took me 6 YEARS of college to finally graduate a 4 year college!!!!!!!!!!!
I fucking have to do my finishing thesis before i get my degree!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!fcuck you
I fucking suffered so fucking much!!!!!!!!!!!
Last fucking exam was databases 1 and i fucking passeD ON THE FIRST TRY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!lick my balls play with them
I fucking spilled blood to get here!!!!!!!!!!!!!!!!!!!!shuh
I fucking am still mentally stunned!!!!!!!!!!!!!
Fucking I cannot wrap my fucking head around what just fucking happened!!!!!!!!!!
I fucking expected to fail and take another exam next week but I PASSED??? ON THE FIRST TRY?????????????
My fucking gpa is shit BUT I DON'T GIVE A FUCK IM DONE WITH STUDYING COLLEGE!!! FOR EVER!! FOR THE REST OF MY LIFE BRUH WTF THIS IS UNREAL IT FEELS LIKE I JUST SERVED THESE 25 YEARS OF PRISON AND NOW IM FINALLY GETTING OUT OF JAIL AFTER 25 FUCKING YEARS!! ALL MY LIFE I COULDNT DO SHJT I LOVED TO DO CAUSE I SACRIFICED MY LIFE TO SCHOOL. WAS IT WORTH IT? NO. FUCK THIS GOOFY AHH SHIT. I HOPE THIS DEGREE PAYS OFF CAUSE I DIDNT LEARN ALMOST SHIT IN HERE18
Ah the day before launch of a new app. And right on schedule the businesses is attempting to completely alter their requirements including a COMPLETE OVERHAUL OF THE DATABASE MODEL TO ADDRESS AN ISSUE THAT HAS ALREADY BEEN FIXED. I wish they would share the drugs they are clearly on so I could also live in this dreamland delusion where you can turn something completely on its head right on the finish line and expect everything to go well.
Manager: Hey I think I have a solution to that performance we talked about last week
Dev: I already fixed it, it only takes 1 second instead of 30 now.
Manager: Ok but I’ve also figured out a solution. If we completely change the entire database model that one query could potentially be even faster according to my understanding of how databases operate.
Dev: I fixed it without the need for that, actually it was just a matter of better conc—
Manager: I think we should go with MY solution. Drop everything and restructure the database immediately! Be quick, as you know we launch this application tomorrow! Have an extra coffee today and just crush it out, don’t overthink this either just do it.
How do you pronounce SQL?
"See for me, I just go my own way and pronounce it as ‘sqwool, or ‘sqwll’, which sometimes gets my coworkers (not db or programming people) calling it ‘Squirrel’. As such we have a custom written utility program which automates running certain SQL commands on various databases which is aptly named SQuirreL. Then we started to have fun with it: The ‘pre-defined’ sets of SQL are held in a ‘.nut’ file which you give to SQuirreL. When you want to see what scripts have been run, you check the SQuirrel’s .log to see what .nut files it has ‘eaten’. We thought about naming the log files .poop, but I felt that was too far. I know right now there’s people reading this cringing, but I say lighten up. My boss when presented with the tool, did not get ANY of the Squirrel/nut references… I mean the tool’s icon was a cartoon squirrel holding an acorn for crying out lout, but I digress.
So yeah, I call it Sqwll or Sqwool, but only when talking to people who don’t matter."
Source, in the comments: http://patorjk.com/blog/2012/...
I doubt this has ever been posted. =)9
If only I knew about the manga like that during my university times... Math could have been a piece of cake.
Manga guide series includes 40 books
Including manga guide to databases.
Closest more professional level same level friendly, would be head first series8
Worst and only experience is the reason I moved away from programming...
25 years ago I was hired to copy a phone book list to a access database.
Access back then would create lots of garbage, so I would add 3 to 5 entries before access crashed (shitty p133 laptop with 32mb ram running windows 98.
So I made a visual basic program to add data and work around the problem.
I offered said program to the guy really cheap and would still make it better.
Did also a admin module since he had hired dozens of people and I knew he would have problems peasing the databases together.
And... Dude cancels the deal.
I get a job, 2 weeks later he calls me... Ohhh I don't know how to get all the databases together...
Me: I'm working now, the program I did solved said problem. I trew the code away. Deal with it.
Everything about the company is a mess. The only thing that is decent is the people. And by that I mean they aren't shit.
Workflows are fucked.
Clients are fucked. You're pressuring me to get this shit production ready before new year's eve and you still don't know what the text should say and want to make changes to the UI? The fuck?!
Design is a complete shit show. There is a design team. They only make a fucking psd to show clients how an interface would look like. No mobile version (but it's still expected to work!), no markup. Resolution is fucking inconsistent and whenever a change is requested, they are nowhere to be seen so I have to actually do designing on top of having to use this worthless fucking framework I hate it so much.
Codebases are turbo-fucked because of said framework.
Databases are an inconsistent, fucked up mess. No foreign key constraints because every single fucking table is using the MyISAM engine.
And the thing that really makes me incredibly angry is all the "custom systems" look the fucking same at the database level. Like 30 fucking useless tables made for stupid HR workflows that make no fucking sense.1
I'm usually nice to people and try to look for the best in them... but this one time one of my colleagues gave me a code to review that, something about trees, can't remember, and the function was hammering the databases with 3 nested cycles, that's when I could no longer just watch. I was kinda mean on him that day, but as a result he did fix the problem and was really happy and I sensed a bit proud of himself as well.
Long story short, I believe he's not a software dev anymore. Kinda shame, I liked the guy, but he seemed enthusiastic of his new job and that is all that really matters in the end
had to redo my company's entry form, for some reason (some reason being their databases are all redundant and no one talks to each other).
was filing the form and had to attach a file, and the form reset 😑
not just that, but the form also asked for my birthday, my age and my age group, separately, and instead of having a dropdown to select my state, there was a radio buttons list 🤦♀️
i seriously wanna punch whoever did that form, honestly3
When used properly No-SQL databases are an incredible resource but my employer keeps hammering them in problems which could better be solved by traditional SQL databases in an attempt to be more "hip" and "cool".
This causes huge PITA in making the database work properly with the ORM we're using and waste of time since we're force to emulate basic features which are already exists in almost any SQL database (i.e. relational integrity) using No-SQL storage.1
At work I inherited some databases, were most of the tablecolumns are all varchar. No ID's, and everything is in one table. No relation tables no reference data. Because "we don't trust the users who fill the tables to understand relationships". And.. wtf.4
Can someone help me how to focus for 6 straight hours/day until the end of this month? Got 1 last exam left till i graduate with comp. science degree. I have to study databases but only theory. And i fucking hate reading text. I hate theory. I like solving problems analytically and theory is my weakness.
I read theory shit for a few mins and then distract myself with mobile games and tiktok for a few hours... I cant concentrate studying this shit...
How do i forcefully focus.
Can someone suggest me the best app that actually works to help me focus or something? Or some yt sound waves music?15
Recruiter bot just emailed me with some offers, let's take a look...
"Hand-on Experience with SQL and NO-SQL Databases preferably Redux"
Whew! I was worried for a second, thank god they are using a Redux database and not one of those really crappy React databases! I'll really consider applying now.
Sooo, turns out, management and senior PMs, technical PMs, service managers and you name it forgot an entire system.
A complete eco-system of applications, queues, services, load-balancers, deploy pipelines, databases, monitoring solutions, etc, etc, that if not handled correctly could effectively put the entire production line to a standstill.
So, waaay too late they make this discovery. In their ignorance. Just utter incompetence. Huge project. Millions of $. And they forget it. Months of meetings probably. Workshops and gettogethers at cozy hotel complex discussing ”the project”? And they do not understand some of the fundamental building blocks…
Basic engineering for these guys must mean something completely different.
I can’t even.
I am so fed up with this organization. It does not stop either.
How is this possible…
Do they even have half a brain?
TIL don't rely too much on in memory databases if your client runs development and production environment on the same machine.
More and more, I am getting frustrated/depressed from the attitude of our customers who complain, moan and get angry about issues in their infrastructure, while at the same time, refusing to pay more so the issues could be mitigated.
Like, a client's angry with us today for having one of their non-production-critical databases inaccessible for... Hmm... About 8 hours now (So a whole workday).
Like... I get it, some of your employees couldn't work with it offline, but like... What the hell do we do? You keep data from as far back as several years ago in there, without partitioning, without exports, in a mix of innodb and myisam, so when the DB crashes, and its replication has to be reset from zero, reimporting all the data takes hours upon hours, and importing .sql files just takes time.
Or another client who got angry when their app fell out of the internet, cuz one of their myisam-based log tables crashed, and had to be repaired, with data spanning several years back, meaning it took hours to fix...
The more I work with these "basic" and "simple" infrastructure designs that is *not* redundant, or HA, the more I wonder -- How do the big names out there do it? How do you design systems with fault tolerance so a single DB table crash doesn't lead to the whole app getting inaccessible?
We have... One, exactly one, client, who uses MariaDB with Gallera, and that cluster is *amazing*, it just keeps chugging along, without a care in the world. But it cost them quite a lot, as they had to buy 3 DB servers, instead of 1...3
I just started a new job where in my onboarding, I’m supposed to learn typescript and react. I am also supposed to gain some knowledge of databases. Since I am so new, I don’t really have any meetings. I see my manager maybe 2x a day. I’ve been using my time at work to learn these technologies.
I learn best by doing projects. I recently built a bot that scrapes media off of one site and posts it on another site. I was thinking I could create a react front end in typescript for the bit. I would also add a database to my project (the model for the front end) which contains the post history of the bot.
Would that be appropriate for work? I thought it would be good project to help me learn react. However, I am new to the “corporate” world and I feel like my manager won’t want me to waste company time on my side project.
The only other responsibilities I have are reviewing the source code and watching some onboarding videos6
Intern spent about a week trying to set up a local ruby on rails environment. Yeah, this is not really on topic, it wasn't that bad, but it's what comes to mind.
I don't know who modelled the databases I've had to work with these past months but god damn it no fucking normalization anywhere. Inconsistent data just cost me my morning.1
So i have been thinking..
SQL is a lang that runs on a specific software on the server, and helps creating data stores(databases and tables) that can be queried & manipulated.
is there a way to run sql like queries on the client side with no interaction from backend at all?
Say i have 5 inter related data models. in a backend world, they will form nice little tables of a db with all their joins and composite keys. from the server, i shall be querying them like "SELECT name from x where y=z & ..."
but what if i could store them like tables in browser memory and run the same query filters via a query language... is this possible?
or am i talking something far fetched here?8
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?
Having a senior DBA can save hours if not days of struggle and save your back, if you do not know well enough how to do a more complicated query yet, without fucking up something.
Good guidance and experience is worth so much.
... and no I do not have the rights to drop databases.1
MySQL Innodb easily get crashed, bullshit, I just restarted my server now all databases get corrupted. F*ck you OVH3
I understand unit testing and its value but I’m really struggling when I have to mock databases or other external resources. It’s normal or others have this annoyance?7