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 - "she should be a developer"
Was lead developer at a small startup, I was hiring and had a budget to add 3 new people to my team to develop a new product for the company.
Some context first and then the rant!
Candidate 1 - Amazing, a dev I worked with before who was under utilized at the previous company. Still a junior, but, she was a quick learner and eager to expand her knowledge, never an issue.
Candidate 2 - Kickass dev with back end skills and extras, he was always eager to work a bit more than what was expected. I use to send him home early to annoy him. haha!
Candidate 3 - Lets call him P.
In the interview he answers every question perfectly, he asks all the right questions and suggests some things I havent even thought of. CTO goes ahead and says we should skip the technical test and just hire the guy, his smart and knows what his talking about, I agree and we hire him. (We where a bit desperate at this stage as well.)
He comes in a week early to pick up his work laptop to get setup before he starts the next week, awesome! This guy is going to be an asset to the company, cant wait to have him join the team - The CTO at this stage is getting ready to leave the company and I will be taking over the division and need someone to take over lead position, he seems like the guys to do it.
The guys starts the next week, he comes in and the laptop we gave him is now a local server for testing and he will be working off his own laptop, no issue, we are small so needed a testing stack, but wasnt really needed since we had procedures in place for this already.
Here is where everything goes wrong!!! First day goes great... Next day he gets in early 6:30am (Nice! NO!), he absolutely smells, no stinks, of weed, not a light smell, the entire fucking office smells of weed! (I have no problem with weed, just dont make it my problem to deal with). I get called by boss and told to sort this out people are complaining! I drive to office and have a meeting with him, he says its all good he understands. (This was Friday).
Monday comes around - Get a call from Boss at 7:30am. Whole office smells like weed, please talk to P again, this cannot happen again. I drive to office again, and he again says it wont happen again, he has some issues with back pain and the weed helps.
Tuesday - Same fucking thing! And now he doesnt want to sign for the laptop("server") that was given to him, and has moved to code in the boardroom, WHERE OUR FUCKING CLIENTS WILL BE VIEWING A DEMO THAT DAY OF THE PRODUCT!! Now that whole room smells like weed, FML!
Wednesday - We send P a formal letter that he is under probation, P calls me to have a meeting. In the meeting he blames me for not understanding "new age" medicine, I ask for his doctors prescription and ask why he didnt tell me this in the interview so I could make arrangements, we dont care if you are stoned, just do good work and be considerate to your co-workers. P cant provide these and keeps ranting, I suggest he takes pain killers, he has none of it only "new age" medicine for him.
Thursday - I ask him to rather "work" from home till we can get this sorted, he comes in for code reviews for 2 weeks. I can clearly see he has no idea how the system works but is trying, I thought I will dive deeper and look at all of his code. Its a mess, nothing makes sense and 50% of it is hard coded (We are building a decentralized API for huge data sets so this makes no sense).
Friday - In code review I confront him about this, he has excuses for everything, I start asking him harder questions about the project and to explain what we are building - he goes quiet and quits on the spot with a shitty apology.
From what I could make out he was really smart when it came to theory but interpreting the theory to actual practice wasnt possible for him, probably would have been easier if he wasnt high all the time.
I hate interview code tests, but learned a valuable lesson that day! Always test for some code knowledge as well even if you hate doing it, ask the right questions and be careful who you hire! You can only bullshit for so long in coding before someone figures out that you are a fraud.16
I just had a client complaining on the phone that she read my database design documents and that they are all wrong and need to be done again. Because things like varchar and int are confusing. And nobody understands what they mean. She asked around and nobody understood it.
Ooh, and I should place the customer name in more then one table because it would be handy to have in several places.
Spend a hour on the phone trying to explain that these documents are not intended for her. They are not for her to understand.
I make these documents to build a stable product and in case something bad happens to me its easier to pick up for another developer.
Long story short.. I'm currently making a document that explains the database design... Getting paid for it..... But fucking hell. Somebody save me.10
Dev: “Ughh..look at this –bleep- code! When I execute the service call, it returns null, but the service received a database error.”
Me: “Yea, that service was written during a time when the mentality was ‘Why return a service error if the client can’t do anything about it?’”
Dev: “I would say that’s a misunderstanding of that philosophy.”
Me: “I would say it’s a perfectly executed example of a deeply flawed philosophy.”
Dev: “No, the service should just return something that tells the client the operation failed.”
Me: “They did. It was supposed to return a valid result, and the developer indicated a null response means the operation failed. How you deal with the null response is up to you.”
Dev: “That is stupid. How am I supposed to know a null response means the operation failed?”
Me: “OK, how did you know the operation failed?”
Dev: “I had to look at the service error logs.”
Dev: “This whole service is just a –bleep-ing mess. There are so many things that can go wrong and the only thing the service returns is null when the service raises an exception.”
Me: “OK, what should the service return?”
Dev: ”I don’t know. Error 500 would be nice.”
Me: “Would you know what to do with error 500?”
Dev: ”Yea, I would look at the error log”
Me: “Just like you did when the service returned null?”
<couple of seconds of silence>
Dev: “I don’t know, it’s a –bleep-ing mess.”
Me: “You’re in the code, change it.”
Dev: “Ooohhh no, not me. The whole thing will have to be re-written. It should have been done correctly the first time. If we had time to do code reviews, I would have caught this –bleep- before the service was deployed.”
Me: “Um, you did.”
<a shocked look from Dev>
Dev: “What…no, I’ve never seen this code.”
Me: “I sat next to Chuck when you were telling him he needed to change the service to return null if an exception was raised. I remember you telling him specifically to pop-up an error dialog ‘Service request failed’ to the user when the service returned null.”
Dev: “I don’t remember any of that.”
Me: “Well, Chuck did. He even put it in the check-in comments. See…”
<check in comments stated Dev’s code review and dictated the service return null on exceptions>
Dev: “Hmm…I guess I did. –bleep- are you a –bleep-ing elephant? You –bleep-ing remember everything.”
<what I wanted to say>
No, I don’t remember everything, but I remember all the drive-by <bleep>-ed up coding philosophies you tried to push to the interns and we’re now having all kinds of problems I spend waaaaay too much time fixing.
<what I said, and lied a little bit>
Me: “No, I was helping Nancy last week troubleshoot the client application last week with the pop-up error. Since the service returned a null, she didn’t know where to begin to look for the actual error.”
A fanfic based on devRant-chan. The character was created by @caramelCase and a drawing by @ichijou.
This is freestyle. I'll think of an image of a scene and go with the flow. I won't remove my fingers from the keyboard and I won't edit or change anything. That's how I come up with my best ideas.
B/N = Boss' name (I was too lazy to think of one.)
Anything in between astericks is in italics.
Ex.) *this is in italics.*
It was an early January morning when devRant-chan was situated in her desk, typing away on her laptop. She was working on a Python script for her barbaric client when she could've been out with friends. Oddly enough, her Sunday was surged with tranquility.
Normally, Sunday is when her irksome boss barks orders at her on the phone.
"This is wrong!"
"What is this?"
devRant-chan resented her boss but loved her job. After all, "you can't force yourself to like everyone," was something her elder brother would tell her.
She released a slight chuckle, the one she would only display at the thought of her brother.
Her musings were interrupted when a concerning thought crawled into her mind like an undesirable intruder.
Why hasn't her boss called to complain yet? It's not that she enjoyed his complaining, which she didn't. She simply found it odd, since he's done this every Sunday morning, since she was a junior developer.
Unless he found someone else to complain to? In that case, good riddance!
But still, it wasn't a euphoric feeling to be replaced. She was already accustomed to his Sunday morning calls that it feels almost lonely not to receive them.
She should call him... Just in case some situation—or—problem—has emerged.
She dialed his number, waiting patiently for a reply.
"Hello," said her boss.
"Ah, hello," said devRant-chan. "I called, wondering—"
"You've reached the voicemail of B/N, please leave a message after the beep."
"Damn..." mumbled devRant-chan with a sharp exhale. "I always fall for that."
Why didn't her boss answer the phone? It was odd of him, considering he's always answered her calls.
She was about to dial her coworker when she received an email, which stimulated her attention. The subject of the email read:
*Important. Please read.*
She opened the email. It was her boss. The email read:
*In case you aren't aware, I had quit my job, due to the stress. I've left the manager in charge. Starting tomorrow, he will be your new boss.*
Before she could rejoice in excitement, she detected a strange change of voice, emitting from the email. Did her boss really write this?
That's when she spotted something. The word "tomorrow."
Her boss didn't write this.
He would never use words such as "tomorrow," or "today." He would use time instead. If this was her boss, he would say "in 24 hours."
She checked the IP of the email. Oddly enough, it was her boss' IP.
Still, the pieces didn't fit the puzzle. Her boss didn't complain, answer her call, or use his style of speaking in the email.
Something happened to him and she knows it. Whatever it is, has something to do with the manager, and she was determined to figure it out.
This was just a quick random fanfic, and I'm not sure if I'll continue it. As I said, I didn't plan anything, since it's freestyle. I might or might not continue it, so I'll think it over.8
So before today, I'd never used GoDaddy before. Not even once. My supervisor walks in and happily informs me that I'm going to be adding photos to a website that she does editing for. Okay, fine, that's stupidly easy. What I did not realize, however, is that this entire website had been built using GoDaddy's site builder, and if you're not familiar with it, thank whatever gods you worship that you've dodged that bullet. I hardly want to go wandering around somebody else's web hosting, so I search about for a bit praying that there's SOME semblance of a normal text editor someplace, because text editors make me happy and all, and find very little on the regular site. Already not thrilled. So I figure, how bad is this site editor? Really, how bad can it possibly be?
Oh, you poor misguided son of a -
Anyway, I go in and look at the site. Slideshows everywhere, nothing is aligned correctly, it's a web designer's nightmare. Thankfully, I'm not a web designer, so I press on and reorganize a little bit. I try slapping a new slideshow on their, and discover that unlike the way it SHOULD work, elements do not move to allow for other elements, they just sit there and let you throw things on top of them. I stare at my neatly-stacked slideshows for a second in utter disbelief, knowing but not really accepting that I'm going to need to take every last one of those slideshow elements and slide those little so-and-so's down by hand. ....why? Who designed this? Who decided that was a good idea? I do some Googling to see if there's anything out there to make this less horrid, and lo and behold I find a GoDaddy page about their FTP file manager! It's under web/classic hosting, which apparently means it's deprecated because I spent the next ten minutes hunting around for the "web hosting" link those chicken-lickers were so proud of and it's nowhere to be found.
Alright, so they want to do this the hard way.
At this point I'm screaming internally and PRAYING that I'm just being stupid and not seeing anything to make it easi-
No, not even easier. Just less stupid. This website builder makes no sense. It's like hiring a contractor to build a bridge and handing him a box of Legos and a banana.
So I do more googling and find instructions on getting to the file manager. FINALLY. The first step is find "Hosting" under "My Products." I rush over to My Products joyfully, hoping I can get this stupid website up and running reasonably quickly, and...!
There's no hosting tab.
Not even a little hard-to-see link. At this point my brain is screaming. WHY would you give me a website builder but absolutely no way to actually write the website? Do people actually use this thing? I mean, I get it if they want to make it nice and accessible for people to make websites without overwhelming them with HTML but if they know how to edit the website and they don't want your help, why would you force me in to this? Why? Then it occurred to me that maybe the organization just hasn't ever had a web developer in it, ever, or at least not one who was willing to help out with the website, so they purposefully signed up for hosting that deprived them of any kind of HTML editor. Then on top of all of that, I noticed that on the home page, which had been edited by someone else long before I ever looked at it, ALSO had one of these stupid slideshows that I had to reorganize by hand, and some sad, angry little man had put in one of the photos sideways. It was SIDEWAYS. Just sitting there on its side, the photo's occupants staring at me with sad eyes begging me to turn them facing up again. I sat there and stared at a badly-designed website in a questionably-designed editor. And I wondered. I wondered who put this all together, and I wondered why *I* was the one doing it, when I work for a university and the website was for some beach homeowner's association. And I wondered if this job was a task that my supervisor had agreed to do and just passed off onto an office monkey. And I wept bitter tears at the realization that I am that office monkey.7
So proud of my human.
He's been stranded in a province on another island for a while now and made friends with the locals. One of the locals broke her bike and he gave her a ride to the bike shop in town. When it was time to pay, she asked him for money. He simply asked, "Why didn't you bring money when you knew we were gonna buy parts for your bike?" She got mad and ignored him since.
I just love the sweet smell of entitlement right before sunset. Makes me feel sane and less alone for all the times I ranted about the same thing over and over again. Reminds me of the good old memories when a developer threatened to escalate me for not doing his job and I shut him down in front of the same crowd he's been flaunting his incompetence to. Oh yeah, when I was called greedy for spending my money on my own needs and refusing to give it to leeches anymore.
My human came to me, of all people, for advice on how to decipher this event since I would be more familiar with the culture. Others would have told him he's insensitive or rude for even asking her that question, that him being white should always just give the money and avoid confrontation.
He asked me what he should have done and I said, "Nothing. I would have told her to go fuck herself but you're a lot nicer than me."4
What is worse than clients? Yeah, you know it now, the answer is coworkers.
But worst than coworkers, there is another category, which is the “exes” (coworkers).
Let’s talk about Jay (fictional name).
This guy is a spaghetti developer who managed to create a CMS in 1998, which is a fucking bug nest. You can’t do anything without having to write code here and there, and the user is not autonomous. Every fucking module has to be rewritten for every website, it’s slow, it freezes, it’s inconsistent structurally talking, not secured (ok we’re talking about 90’s ) and i don’t know how the fuck he managed to sell it to clients and to convince my boss to sell it and finance its development until 3-4 years ago.
I’ve been working on this masterpile of shit and also learnt to summon daemons to make this shit work, but still, writing PHP from scratch would be a pleasant task compared to work with it to be honest.
Anyway, last year my boss asked me to rewrite all the css of our website and I was fine with it, as long as I had The design files available. And this was ok, we work with a designer and she even bought me a Sketch license to open her files. (I have to mention nice people too sometimes).
This SCMS (Shitty CMS) works with less files to be compiled in css and should update automatically, then in the proper CMS windows you should be able to assign styles and shit. And I didn’t talk about the structure. There were at least 400 css classes for 5 pages...
However 2/3 times this shit couldn’t assign any horse fuck to anything, and stuff even broke. I try to adjust an animation, a slider in another page breaks. The developer was like “you don’t know shit” but still, the cockroaches fucker took 3 days per issue, and sometimes it stayed unsolved.
After weeks of thinking about this (we started “building” the new website in 2015...) he finally discontinued this piece of contemporary art and also started to make clients move to something up to date.
Peace was brought to me... until today.
A client calls and sees that an image slideshow doesn’t work properly on mobile.
Talked about this to my boss, and now he doesn’t want to make them switch and I will have to try to port this to something more modern. Time allocated : 4 hours.
I tried to explain him the fucking hell it is, but still, he wants me to fucking develop a slideshow on this human atrocity.
I’m going to cry and summon a demon to exchange my soul wig I don’t know whatever fucking skill I will need to achieve this.19
For some reason the office I work for is paying for a designer to become a front end developer and she gets to take the classes one work time. Any time I want to further my career or pay I have to pay out of pocket and it can't interfere with work. Additionally I have to deal with her asking me every other day why I use Sublime over something else.
Basically I use Sublime because I spent too much time researching new things to try and learn yet another editor. If you wanna use brackets, cool, if you wanna use atom, cool, if you wanna use notepad, cool. I don't give a flying fuck what editor you use, you're writing CSS, I'm writing PHP, if you can count to 4 spaces, and not look at my code, I'm not going to scream at you.
She comes in each day and sits at her desk watching video after video on beginner HTML and CSS asking me mundane questions breaking my concentration at least once an hour.
I know we all started somewhere but Google was my best friend and should be yours as well.7
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
We just got an intern in our company a few days ago. She is supposed to be a php developer, not good, but at least something okay. I find major errors, that even a newbie should regocnize.
It's going to be a long internship, if I have to help her all the time with basic stuff.12
So here's the deal. I am a team lead of a small company and I have a junior who is an idiot. I mean literally, idiot. We code in Python mostly and as Python is not structured as a default Java or C# project, the developer needs to be very careful so that the structure (or tiers) is maintained properly.
Now this girl, always messes up the tiers. Say one enhancement can be easily implemented in the UI tier, she would do the implementation in the core Db access layer, which may complete this particular enhancement, but breaks all the other functions (sometimes the whole project) connected to that particular module of the Db layer. She doesn't do any integration testing after updating the code, she only checks the current enhancement she is working on. When the enhancement goes to the testing phase, the testers find those broken functions and that results a re-work (most of the times done by me).
I have warned her. Even our manager has warned her. She always tells that she is working to improve herself. But I know, she isn't. She mostly chats with her boyfriends (yes, with an 's') when she has no work to do. She never upgrades herself or works on her skills.
I can easily report about her, and they will fire her without any warning (they did it already with a guy earlier). I don't want to do that again. What should I do? Any suggestions?
Oh, she has a great ego. She thinks that knows and understands everything. She will listen to your suggestions carefully, but will never follow those.11
Introduced a ‘new’ logging framework for our web site. Web team is testing the integration and I get an email saying the logging wasn’t working. Instead of sending me how she is searching the logs, she sends me a screen shot of the code (which is ass-backwards of how I documented the logging library, but that’s another rant). OK, she wrote 5 lines of code that should be one line, but OK, the error still should have logged fine. I search the logs, and sure enough, there they are. Errors logged just as they should.
So I email back (with screenshot of the search query and results) asking how she searched for the errors.
Hour later she responds ..”I don’t know.”
WTF do you mean “I don’t know”?…WTF…you are a –bleep-ing developer too! This is not the first –bleep-ing splunk query you’ve written!
OK..I’m calm..feeling better. Wouldn’t be so bad if she emailed just me with the question (I’m not a splunk query expert either, we can figure it out together), but she was sure to cc 3 of the PMs involved in the integration, my boss, and other team members to make it sound like the problem was my code.3
Why dont people trust you?
I was hired to be an SQL developer, I don't actually get to do much development, normally doing something involving copying and pasting in Excel.
Some of our databases were running slow and we noticed some (a few hundred) indexes were in shit state.
I knocked up a couple of scripts, one to reorganise indexes that were up to a certain amount of fragmentation and one to rebuild the indexes
My boss wants them tested (they were several times in dev) we've had these for over 3 weeks, but she doesn't want to run them.
Instead of fixing hundred of indexes she decided I should contrate on fixing some historic data issues that are preventing 10 indexes from being rebuilt.
Now there are serious issues and the CTO is asking why the indexes haven't been fixed.
I could have done this nearly a month ago, but now it's turned into a huge fucki g deal, and no doubt they'll try and push it back on me5
Once I was told to interview a junior dev. It was my first ever interview from the side of employer, so I hope this story will never appear here told by my vis a vis. Ok, to the subject. Position of jun iOS dev. It was so long time ago, the manual reference counting was the only option on a platform. And I ask her, to describe how the manual ref counting actually working. She cannot answer this. I try to split the theme in to a pieces and ask more precise questions, about this or that situation, what should happen, or at least how she thinks it may work. She cannot answer this as well. Technically for me it was the end of interview, but I cannot give up on her that easy so I ask her to tell me what she is doing on her current position and we had spoke for another 15 min. TLDR she has failed.
Next year, another company, interview for the same position, the same people on the scene. So, I remember her, she remembers me. We both know the question I will ask. TLDR she has failed on the very same question.
Oh god knows how bad I feel after rejecting her second time. But I was little more experienced with the interviews and I was sure this question should not be a problem to those who have little experience on a platform.
Several years has passed. Another company. I’m about to jump to the next company and project managers are doing their best to fill the position with ANYONE as it’s a big fight for developers at the moment. So they have found a junior inside the company who wants to try. And SAME PEOPLE on the scene. Same question on a table. And some other questions, and more. So she’s got that job.
After many years I can say she could have a job from the first time if only I try to question her about other sides of day to day code writing. It was just me - not very experienced interviewer and not very experienced mid developer. I only hope she is not hating me a lot.6
First rant here, and it's going to be a query to the more professional and experienced members of society (most of you).
I am currently a Sys Admin for a major company, and I develop at night. My primary employment at the moment is the sys admin job (and I code for extra money at nights).
I wanted to start a development department at the company that I am working at, but it was turned turned down. It was stated that we are not branching in development, and that we should stick to our server implementation and support. This was a prompt to me wanting to start studying officially (I wanted to get qualified in JAVA, so that I had some paper behind my name when I looked for another job). HR and my directors outright denied me the ability to study through them (they pay for studies for employees) and I was more than fine with this.
I took a loan and paid for the studies myself. Can't crush a dream, you know?
The director caught wind of me studying, and now has demanded that I develop him a mobile application for the company. I told him that I am not a mobile developer, and that it didn't fall into my key performance areas.
Note, I do my coding on own time, on my own device, and never at work. It's fully my intellectual property. It also in no way interferes with my work during the day, and has NO conflict with my contract this side.
He sent an email yesterday, this is after two months. He is now stating that I WILL do the application, and he has CCd HR and two directors.
I don't want to do the app for this company, I spoke to HR previously about this, and she said that I should try and quote it under my own company name (which I did, but it was denied as it was "too expensive").
Now I am being forced to do something that is COMPLETELY out of my roles and responsibilities, something that this company has ABSOLUTELY no desire to go into further on, and he is basically letting me know that if I don't do it, he is going to start messing with my pay.
I really don't want to do this, and I cannot afford to make my secondary job my primary at the moment. The problem is, too, that I don't have the time during the day to develop AND do my sys admin tasks (I manage more than 300 servers, and 5000 devices).
What can I do in this instance? Or what would you guys recommend, in your experience?
Sorry for the noob question, but I don't know what to do.19
Sometime this year(what is left of it) or the next I will be promoted to the senior developer in charge of two schools.....
I already thought that the level of work that me and the current senior do is way too fucking much for two people. Can't really fathom all of it just being me without seeing a substantial increase in salary(there is one in place for it...but shit man I know myself and even then I am going to bitch about it repeatedly)
What sucks the most is that I can't wing it or just not give a fuck(my preferred technique) since I really like my department, my coworkers and specially my manager.
Its her fault. It really is. She is just so likeable and I really can't imagine not giving her anything other than my 100 .
And before everyone states that it should be 100 from the get go. I am not particularly fond of giving my all for a company/institution. Never.
The reason is that I have been fucked with way more times than I can count and normally feel that regardless of how much of a total badass I can be I will never see the full compensation of it. It has happened on every other job. So instead of working for the company I work for my team. If I don't like my team I don't give a fuck.
I am a good worker, was an excellent soldier and I am an even better engineer. But there is always this feeling that I am being taken advantage of that I just can't shake off everywhere that I am working at.
Even now, the reason why the lead is leaving is because of how he was fucked over during the reclassification process. It was a slap to him in the face. Now this glorious institution will lose someone that is really amazing all because they take shit for granted.
Everyone is a number, an id. As irreplaceable as we are they treated him as someone that would just take shit and be fine with it.
And trust me, where I am at, we ARE irreplaceable, this ain't cali where you flip a stone and you get 100 node/php devs. This is 0 man ground where devs are fucking wizards that no one knows exist.
Alright lads here is the thing, have not been posting anything other than replies to things cuz I have been busy being miserable at school and dealing with work stuff.
Our manager left us back in February. Because she was leaving I decided that I wanted to try a different path and went on to become a programmer analyst for my institution, if anything I knew that it was going to be pretty boring work, but it came with nice monetary compensation and a foot in the door for other data science related jobs in the future. Thing is, the department head asked me to stay in the web technologies department because we had a lack of people there and hiring is hard as shit, we do not do remote jobs since our work usually requires a level of discretion and security. Thus I have been working in the web tech department since she left albeit with a different title since I aced the interview for the analyst position and the team there were more than happy to have me. I have done very few things for them, some reports here and there and mostly working directly with the DBA in some projects. One migration project would have costed my institution a total of 58k and we managed to save the cost by building the migration software ourselves.....honestly it was a fucking cake walk, if you had any doubts about the shaddyness of enterprise level applications regarding selling overpriced shit with different levels of complexity, keep them, enterprise is shaddy af indeed. But I digress.
I wrote the specification for the manager position along the previous manager, we had decided that the next candidate needed to be strong with development knowledge as well as other things as to properly understand and manage a software team, we made the academic requirement(fuck you, yes we did ask for academic requirements) to be either in the Computer Science/software engineering area or at least on the Business Administration side. We were willing to consider BA holders in exchange for having knowledge of the development process of different products and a complete understanding of what developers go through. NOT ONE SINGLE motherfucker was able to satisfy this, some of them were idiots that I knew from before that had ABSOLUTELY no business even considering applying to the position, the courage it took for some of these assholes to apply would have hurt their mothers, their God if they had one, and their country, they were just that fucking bad in their jobs as well as being overall shit people.
Then we had 1 candidate actually fall through the cracks enough to get an interview. My dude here was lying out of his ass through the interview process. According to him he had "lots of Laravel experience and experience managing Laravel projects" and mentioned repeatedly how it would be a technology that we should consider for our products. I was to interview him alongside the vice president of our institution due to the head of my department and the rest of the managers for I.T being on vacation leave all at the same bloody time.
Backstory before the interview:
Whilst I was going over the interview questions with the vice president literally offered me the job instead. I replied with honesty, reflecting how I did not originally wanted him but feeling that our institution was ready to settle on any candidate due to the lack of potentials. He was happy to do it since apparently both him and the HOD were expecting me to step up sooner or later. I was floored.
Regardless, out of kindness he wanted to go through the interview.
So, going back to the interview. As soon as the person in question referenced the framework I started to ask him about it, just simple questions, the first was "what are your thoughts on the Eloquent ORM? I am not too fond of it and want to know what you as a full time laravel dev think of it"
his reply: "I am sorry I am not too familiar with it, I don't know what that is" <--- I appreciated his honesty in this but thought it funny that someone would say that he was a Laravel developer whilst not knowing what an ORM was since you can't really get away from using it on the initial stages of learning about Laravel, maybe if one wanted to go through the hurdle of switching to something like doctrine...but even then, it was....odd.
So I met with the hod when he came back, he was stoked at the prospect of having me become the manager and I happily accepted the position. It will be hell, but I don't even need to hit the ground running since I have been the face of the department since ages. My team were ecstatic about it since we are all close friends and they have been following my directions without complaints(but the ocational eat a dick puto) for some time, we work well together and we are happy to finally have someone to stop the constant barrage that comes from people taking advantage of a missing manager.
Its gonna get good, its gonna get fun, and i am getting to see how shit goes.7
Client contacts our company that his site is down, we do some investigating and the only way we can access the site is on a mobile phone. From the office computers the site never loads and times out. Since we don't host the site and I've never logged into it before I don't have a lot of details so I suggest they contact whoever hosts their site. This is where things get weird.
Client tells me that the site is hosted on someone's home server. I tell him that this is quite strange in 2018 and rather unlikely and ask if he was ever given access to the site to log in or if he has access to his domain registration, GoDaddy.
He says he doesn't understand any of this and would rather I just contact his current developer and figure it out with him. We agree that he needs to get access to his site so we are going to migrate it once I get access to it.
I email his current developer letting him know the client has put me in contact with him to troubleshoot the issues with the site. I ask him some standard questions like: where is the site hosted? Can you access it from a computer? Do you have some security measures in place to block certain IP ranges? Can you give me from access to get the files? Will you send me a backup of the site for me to load up on my server?
Other dev: Tell me the account number and I'll transfer the domain.
Me: I'll have to get back to you on that once I talk to the client and set up his GoDaddy account since we believe the business owner should own their domain, not their developers. In the meantime you didn't answer any of the questions I asked. Transferring the domain won't get the site on my server so I still need the files.
*3 days pass*
OD: You are trying the wrong domain. The correct domain is [redacted].com I'll have my daughter send you the files when she gets in town. We will transfer the domain to you, the client will forget to pay and the site will go down and it'll be your fault.
Me: I appreciate your advice, but the client will own their domain. I'm trying to get the site online and you have no answered any of my questions. It's been a week now and you have not transferred the domain, you have not provided a copy of the site, you have not told me where the site is hosted. The client and I are both getting impatient at this point when will we receive a backup of the site and the transfer of the domain?
OD: Go fuck yourself, tell the client they can sue me.
If the client is that terrible, wouldn't you want to hand them off to anyone willing to take them? I have never understood why developers and agencies try to hold clients hostage by keeping their domain or website and refusing access. From what I can tell this is a freelance developer without a real company so a legal battle likely isn't going to go well since the domain is worthless to him as the copyright to the name is owned by the client. This isn't the first time we've had to help clients through this sort of thing.4
Am i whiny or is resilience so glorified in this field?
I am a junior developer. I was assigned with two projects together with a friend and a senior. My friend and I finished our assigned tasks way before the deadline. Fast forward, my senior got reassigned to a different project since we are lacking with manpower. Naturally, his transactions were assigned to me and my friend. And my goodness, his existing codes are a piece of shit! It's all over the place. His variable naming is shit, his codes are all around the place, his codes doesn't even follow our company's coding standards, no try catch, a lot of unsafe practices. In short, cleaning his code is a pain in the ass and my friend and I got really busy with cleaning his mess. The testing of our system is really near but I just thought that maybe he's really busy with the other project that's why the quality of his codes deteriorated.
He's not. One day, I saw his in discord that he's playing during work hours lol. And the worse part is that he is playing with our boss! YES. DURING WORK HOURS. I got mad but I couldn't say anything because he is really tight with the boss.
Later on that day, we had our meeting. I was surprised when my boss told me that she's expecting that the excel part of our system is already finished. A little background here, my boss asked me to study Excel VB. However, I didnt get to study that much because I was so busy fixing bugs and after that came the cleaning of our senior's shit codes.
So I tried to say these things to my boss but I was cut out by the same senior shouting "You can do it!" over and over again. No one listened to what I was trying to say! And to make it even worse, the boss had a very proud look on her face and she even had the audacity to tell me that I'm lucky I have such a good support system. I dont.
Now, the company is planning to put me in a very demanding project. I havent finished cleaning up my senior's codes, I havent started anything with the excel and the deadline is next week!
The boss told me that even if I enter the other project, that I will still be responsible for the Excel part of our system. So fucking shoot me in the face.They were telling me that I should have a good time management system, that I should be flexible, that I should adapt easily, yada yada yada. She just makes you feel bad about yourself if you're not as 'flexible' as her.
The thing is, even if I have the best time management techniques in the world, if you bombard me with a shitload of tasks, then I won't be able to do it properly! I don't even take breaks anymore! I work literally 8 hours a day, even more than that. And I dont understand, why the hell is she overworking me when her friend (the senior dev) is just playing during work hours?
Another funniest thing is that she told us that when we encounter technical problems, we should ask our senior dev. Oh boy, if only she knows how shitty his codes are.6
Do you have any annoying you want to get rid off, but you can't because of reasons?
I do. They are 4, but for now I'll talk about the gold medal winner.
When we met about 8-9 ago, she had just come back to town due to some very bad personal experience (not her fault). Anyway, she is polite, but her major flaw is that she is pushy. REAL BAD! And she gets mad when other people (including me) try to do it on her. Another one is having calls during random inappropriate times, because she had fight #N with her boyfriend, and last but not least, she will call when needs something out of someone.
Lately, her project is finding us a job, since we're both unemployed. Any job. The sad part is when she sends me job ads for dev jobs I don't qualify, e.g. Company X is looking for a dev with Y year of experience, knowing A, B, C & D technologies. I've told her that I don't qualify for most of the dev jobs she sends me, but she insists I should send my CV anyway, cause of reasons. Also, for some reason, I should be accounted to her for all my current choices when what I would honestly say is "BUG OFF".
Her latest endeavour is getting me one of her friends (a psychologist) as a "client". Her friend wants to have a professional website with writing posts/articles as a side dish. I'm not registered as a freelancer, so everything will be done under the counter, and her friend is OK with that. I'm no web developer, but I didn't refuse because of her backlash and also that would be a positive experience for me. Now, the juicy part. She gave her my phone number without my permission and she told me straight away. Her plan was having the three of us meet, though I don't know why and I didn't want her being around. I asked her to call me immediately, which it didn't happen. After being pestered by my friend for a couple of weeks if her friend called me, she finally did it on Monday. She didn't say to me anything I didn't know, but at least I have her phone now.
What I can offer her is a website skeleton with the usabilities she's asking. What I can't offer her is graphics/banner and security. And now I have to come up with reasonable price. Teams here ask 400-600€ for a complete website the way she asks, including VAT. I'm thinking around 100€ and I don't know when I can deliver the project. I've had some experience with Ruby and Sinatra, so I'll go with that, and I'll learn CSS along the way.
Thanks for reading till the end! 😃4
Multi User, One Account, and other shit
I'm gonna rant about something as a user, and someone who makes stupid web stuff.
My bank has been updating their web banking over time and they decided that every individual on an account, should have their own login. They really want to push this on their users, I suspect specifically folks like me and my wife who share one login for the joint accounts we have at the bank together.
Why share one login, because it's the only sure fire way I know that I and my wife can see all the same shit no doubt about it.
The banks never tell you what you can see or can't with joint accounts, I doubt it is even documented on their end, but in every damn case something is hidden or different in some weird way.
Messages to the bank people? If I send it, my wife often can't. I get that for security reasons that's a thing, but it makes no sense for a joint account.
ANY difference to me breaks online banking ENTIRELY. Joint accounts are supposed to be... well one account that is the same.
Other banks we used where we had different logins for the joint account, each login actually had separate bill pay accounts per user. So if I went to bill pay and scheduled something to be paid, my wife had no idea, same if she did.
Right fucking there, banking is just broken entirely!
So no Mr. Bank, fuck you we're both logging in via the same login.
Fast forward to N00bPancakes making a thing.
So my employer has a customer (Direct Customer). Direct Customer wants a thing that makes communication with their customer (Indirect Customer) easier.
The worst thing about making something for your customer's customer is that Direct Customer always imagines that Indirect Customer is gonna be super ninja power users....
But no, that's not the case... in fact almost nobody is a power user, and absolutely nobody WANTS to be a power users.
Worse yet in my case the only reason this tool exists is because Direct Customer and Indirect Customer can't communicate well enough anyway... that should tell you something about the amount of effort Indirect Customer is willing to expend.
So with that tool, this situation constantly comes up:
Direct Customer thinks it would be great if every user from Indirect Company had some sort of custom messaging, views, and etc in of Cool Communication Tool. The reason is because that's what Direct Customer loves about Ultra Complex Primary Tool that they use ....
Then I have to fight the constant fight of:
NOBODY WANTS TO BE A POWER USER, NOBODY EVEN WANTS TO DO MUCH OF ANYTHING ON THE INTERNET THAT ISN'T SCREAMING AT OTHER PEOPLE OR POST MEMES OR WATCH SHITTY VIDEOS. THE MOMENT ANYONE AT INDIRECT COMPANY LOGS IN AND SEES ANY INFO THAT IS DIFFERENT FROM THEIR COWORKER THEY'LL SHIT THEMSELVES, FLOOD EVERYONE WITH 'OH GAWD SOME NON SPECIFIED THING IS WRONG' AND RESPOND TO EMAILS LIKE A JELLYFISH DROPPED OFF IN NEW MEXICO... AND NOTHING WILL GET DONE!!!
God damn it people.
Also side rant while I'm busy fighting the good fight to keep shit simple and etc:
People bitch about how horrible the modern web is and then bitch at web devs like we're rulers of the internet or something.... What really pisses me off about that is other devs who do that.... like bro, do you make policy at your company? You decide not to sell some info or whatever shit your company sells? Like fuck off with your 'man I miss html' because you got scared by some shitty JS error and ran back to your language of choice and just poked your head out of the the basement and got scared... and you shit on another developer about that? Fuck you.1
Welcome to post 2 of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363374 It's title is: "Oh, you can post only every 2h. Didn't know that". I also didn't know that the rest of my rant would be put into a comment. For consistency tho, this time I am still splitting the story.
A wise person once wrote in their book: "People judge other people by two things: Empathy and competence." This may not be an accurate quote, but it carries the same message. Also, I don't really remember who was the author. I only know they were probably quite wise. Anyway, I just wanted to share that sentence. Have a moment and think about it. Or don't. Here's my story:
A was a software house that looked pretty promising. They were elegant, their page and offer looked nice. Well, unless you consider the fact that they offered me internship. Unpaid. But I decided to meet with them anyway, since I had hope that I could negotiate some sort of paid internship or a job contract even. I did my homework after all, and I was confident I am able to keep up with their requirements. I arrived a little bit... no, way to early. One damn hour. Whatever, I waited. I was greeted by a woman. We had a cultural conversation, she had a list of 12 questions I needed to answer, as a form of a test. We begun. First question: How do you change a value in Oracle Database? "Wait a minute", I thought, "What kind of question is that?". Why in seven hells would you want your frontend developer to know how to handle oracle db? Well, I gave my answer, I did lick some of that SQL in my life. Next question: Java stuff. The bloody gal didn't even care to check what position I am applying to before the interview! At this point I didn't really have very high hopes. A shame on them forever.
The story of B and C is connected and a little bit more complicated. More on that in part 2. B stands for Bank. A big corporation then, by definition. A person I know decided called me that day and told me they're hiring, that he referred me and that they would like to arrange a meeting. And so we did. It was couple of days before Christmas. C was a software house again. Or a startup. Idk really. Their website wasn't finished so I couldn't read anything useful up on them. They didn't tell me much about themselves either. They also started with "unpaid internship".
In C, they would greet me and instantly sit me down next to a mac laptop and told me, "hey, do this stuff in python". What the fuck, not again... I told them that I am frontend dev, they guy said "it's no problem, you said you know python, it's a simple task". And yeah, I did host some apps in Flask and I did use psycopg2. It was in my CV. But never, ever, have I mentioned knowing heuristics nor statistics. I'm no data scientist, monsieur. Whatever, I tried, I failed a little bit, I told them that maybe if I did want to spend half of my day there I would finish this task, but back then I was way too nervous to focus and code. I told them what should be done in code and that I just was unable to code this at the very moment. They nodded, we said goodbye and I was sure not to hear from them ever again.
In B, I was greeted by a senior frontend dev. He told me the recruiter is sick and he couldn't come, so we're talking alone. I can buy it. We sat down in said meeting room, and he asked me if I wanted a drink. No thx, I had digested so much caffeine during last 24h, next dose could be an overdose. And then, he took out my resume printed in paper. With notes on it. With some stuff encircled. That bloody bastard did his homework. We spent over an hour, just talking in friendly atmosphere. It was an interview, but it was a conversation also. We shared our experiences, opinions and it went just perfect.
On December 20, I was heading home for Christmas. My situation looked like this: A called me they could offer me only unpaid internship. I was getting kinda bored of rice and debts, tbh. I gracefully rejected their generous offer. B didn't give me feedback yet(it was a most recent interview, so I didn't expect any message until after Christmas anyway). C told me that they could give me internship, but I managed to convince them to make it paid internship. After three months of very bad times, things were starting to get better.
On part III we will explore further events of my very recent past. That post will be same amount of storytelling and possibly a lesson for those who seek an employer and for those who seek an employee.6
Two (2) senior developers and one (1) senior tester left our team and I am left with two (2) Java legacy applications that are hard to maintain. Here is a list of things I hate about these old webapps (let's call them app A and B):
1. App A depends on 80% web services. If one web service for a product or warehouse goes down, work flow is impeded while prod support team checks with the core services team for repair
2. App B is a maven project with multiple modules dependent on libraries that are dependent on company's internal libraries. So if we want to upgrade to OpenJdk 9 and up, the project will definitely produce a lot of errors due to deprecated/unsupported codes
3. App A is dependent on Tibco and I have no experience on that
4. App B's continuous integration build tool is Jenkins and the jobs that build it has a shell script that wasn't updated during the tech upgrade enhancement. The previous developer who did the knowledge transfer to me didn't tell me about this (it should be considered a defect on her part but she already resigned)
5. App A when loaded in eclipse IDE is a pain to work with since it is only allowed to build a war file using ant. I have to lookup in quick search instead of calling shortcuts (call hierarchy) because the project wasn't compiled via eclipse.
6. It's impossible to debug app A because of #5
7. Both applications have high priority and complex enhancements and I have no other teammates to help me
8. You never know what else can go wrong anytime1
Good code is a lie imho.
When you see a project as code, there are 3 variables in most cases:
- people / human resources
Every variable plays a certain role in how the code (project) evolves.
Time - two different forms: when certain parts of code are either changed in a high frequency or a very low frequency, it's a bad omen.
Too high - somehow this area seems to be relentless. Be it features, regressions or bugs - it takes usually in larger code bases 3 - 4 weeks till all code pathes were triggered.
Too low - it can be a good sign. But it should be on the radar imho. Code that never changes should be reviewed at an - depending on size of codebase - max. yearly audit. Git / VCS is very helpful here.
Why? Mostly because the chances are very high that the code was once written for a completely different requirement set. Hence the audit - check if this code still is doing the right job or if you have a ticking time bomb that needs to be defused.
If a project has only person working on it, it most certainly isn't verified by another person. Meaning that only one person worked on it - I'd say it's pretty bad to bad, as no discussion / review / verification was done. The author did the best he / she could do, but maybe another person would have had an better idea?
Too many people working on one thing is only bad when there are no rules ;)
Rules. There are two different kind of rules.
Styling / Organisation / Dokumentation - everything that has not much to do with coding itself. These should be enforced at a certain point, otherwise the code will become a hot glued mess noone wants to work on.
Coding itself. This is a very critical thing.
Do: Forbid things that are known to be problematic in the programming language itself. Eg. usage of variables in variables, reflection, deprecated features.
Do: Define a feature set for each language. Feature set not meaning every feature you want to use! Rather a fixed minimum version every developer must use and - in case of library / module / plugin support - which additional extras are supported.
Every extra costs. Most developers don't want to realize this... And a code base that evolves over time should have minimal dependencies. Every new version of an extra can have bugs, breakages, incompabilties and so on.
Don't: don't specify a way of coding. Most coding guidelines are horrific copy pastures from some books some smart people wrote who have no fucking clue what you're doing and why.
If you don't know how to operate on people, standing in an OR and doing what a book told you to do would end in dead person pretty sure. Same for code.
Learn from mistakes and experience, respect knowledge from other persons, but always reflect on wether this makes sense at this specific area of code.
There are very few things which are applicable to a large codebase on a global level. Even DRY / SOLID and what ever you can come up with can be at a certain point completely wrong.
Good code is a lie - because it can only exist at a certain point of time.
A codebase should be a living thing - when certain parts rot, other parts will be affected too.
The reason for the length of the comment was to give some hints on what my principles are that code stays in an "okayish" state, but good is a very rare state
What's better for finding candidates for a development role: having the candidate solve a complex whiteboard problem or have the candidate refactor some code (maybe a couple of small modules) while explaining as he/she goes through each step?
I personally feel both are good, but I think refactoring is a very much needed skill when you're dealing with the complexity of millions and millions lines of code, so being able to change your inital design to make it more readable and flexible later on is crucial. And refactoring usually goes hand and hand with having tests in place.
An interesting exercise would be to give the candidate a test suite with the corresponding code that's tested in a working state and let the candidate decide how much refactoring needs to be done. In the process the candidate would need to break and fix tests of course while changing things... it'll give a good measure of their ability to take code and change it to a "better" state of design and flexiblity.
On the other hand I do think there is a place for cliche white boarding problems because it really shows one willingness to tackle complex problems which do arise in most development jobs. Asking the questions and being persistent goes along way and can really help when you're collaborating with other developers to solve an issue at hand.
Overall I think there should be a white board problem, but I don't think that should be the deciding factor. Rather couple it with other very practical skills you should have as a developer already; among those being refactoring.1
Today I talked to a recent full stack developer bootcamp graduate who decided to change careers when she was having a hard time finding a job as a UX designer.
I can't help but judge her by her website. It is beautifully made. The CSS transitions are clean, the details are fine and it had an amazing feel. However, when I took a peak at the console I found out it was made with a SquareSpace template.
With UX background and being a recent fullstack bootcamp graduate, why make it with SquareSpace? It just feels really off. With that background you should at least be able to make a static Gatsby React page and host it on Heroku or Github.
Am I overreacting?1
Working on a project for myself and to put in my portfolio. Talking about it with a (non coding) co-worker and discussing where I am in the project as I've been really excited about my progress since I'm working from scratches with no frameworks for the back-end(the only side I've worked on so far). I was talking about the registration page and getting ideas as to what I should let users put on their profiles and she chimes in, "This would actually be better as a mobile app. That would be much easier to use." Well yeah, probably, but I'm a web developer, not a mobile app developer. Plus making it a web app means users will be able to utilize it through any medium rather than just their mobile phone. I can (probably) make it responsive enough that users don't mind it being a web page rather than an app.
Me and my High school crush
[20:26, 22/04/2020] Chichiy: So hwz been the day?
[20:29, 22/04/2020] Softaz: Day good
[20:30, 22/04/2020] Softaz: I feel married to my pc now
[20:30, 22/04/2020] Chichiy: Lol you were already engaged
[20:33, 22/04/2020] Softaz: 😂😂15