Details
-
AboutI'm a software architect/engineer, used to do fullstack web app dev, now I do data pipeline engineering and building web apps on the side.
-
SkillsC#, Typescript, .Net, Azure cloud engineering, Databricks, Spark Minor experience: Golang, Python, NodeJs, Ruby on Rails
-
Github
Joined devRant on 12/3/2020
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
-
* 1 day of requesting the feature, deadline not for a while*
switch{
case 1:
Manager: How's the new feature going?
Me: I've done a bit of the front end. Here's how it will look.
Manager: Oh great it's done! Does it do ABC as the client requested? Does it also do XYZ that I just thought about this second?
Me: eh this is just part of the front end, I haven't even connected it to the backend - I haven't even started the backend.
case 2:
Manager: How's the new feature going?
Me: I've done a bit of the back end.
Manager: ok. Can I look?
Me: we'll it's just code... *shows them the code*
Manager: oh... so it's nothing really. Call me when it is done
}3 -
A TRIBUTE TO CODERS WHO JUST STARTED MAKING DISCORD BOTS USING PYTHON WITH PYTHON 3.9
When you just got the hype of making Discord Bots using Python ...
You update to Python 3.9 ... And then Go to CMD (for windows users) and type ... "pip install discord.py" ... You are very happy ... thinking finally You can add your custom bot to your server and then ... even pip tells you that you are noob at discord.py -
Tried disney+ for a week, I was not amazed by the catalogue. went to cancel my subscription and saw this. I guess if my trial ends at an "invalid date" then it would not end at all5
-
"I am not happy with the quality of the product"
*Ignores
"I dislike how I am forced to work here"
*Ignores
"The team does not understand software design and is writing 2000 line single functions"
*Ignores
"I am starting to think the product cannot be saved unless we start focusing on quality"
*Ignores
"I am not happy in my job anymore because I want to work as a professional..."
*Ignores
"All I ever do now is put out fires"
*Ignores
"I quit"12 -
Why do CEOs and higher ups always think development is just some easy quick thing you can spit out in a week? {
"I need a web app that can do X and I want to sell it to make more money!"
} or {
"I want something that can automate this thing here and then I can re-sell it!"
}
Usually, the project is something that already exists and has taken a whole team years to iron out and perfect and to compete with it would be insane or it exists and it's actually FOSS. We're a small MSP, we don't have the resources to make big ticket SELLABLE software.6 -
Every Monday I am privileged to wake up 1. 5 hours earlier and listen to executives talk about what meetings they had with potential customers and what news about ongoing agreements with other potential customers (which have been in the pipeline for 1 year or more sometimes)
Why is this necessary?? There has been virtually no progress on any of the topics discussed. At least nothing that concerns us devs.
Instead we get to wake up earlier, waste 1 hour, and get bored listening to what essentially seems like a sales speech while convince the employees the company is not spinning its tires while stuck in the mud.3 -
I fucking hate MS Teams!
I do not use it at all, but there is another company of our group that has it. At the beginning, I could just access the website and talk to them over there. Ok, the page was not good, but that used to work for me.
The last meeting I had with them, the web version did not exist anymore, they just made me install the app. Luckily there is an official Linux version, so I could install it. I got late to the meeting, but could make it.
Today I had a meeting with a client. Important stuff and Teams did not let me use it because I had no business account with Teams enabled on it.
I've tried to use one of my personal accounts, to create a new one, to enable Teams, I've clicked, enabled, allowed every single thing they asked, but I ended up on the Teams home page again or with Teams asking me to call people on Skype instead of using Teams.
I've managed to create a company on Microsoft account on which I had to be responsible to my workers (!?!?!?) and it finally opened the Teams app, but when I try to enter the client meeting link, it just opens the app with no error message at all.
Fuck Teams and fuck Microsoft!2 -
We use a third party paid company to produce a service and give ongoing support for it, which all our revenue streams depend upon. They are shit and their service is shit. Here's how my conversation about testing went today.
Me: 'hey X wrote an integration test project for the service. It shows the service is broken 50% of the time. We should give their team access to it and have them run it as part of CI'
Colleague: 'They are too shit to setup CI'
PM: 'we are stuck with them so there is no point. It is what it is'
Boss: just ignores me. Not even a reply.
Some days later
Head of QA: 'Hey Dev and QA are broken'
Me: 'because their service is broken. I made so and so suggestion before but it was rejected. We will just have to accept Dev and QA are broken 50% of the time'
Head of QA: 'no we cant'
Me: 'ok so we should setup the tests to run by giving them access'
Head of QA: 'No we shouldn't. The tests can only be used by us and if they break it tells us so we can act on it, or choose not to'
Me: 'We would not want to act immediately on all our revenue streams breaking? Yes we can reverse engineer their client and fix errors as they occur, or we could just have them run the tests and a team our company pays for can stop adding breaking changes to their own API every other day. Right now it has been broken for 2 weeks.'
Head of QA: 'in an ideal world we would have an internal team so you're wrong'
Me: :)
I really don't understand how they can come to such a conclusion. Am I missing something or am I surrounded by total fucking idiots?2 -
Just found out I passed the coding interview phase. Next step is a "live" (covid adapted) whiteboard interview.
I haven't had to do one of these before. Anyone have any advice on these?1 -
Latest dark theme news:
- GitHub got dark theme!
- Facebook mobile finally released their dark theme.
Dark theme everywhere!3 -
Worked on a team where every single sprint planning was a useless meeting because we were expected to deliver everything in the backlog every sprint. So what are we really planning?5
-
Storytime.
Our prometheus node, one of your oldest systems (somehow fits the Titan reference..), is about to be relieved of its duties after several years of loyal services to the crew.
We decided to run with another Prometheus node in the ring, that will run simultaneously with the old one, so that the new one can start to collect metrics that we need for alerting (some historic metrics are needed too..). sort of an Prometheus cluster, without the cluster fun and with 2 different Prometheus versions.
The problems with this? Well it's not the new node or the latest shit versions of Prometheus per se.
1: The node exporter.
those dudes decided to make some breaking changes in a minor update, so that you will need to run with some magic bullshittery, that the latest Prometheus can make something out of the old metrics provided by the old node exporters.
The other one is the related puppet code.
The node definitions for Prometheus were built via exported resources on the target nodes.
The code worked like a charm with only one Prometheus node, but try that with two instances in the same way.
Still WIP, but some targets are already included in the new Prometheus instance.
alerting works so far.
Can't wait to close this ticket for good.. -
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
I login this morning
Everyone going crazy as prod is broken in a million ways. 2.5 million exceptions In 24 hours.
We talk for 1 hour and solve nothing.
I diagnose the 2 biggest sources of exceptions and explain every step I took with screen snippets to reach my conclusions
The one other competent person on my team agrees. Otherwise complete silence.
I'm told not to fix the issue because I am leaving in 6 weeks and other people have to start taking responsibility.
No one fixes the issues. Instead they leave early. Now it's the weekend and the product is fucked.
Fucking useless people. Can't wait to leave.12 -
Day 1:
Me: 'Hi'
Middleware guy: 'Raise a Jira. We have always been so accommodating. Contact your manager.'
*Jeez*
===
Day 2:
Me: 'Could you please start the server in dev environment? I am a new joiner. I don't have access. Here is a jira.'
Middleware guy: 'Deadlines may be for you. It is not for me. Wait until tomorrow.'
*Damn, did he get a divorce recently?*
===
Day 5: *An urgent delivery asap* 'Hi, could you please do the configuration of the new app in staging?'
Middleware guy: 'So, here is the split up...
Task 1
Task 2
Task 3
Task 4
Task 5 & 6
Your app will be configured by tomorrow first half hopefully.. Oh and you can escalate if it is too late..
'
*What a b...*
===
Day 8:
Me: *Doing late sit for pushing a task* 'Hi, we have an issue. The server is not starting. Could it be due to..'
MW guy in 'second' shift: 'Oh, we don't extend support on unusual hours'
Me: 'But this is second shift.'
MW guy: 'Yeah, but I have to go home early now...'
====
Day 10:
Team Lead: 'Any innovative solutions?'
Me: 'Let's go SERVERLESS!' :D12 -
Woke up today to 4 commits from a peer that completely erased most of the work done in the last 2 weeks. After letting my coworker know that their commits were the issue, she insisted that they were not theirs, however they showed her signature.
Love how Git absolutely destroys liers.17 -
I saw this picture and joked that the guy in the picture is in my pocket? Then I realized the guy is the NSA agent monitoring me. Ouch! Jokes on me...9
-
Juniors are a fun bunch to work with.
Over confident, hero complex of that fresh graduate high, and then thrown in to the real world! Where there hopes and dreams are crushed in minutes when they see what monolithic applications really look like!!
But don't let that overwhelm you, your not going to be changing all of it any time soon, hell some of this code hasn't been touched in 5+ years and still works without fail.
Don't stress about the work load, you can only write 1 line of code at a time anyway, and hell, even seniors make mistakes.
The key about being able to manage this beast is simple, break it! Because the more you break it, the more you'll understand how a project is put together, for better or worse. Learn from the examples in front of you, and learn what not to do in the future 😎
But more importantly, plan your changes, whiteboard the high level logic of what it is you want to add, then whiteboard in the current codebase and determine where to slice this bitch up, then when it all looks well and good, take out your scalpel and slice and dice time.
Don't worry, your changes aren't going to production anytime soon, hell, you'll be lucky to get past the first pull request with this working 100% the first time, and that's a good thing, learn from tour short comings and improve your own knowledge for the next time!2 -
Developers :
Work as efficient as possible!
Also developers :
Pressing the arrow up ⬆️ in the terminal 90 times to find a command that could have been manually typed out in 1 sec17 -
You know you've been a dev for to long when a program fails to launch and you instinctively open the log files.4
-
Put away the keyboard. Think about what you're going to do, chart it out, work through the logic and then, when the entire construct is before you, you start typing.
Yes it will take longer, you're a junior, enjoy that nobody expects you to do miracles (yet) and take the time, you'll get it back when you're so used to working through logical problems that it happens on its own as soon as you hear about the problem.
Cutting corners and "hacking a quick solution" without fucking over the entire system is an art form. Before you do art learn your damn craft.3