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
Search - "5 years later"
-
!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!227 -
The first time I realized I wasn't as good as I thought I was when I met the smartest dev I've ever known (to this day).
I was hired to manage his team but was just immediately floored by the sheer knowledge and skills this guy displayed.
I started to wonder why they hired outside of the team instead of promoting him when I found that he just didn't mesh well with others.
He was very blunt about everything he says. Especially when it comes to code reviews. Man, he did /not/ mince words. And, of course, everyone took this as him just being an asshole.
But being an expert asshole myself, I could tell he wasn't really trying to be one and he was just quirky. He was really good and I really liked hanging out with him. I learned A LOT of things.
Can you imagine coming into a lead position, with years of experience in the role backing your confidence and then be told that your code is bad and then, systematically, very precisely, and very clearly be told why? That shit is humbling.
But it was the good kind of humbling, you know? I really liked that I had someone who could actually teach me new things.
So we hung out a lot and later on I got to meet his daughter and wife who told me that he had slight autism which is why he talked the way he did. He simply doesn't know how to talk any other way.
I explained it to the rest of the team (after getting permission) and once they understood that they started to take his criticism more seriously. He also started to learn to be less harsh with his words.
We developed some really nice friendships and our team was becoming a little family.
Year and a half later I had to leave the company for personal reasons. But before I did I convinced our boss to get him to replace me. The team was behind him now and he easily handled it like a pro.
That was 5 years ago. I moved out of the city, moved back, and got a job at another company.
Four months ago, he called me up and said he had three reasons for us to meet up.
1. He was making me god father of his new baby boy
2. That they created a new position for him at the company; VP of Engineering
and
3. He wanted to hang out
So we did and turns out he had a 4th reason; He had a nice job offer for me.
I'm telling this story now because I wanted to remind everyone of the lesson that every mainstream anime tells us:
Never underestimate the power of friendship.21 -
Its Friday, you all know what that means! ... Its results day for practiseSafeHex's most incompetent co-worker!!!
*audience: wwwwwwooooooooo!!!!*
We've had a bewildering array of candidates, lets remind ourselves:
- a psychopath that genuinely scared me a little
- a CEO I would take pleasure seeing in pain
- a pothead who mistook me for his drug dealer
- an unbelievable idiot
- an arrogant idiot obsessed with strings
Tough competition, but there can be only one ... *drum roll* ... the winner is ... none of them!
*audience: GASP!*
*audience member: what?*
*audience member: no way!*
*audience member: your fucking kidding me!*
Sir calm down! this is a day time show, no need for that ... let me explain, there is a winner ... but we've kept him till last and for a good reason
*audience: ooooohhhhh*
You see our final contestant and ultimate winner of this series is our good old friend "C", taking the letters of each of our previous contestants, that spells TRAGIC which is the only word to explain C.
*audience: laughs*
Oh I assure you its no laughing matter. C was with us for 6 whole months ... 6 excruciatingly painful months.
Backstory:
We needed someone with frontend, backend and experience with IoT devices, or raspberry PI's. We didn't think we'd get it all, but in walked an interviewee with web development experience, a tiny bit of Angular and his masters project was building a robot device that would change LED's depending on your facial expressions. PERFECT!!!
... oh to have a time machine
Working with C:
- He never actually did the tutorials I first set him on for Node.js and Angular 2+ because they were "too boring". I didn't find this out until some time later.
- The first project I had him work on was a small dashboard and backend, but he decided to use Angular 1 and a different database than what we were using because "for me, these are easier".
- He called that project done without testing / deploying it in the cloud, despite that being part of the ticket, because he didn't know how. Rather than tell or ask anyone ... he just didn't do it and moved on.
- As part of his first tech review I had to explain to him why he should be using if / else, rather than just if's.
- Despite his past experience building server applications and dashboards (4 years!), he never heard of a websocket, and it took a considerable amount of time to explain.
- When he used a node module to open a server socket, he sat staring at me like a deer caught in headlights completely unaware of how to use / test it was working. I again had to explain it and ultimately test it for him with a command line client.
- He didn't understand the need to leave logging inside an application to report errors. Because he used to ... I shit you not ... drive to his customers, plug into their server and debug their application using a debugger.
... props for using a debugger, but fuck me.
- Once, after an entire 2 days of tapping me on the shoulder every 15 mins for questions / issues, I had to stop and ask:
Me: "Have you googled it?"
C: "... eh, no"
Me: "can I ask why?"
C: "well, for me, I only google for something I don't know"
Me: "... well do you know what this error message means?"
C: "ah good point, i'll try this time"
... maybe he was A's stoner buddy?
- He burned through our free cloud usage allowance for a month, after 1 day, meaning he couldn't test anything else under his account. He left an application running, broadcasting a lot of data. Turns out the on / off button on the dashboard only worked for "on". He had been killing his terminal locally and didn't know how to "ctrl + c a cloud app" ... so left it running. His intention was to restart the app every time you are done using it ... but forgot.
- His issue with the previous one ... not any of his countless mistakes, not the lack of even trying to make the button work, no, no, not for C. C's issue is the cloud is "shit" for giving us such little allowances. (for the record in a month I had never used more than 5%).
- I had to explain environment variables and why they are necessary for passwords and tokens etc. He didn't know it wasn't ok to commit these into GitHub.
- At his project meetups with partners I had to repeatedly ask him to stop googling gifs and pay attention to the talks.
- He complained that we don't have 3 hour lunch breaks like his last place.
- He once copied and pasted the same function 450 times into a file as a load test ... are loops too mainstream nowadays?
You see C is our winner, because after 6 painful months (companies internal process / requirements) he actually achieved nothing. I really mean that, nothing. Every thing was so broken, so insecure / wide open, built without any kind of common sense or standards I had to delete it all and start again ... it took me 2 weeks.
I hope you've all enjoyed this series and will join me in praying for the return of my sanity ... I do miss it a lot.
Yours truly,
practiseSafeHex20 -
I know I should not be naming names but WalmartLabs Hackfest 2016 was actually a fuckfest. It was supposed to be a 14 day online hackathon followed by an offline event for top teams. I got in top 6 among the 4350 participants.
In the offline event:
1. They didn't allow us to give live demo of the project. Instead they asked us to present a ppt. The HR idiot even asked me to take screenshots of my cli app and put that in instead.
2. 4 out of the 6 teams actually presented their startup products. It was supposed to be a 14 day hackathon for fucks sake. How can you present some shit that you were working on for the last 1.5 years! This one team literally had "Copyright 2015" mentioned on their product page. This another team had 100,000+ downloads on his app already. Of course Walmart didn't care about it. They didn't listen to my complaint. I wish I had created a scene there :( Another team was boasting on stage about how they got selected in the FB startup accelerator and how they won 3 more hackathon (evidently equally shit) using their shit. This was met with praises from the judges.
3. The results were declared after 3 fucking months! Don't organize this shit next time if you don't have any interest, bitch.
4. The code was supposedly never checked. Other teams kept working on their shit for the 3 months in between. In the live presentation, this guy even had photoshopped a feature which wasn't even present there (and he boasted about it later on).
5. Hackerearth (platform for the hackathon) was equally incompetent in this mishap of a hackathon. One of the teams which won had one the previous hackathon (Pluralsight hackathon) as well on Hackerearth using the same fucking product. What pieces of shit >.<
6. The hackathon was supposed to be tech based and all the categories were like that. Instead the teams presented business models and shit like that and judges focused more on that. They were not concerned about the technical aspects at all. The more noise you made, the more lies you told, the better chance you had to win it.
7. They were supposed to give prizes in 4 categories but silently reduced it to 3 on the event day. They still publicised it as 4 prizes until now.
All of the above is true and I am willing to testify if someone asks for it. I am going to write a nice blog post about it and post it to their idiot HR.
Hackathon: WalmartLabs Hackfest 2016
Team name: psyduck (which is just me)
Sorry for being too salty but it was indeed a fuckfest.15 -
My mom died when I was 7, after which my dad bought me a Commodore 64 so I had something to lose myself in during the mourning process.
I learned everything about that system, from my first GOTO statement to sprite buffers, to soldering my own EPROM cartridges. My dad didn't deal with the loss so well, and became a missing person 5 years later when I was 12.
I got into foster care with a bunch of strict religious cultists who wouldn't allow electronics in the house.
So I ran away at 14, sub-rented a closet in a student apartment using my orphan benefits and bought a secondhand IBM computer. I spent about 16 hours a day learning about BSD and Linux, C, C++, Fortran, ADA, Haskell, Livescript and even more awful things like Visual Basic, ASP, Windows NT, and Active Directory.
I faked my ID (back then it was just a laminated sheet of paper), and got a job at 15-pretending-to-be-17 at one of the first ISPs in my country. I wrote the firmware and admin panel for their router, full of shitty CGI-bin ASP code and vulnerabilities.
That somehow got me into a job at Microsoft, building the MS Office language pack for my country, and as an official "conflict resolver" for their shitty version control system. Yes, they had fulltime people employed just to resolve VCS conflicts.
After that I worked at Arianespace (X-ray NDT, visualizing/tagging dicom scans, image recognition of faulty propellant tank welds), and after that I switched to biotech, first phytogenetics, then immunology, then pharmacokynetics.
In between I have grown & synthesized and sold large quantities of recreational drugs, taken care of some big felines, got a pilot license, taught IT at an elementary school, renovated a house, and procreated.
A lot of it was to prove myself to the world -- prove that a nearly-broke-orphan-high-school-dropout could succeed at life.
But hey, now I work for a "startup", so I guess I failed after all.22 -
So this was a couple years ago now. Aside from doing software development, I also do nearly all the other IT related stuff for the company, as well as specialize in the installation and implementation of electrical data acquisition systems - primarily amperage and voltage meters. I also wrote the software that communicates with this equipment and monitors the incoming and outgoing voltage and current and alerts various people if there's a problem.
Anyway, all of this equipment is installed into a trailer that goes onto a semi-truck as it's a portable power distribution system.
One time, the computer in one of these systems (we'll call it system 5) had gotten fried and needed replaced. It was a very busy week for me, so I had pulled the fried computer out without immediately replacing it with a working system. A few days later, system 5 leaves to go work on one of our biggest shows of the year - the Academy Awards. We make well over a million dollars from just this one show.
Come the morning of show day, the CEO of the company is in system 5 (it was on a Sunday, my day off) and went to set up the data acquisition software to get the system ready to go, and finds there is no computer. I promptly get a phone call with lots of swearing and threats to my job. Let me tell you, I was sweating bullets.
After the phone call, I decided I needed to try and save my job. The CEO hadn't told me to do anything, but I went to work, grabbed an old Windows XP laptop that was gathering dust and installed my software on it. I then had to build the configuration file that is specific to system 5 from memory. Each meter speaks the ModBus over TCP/IP protocol, and thus each meter as a different bus id. Fortunately, I'm pretty anal about this and tend to follow a specific method of id numbering.
Once I got the configuration file done and tested the software to see if it would even run properly on Windows XP (it did!), I called the CEO back and told him I had a laptop ready to go for system 5. I drove out to Hollywood and the CFO (who was there with the CEO) had to walk about a mile out of the security zone to meet me and pick up the laptop.
I told her I put a fresh install of the data acquisition software on the laptop and it's already configured for system 5 - it *should* just work once you plug it in.
I didn't get any phone calls after dropping off the laptop, so I called the CFO once I got home and asked her if everything was working okay. She told me it worked flawlessly - it was Plug 'n Play so to speak. She even said she was impressed, she thought she'd have to call me to iron out one or two configuration issues to get it talking to the meters.
All in all, crisis averted! At work on Monday, my supervisor told me that my name was Mud that day (by the CEO), but I still work here!
Here's a picture of the inside of system 8 (similar to system 5 - same hardware)
15 -
Hacking/attack experiences...
I'm, for obvious reasons, only going to talk about the attacks I went through and the *legal* ones I did 😅 😜
Let's first get some things clear/funny facts:
I've been doing offensive security since I was 14-15. Defensive since the age of 16-17. I'm getting close to 23 now, for the record.
First system ever hacked (metasploit exploit): Windows XP.
(To be clear, at home through a pentesting environment, all legal)
Easiest system ever hacked: Windows XP yet again.
Time it took me to crack/hack into today's OS's (remote + local exploits, don't remember which ones I used by the way):
Windows: XP - five seconds (damn, those metasploit exploits are powerful)
Windows Vista: Few minutes.
Windows 7: Few minutes.
Windows 10: Few minutes.
OSX (in general): 1 Hour (finding a good exploit took some time, got to root level easily aftewards. No, I do not remember how/what exactly, it's years and years ago)
Linux (Ubuntu): A month approx. Ended up using a Java applet through Firefox when that was still a thing. Literally had to click it manually xD
Linux: (RHEL based systems): Still not exploited, SELinux is powerful, motherfucker.
Keep in mind that I had a great pentesting setup back then 😊. I don't have nor do that anymore since I love defensive security more nowadays and simply don't have the time anymore.
Dealing with attacks and getting hacked.
Keep in mind that I manage around 20 servers (including vps's and dedi's) so I get the usual amount of ssh brute force attacks (thanks for keeping me safe, CSF!) which is about 40-50K every hour. Those ip's automatically get blocked after three failed attempts within 5 minutes. No root login allowed + rsa key login with freaking strong passwords/passphrases.
linu.xxx/much-security.nl - All kinds of attacks, application attacks, brute force, DDoS sometimes but that is also mostly mitigated at provider level, to name a few. So, except for my own tests and a few ddos's on both those domains, nothing really threatening. (as in, nothing seems to have fucked anything up yet)
How did I discover that two of my servers were hacked through brute forcers while no brute force protection was in place yet? installed a barebones ubuntu server onto both. They only come with system-default applications. Tried installing Nginx next day, port 80 was already in use. I always run 'pidof apache2' to make sure it isn't running and thought I'd run that for fun while I knew I didn't install it and it didn't come with the distro. It was actually running. Checked the auth logs and saw succesful root logins - fuck me - reinstalled the servers and installed Fail2Ban. It bans any ip address which had three failed ssh logins within 5 minutes:
Enabled Fail2Ban -> checked iptables (iptables -L) literally two seconds later: 100+ banned ip addresses - holy fuck, no wonder I got hacked!
One other kind/type of attack I get regularly but if it doesn't get much worse, I'll deal with that :)
Dealing with different kinds of attacks:
Web app attacks: extensively testing everything for security vulns before releasing it into the open.
Network attacks: Nginx rate limiting/CSF rate limiting against SYN DDoS attacks for example.
System attacks: Anti brute force software (Fail2Ban or CSF), anti rootkit software, AppArmor or (which I prefer) SELinux which actually catches quite some web app attacks as well and REGULARLY UPDATING THE SERVERS/SOFTWARE.
So yah, hereby :P39 -
I came to Spain escaping my home country and started looking for a job in ANYTHING. Had done some coding as a hobby but nothing serious, still I sent a CV to some starting positions online (also sent the same CV to pet shops, Starbucks, cloth stores...) And I got chosen to participate in a one week training course / trial at a big company.
At the same time I managed to get a spot on a free and amazing course for music production, my dream profession. Yet I had to go for the one that actually had some work opportunities!
Got the job after the trial was done and immediately got sent to work with a 3 person team that was in charge of setting up a giant SharePoint site for the local mail office. It was kind of insane! For months I had no idea what I was doing and thought I was going to get fired any day.
5 years later, I still have no idea.6 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
Summing up many ridiculous meetings I've been in.
Many years ago we hired someone for HR that came from a large fortune 500 company, really big deal at the time.
Over the next 6 months, she scheduled weekly to bi-weekly, 1 to 2 hour meetings with *everyone* throughout the day. Meeting topics included 'How to better yourself', 'Trust the winner inside you'...you get the idea.
One 2-hour meeting involved taking a personality test. Her big plan was to force everyone to take the test, and weed out anyone who didn't fit the 'company culture'. Whatever that meant.
Knowing the game being played, several of us answered in the most introverted, border-line sociopath, 'leave me the frack alone!' way we could.
When she got the test results back, she called an 'emergency' meeting with all the devs and the VP of IS, deeply concerned about our fit in the company.
HR: "These tests results were very disturbing, but don't worry, none of you are being fired today. Together, we can work as team to bring you up to our standards. Any questions before we begin?"
Me: "Not a question, just a comment about the ABC personality test you used."
<she was a bit shocked I knew the name of the test because it was anonymized on the site and written portion>
Me: "That test was discredited 5 years ago and a few company's sued because the test could be used to discriminate against a certain demographic. It is still used in psychology, but along with other personality tests. The test is not a one-size-fits-all."
VP, in the front row, looked back at me, then at her.
HR: "Well....um...uh...um...We're not using the test that way. No one is getting fired."
DevA: "Then why are we here?"
DevB:"What was the point of the test? I don't understand?"
HR: "No, no...you don't understand...that wasn't the point at all, I'm sorry, this is getting blown out of proportion."
VP: "What is getting blown out of proportion? Now I'm confused. I think we all need some cooling off. Guys, head back to the office and let me figure out the next course of action."
She was fired about two weeks later. Any/all documentation relating to the tests were deleted from the server.16 -
School principal : P / Me : M / Interviewer over Skype : S
P. I recently heard you run a software club in our school.
M. Yes. (started from March)
P. Well, one software community seems that he found you somewhere, and asked me if we can do a quick interview.
M. Sure. What is it?
P. So he will connect to skype.
M. Let's start then...
*A few moments later...*
M. Wwwwhhhhaaaaattttttt?
P. Calm down! What's the problem?
M. How can I have more than 5 years of android development?
S. Ok. Recorded. Next question.
M. (uhhh)
*A few moments later...*
M. What? Why in the heck do I use subversion?........
Yes... Ah... Ummm....
No! Why should i make a gui client for subversion?
*A few moments later...*
S. Do you have hacking experience?
M. Of what? I know hacking is illegal here..
S. Like... Anything!
M. Do YOU have an experience?
S. Yup.
M. What?
S. Google.
M. How?
S. (silence) Ok. Let's move on.
M. (wtf is this guy)
*A few moments later...*
S. Okay. We were about to hire you but you didnt met our job requirements.
M. ......What? What was the job?
S. Web developer Intern
M. I got no questions regarding "web".
S. I know devs should be great at all things.
M. Shut the hell up. What company are you?
S. (says something)
M. (Searches in google) Doesnt come in search results.
S. Where did you searched it? (trembling voice)
M. (Searches in naver, search engine of korea) Nothing. Are you sure you are a company?
S. (ends call)
Hate these fake interviews. And i have no idea how they found my school
I never wrote my school anywhere.12 -
[This makes me sound really bad at first, please read the whole thing]
Back when I first started freelancing I worked for a client who ran a game server hosting company. My job was to improve their system for updating game servers. This was one of my first clients and I didn't dare to question the fact that he was getting me to work on the production environment as they didn't have a development one setup. I came to regret that decision when out of no where during the first test, files just start deleting. I panicked as one would and tried to stop the webserver it was running on but oh no, he hasn't given me access to any of that. I thought well shit, I might as well see where I fucked up since it was midnight for him and I wasn't able to get a hold of him. I looked at every single line hundreds of times trying to see why it would have started deleting files. I found no cause. Exhausted, (This was 6am by this point) I pretty much passed out. I woke up around 5 hours later with my face on my keyboard (I know you've all done that) only to see a good 30 messages from the client screaming at me. It turns out that during that time every single client's game server had been deleted. Before responding and begging for forgiveness, I decided to take another crack at finding the root of the problem. It wasn't my fault. I had found the cause! It turns out a previous programmer had a script that would run "rm -rf" + (insert file name here) on the old server files, only he had fucked up the line and it would run "rm -rf /". I have never felt more relieved in my life. This script had been disabled by the original programmer but the client had set it to run again so that I could remake the system. Now, I was never told about this specific script as it was for a game they didn't host anymore.
I realise this is getting very long so I'll speed it up a bit.
He didn't want to take the blame and said I added the code and it was all my fault. He told me I could be on live chat support for 3 months at his company or pay $10,000. Out of all of this I had at least made sure to document what I was doing and backup every single file before I touched them which managed to save my ass when it came to him threatening legal action. I showed him my proof which resulted in him trying to guilt trip me to work for him for free as he had lost about 80% of his clients. By this point I had been abused constantly for 4 weeks by this son of a bitch. As I was underage he had said that if we went to court he'd take my parents house and make them live on the street. So how does one respond? A simple "Fuck off you cunt" and a block.
That was over 8 years ago and I haven't heard from him since.
If you've made it this far, congrats, you deserve a cookie!6 -
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.8 -
To all young freelancers in low-income countries: I want to share my experience, of 6 years working for a piss-poor country, and 6 years working in freelance, and then emigrating. Here's what you should watch out for, and what to expect:
My first salary was barely 1.5$ per hour. I lived in a piss-poor country that taught me a lot (like why it's piss-poor).
The main thing to note when you're a developer in such a country, is that you're being fucked. Your employer might scream at you and tell you how bad you are, while barely paying you. That is you ... being ... fucked. Gain some confidence with the help of friends and family, and a great effort from yourself, look at what freelance gigs you can find, and ditch anything related to jobs in your country.
Being a somewhat able developer, but with modest experience, I started my freelance gigs for 5$ per hour. Because I was lazy, and freelance gigs weren't exactly being thrown at me, I was making 100$ per week, AFTER the companies I worked for appreciated what I did and offered themselves to up my pay to 12$ per hour. Yep. I was lazy. You will likely get lazy in freelance too, so be prepared for this.
My luck changed when one of my clients became a full-time employer, at 15$ per hour, with a well organized team where I actually worked for 40 hours per week (I had already amassed 8 years of experience...). For people in first world countries that will seem laughable, but in my country I was king of the hill, getting paid more than government CEOs that ended up in the news as the "most well paid".
That was the top of the pyramid for international indie freelance, as I would later find out.
I didn't do stuff that was very difficult. In fact, I felt like my abilities were rotting while I worked there. I had to change something. So I started looking for better offers. I contacted many companies that were looking for a senior developer, and the interviews went well, and all was fine, except for my salary demands. I was asking for 25$ per hour. Nobody was willing to pay more than 15$ per hour. That's because of my competition - tons of developers in cheap-to-live countries that had the same, or more to offer, for the same rates. Globalization.
So I moved to Germany. As soon as I was legally able to work, I was hunted down by everybody. I was told that it takes a month to pass the whole hiring process in Germany. My experience demonstrated that 2-5 days is enough to get a signed contract with "Please start ASAP".
There is freelance in Germany as well. And in the US. And everywhere else. A "special" kind of freelance, where you have to reside locally. The rates that this freelance goes for is much, much higher than international freelance. I'd say that 100€ per hour is ok-ish. Some people (newbies, or foreigners who don't speak the language well) get less, around 60 or so. Smart experienced locals get around 150-200 or even more.
It's all there. Companies want good developers to solve their business problems with IT solutions, and they'll beg you to take their money if you can deliver that.
So code!
Learn!
Accummulate experience!
Screw the scumbags that screw you for 1-2$ per hour!
Anyone able to write something more than "Hello World!" deserves more.
Do the climb! There's literally room for everybody up there! There is so much to do, that I feel like there will never be too many developers.
Thank you for bearing with my long story. I hope it will help you make it shorter and more pleasant for you.11 -
Why are job postings so bad?
Like, really. Why?
Here's four I found today, plus an interview with a trainwreck from last week.
(And these aren't even the worst I've found lately!)
------
Ridiculous job posting #1:
* 5 years React and React Native experience -- the initial release of React Native was in May 2013, apparently. ~5.7 years ago.
* Masters degree in computer science.
* Write clean, maintainable code with tests.
* Be social and outgoing.
So: you must have either worked at Facebook or adopted and committed to both React and React Native basically immediately after release. You must also be in academia (with a masters!), and write clean and maintainable code, which... basically doesn't happen in academia. And on top of (and really: despite) all of this, you must also be a social butterfly! Good luck ~
------
Ridiculous job posting #2:
* "We use Ruby on Rails"
* A few sentences later... "we love functional programming and write only functional code!"
Cue Inigo Montoya.
------
Ridiculous job posting #3:
* 100% remote! Work from anywhere, any time zone!
* and following that: You must have at least 4 work hours overlap with your coworkers per day.
* two company-wide meetups per quarter! In fancy places like Peru and Tibet! ... TWO PER QUARTER!?
Let me paraphrase: "We like the entire team being remote, together."
------
Ridiculous job posting #4:
* Actual title: "Developer (noun): Superhero poised to change the world (apply within)"
* Actual excerpt: "We know that headhunters are already beating down your door. All we want is the opportunity to earn our right to keep you every single day."
* Actual excerpt: "But alas. A dark and evil power is upon us. And this… ...is where you enter the story. You will be the Superman who is called upon to hammer the villains back into the abyss from whence they came."
I already applied to this company some time before (...surprisingly...) and found that the founder/boss is both an ex cowboy dev and... more than a bit of a loon. If that last part isn't obvious already? Sheesh. He should go write bad fantasy metal lyrics instead.
------
Ridiculous interview:
* Service offered for free to customers
* PHP fanboy angrily asking only PHP questions despite the stack (Node+Vue) not even freaking including PHP! To be fair, he didn't know anything but PHP... so why (and how) is he working there?
* Actual admission: No testing suite, CI, or QA in place
* Actual admission: Testing sometimes happens in production due to tight deadlines
* Actual admission: Company serves ads and sells personally-identifiable customer information (with affiliate royalties!) to cover expenses
* Actual admission: Not looking for other monetization strategies; simply trying to scale their current break-even approach.
------
I find more of these every time I look. It's insane.
Why can't people be sane and at least semi-intelligent?18 -
When I was at my lowest, my buddy and me sat in front of the screen, and learned how to code from Bucky Roberts. A few years later, I finally got a proper programming gig, but never stopped freelancing. My buddy on the other hand, studied Computer Science and stopped coding for a while after graduating. 5 years later, today we sat in front of the screen and learned how to code together again. I think he has no idea what he has led me to. If he had not made me code, I would have remained the same boy from the streets. But it is not about me, I have heard so many incredible stories. The more codes you write, the more errors you'll encounter. The more errors you try to solve, the bigger the community grows. It's nice to know, there is a group of people out there, who will spend rest of their lives writing, thinking and interacting. Also, trying to figure out how to centre that piece of shit of a div with CSS! I mean wtf!5
-
I've had my share of incompetent coworkers. In order of appearance:
1. A full stack dev. This one guy never, and I mean NEVER uses relationships in their tables. No indexing, no keys, nada. Couple of months later he was baffled why his page took ten seconds to load.
2. The same dev as (1). Requirement was to create some sort of "theme" feature for a web app. Hacked it by putting !important all over the place.
3. The same dev again. He creates several functions that if the data exists returns a view, and if it doesn't, "echo '0'". No, not return 0 or return false or anything, but fucking echo. This was PHP. If posted a rant about this a few months ago.
4. Same dev, has no idea what clean code is. No, not just reusable functions, he doesn't even get indenting right. Some functions have 4 spaces, some 2 tabs, some 6 tabs! And this is inside the same function. God wait until he tries Python...
5. Same dev now suggests that he become the PM. GM approves (very small company). Assigns me to travel to a client since they needed "technical assistance about the API". Was actually there to lead a UAT session.
Intermezzo, that guy went from fullstack dev to PM to sales (yes, one who calls clients to offer products) to business development, to product analyst in the span of two years.
After a year and a half there, I quit.
6. New company, a "QA engineer" who also assumes the role as the product owner. Does absolutely no tests other than "functional tests" in which he NEVER produces any form of documentation. Not even a set of test cases. He goes by "intuition".
7. Same guy as (6), hands me requirements for a feature. By "hands me" I mean he did that verbally. No spec documents, no slack chat, no Trello card. I ended up writing it as a card in Trello. Fast forward to the due date, he flips out because that wasn't what he wanted. Showed him the card. He walked away, without thinking of a solution how this mess should be handled.
Despite all this, I really don't want him (6&7) to leave the company. The devs get really stressed out at this job and he does make a really good person to laugh with/at. -
My first job was an internship making $12 an hour. Before I was making ~30k selling cars. Completely uprooted and restarted my life. Came in, pointed out a bunch of things they were doing wrong (fearless intern saves the day), and became king of reporting. Within 3 weeks they offered me a full time job at $50k. I couldn't belive my gamble paid off. 5 years later I'm at a new place making way more and couldn't be happier!4
-
Rant && story time
When I was in first grade of high school (age of 15) we had a class of informatics. Nothing unusuall, you say, but this teacher was ummm ... Let's just say special. Most of his classes looked like this:
TEACHER: Ok, class, today we are going to learn/work with <insert a name of a software here>. # And then he sat behind his desk, falling silent for the rest of the lesson. We had to look up the software ourselves, and learn to use it. Or not.
Next lesson, he just said:
TEACHER: Continue your work from the last time.
And on the third lesson of each cycle, there was grading in place. He walked through the class and if he saw you working with the software, you got a 5 (that is A for our western friends), but if you were doing something completely different, you got a 1 (that is F). That just ment that you had to open the program and wave the mouse around while he was looking at your screen, and you got a guaranteed 5.
And then the cycle repeated.
However, this is not the story about the teacher in general, it's a story about one specific event involving him.
Around the beginning of the year (calendar one, not school one; that is middle of the school year) a programming competition took place.
The first stage (school competition), was easy; I got 45 points out of 50 (I was second-best on the whole school, of all years (students from 15 to 20 years of age).
A few weeks later, second stage (national competition) took place. However, when I got to the registration dosk, things got weird.
I patiently waited in line, but when I got to the front, the assistant asked me for year and school.
ME: I come from SCHOOL_NAME and go to first year.
ASSISTANT1: All students who go to SCHOOL_NAME need to go to that separate line.
It seemed strange, but I walked over anyhow. Maybe there was enough students from our school so that new line opened for us.
ME: I go to first year. # I assumed I don't have to tell the name as the line was only for our school.
ASSISTANT2: Ok, but you need to go to that row. *points to the row wherexI just came from* # WTF is going on now?
ME: Ummm, I just came from there, and they told me to come here.
ASSISTANH2: Oh, you go to SCHOOL_NAME?
ME: Yeah
ASSISTANT2: Ok then. What is your name? # Thank Knuth, one mistery less
ME: My name is SELF.NAME
After a short search through the envelopes:
ASSISTANT2: Here you go # Both the fact that my name was completely misspeled and the procedure it took us to finally get to the correct envelope are a story for a different time.
Skip forward some 10 minutes, to the lecture hall where they just told us all the instructions and started to divide us into classrooms
ASSISTANT3:
for CLASSROOM, STUDENT_LIST in STUDENT_DIVISION:
for STUDENT in STUDENT_LIST:
STUDENT.invite(CLASSROOM)
At the end, only a few people, including me, remained.
ASSISTANT3: Is there anyone not from SCHOOL_NAME? # Umm, yeah, WTF is going on now?
Noone replied.
ASSISTANT3: OK, you all, come with me now, we will find you a classroom.
From there on, competition went fine, I came in second, got a new phone as a prize, no complaints.
However, later on, I realized what was the reason for all that weird behaviour.
Signup date for the second part was on LAST_SIGNUP_DATE, which was at least two weeks before the competition, and signups had to be done untill 1600 that day.
Our teacher signed us up at 2200. ON THE FUCKING DAY BEFORE THE COMPETITION. OF COURSE THEY HAD NOTHING PLANNED FOR US, NO ENVELOPES, NO COMPUTERS, NOTHING, IF WE WERE SIGNED UP LESS THAN FUCKING 12 HOURS BEFORE THE COMPETITION INSTEAD OF 2 WEEKS EARLIER. THE ONLY REASON WE GOT TO COMPETE WAS BECAUSE SOME PEOPLE DIDN'T SHOW UP AND WE USED THE PC'S MENT FOR THEM. IF EVERYONE SHOWED UP WE FUCKING COULDN'T COMPETE.
And from that moment on, I always signed myself up for all of the competitions; better safe than sorry.rant lazy fuck. last minute competition signups you thought you knew what last-minute means? high school teacher2 -
Long ago, like 5 years, I made an app for my EX GF in symbion to track her periods. Application predict the next date when your period will come based on her cycle.
How ever after 2 month of usage she told me that application was flashing that she is pregnant. She scared shit out of herself and made me sacred a hell as well.
Later i find out that the variable i used to store number of days between last period and current date was not capable of storing value more than 40, i don't know how, and triggers negative value to be shown.
Early days of my programming, Shit happens.8 -
===rant
So I have been freelancing as web developer for 5 years. I was also playing basketball professionally so I was only working part-time, building websites here and there, small android apps to learn the job and I was also reading a lot to challenge my brain.
When I stopped playing basketball about a year ago, I thought I would really enjoy coding full time so I pursued a job.
With no formal education and just a basketball background on paper, in the collapsed Greek economy, as you may assume chances of landing a job are minimal.
After about 40 resumes sent I only got an internship. It was a 4 month, part-time, no pay deal, and then the company would decide if they would like to hire me later.
The company had 4 employees and they are one of the largest software distribution businesses in my area. They resell SaaS bought from a third company, bundled with installation support, initial configuration, hardware support, whatever a client may need.
I was the only one with any ability to code whatsoever. The other people were working mostly on customer support with the occasional hardware repair.
After the 4 month period they owner (small company, owner was also manager and other roles) told me that they are very happy with my work and would like to keep me part-time with minimum pay.
Just to give you and idea if the amounts of money involved, in Greece, after taxes, my salary was 240euros per month. And the average cost of surviving (rent, cheapest food possible, no expenses on anything but super basics) is about 600euros.
I told him I needed more to live and he told me ok, we will reevaluate a few months later, at the end of May 2017.
I just accepted it without having many options. The company after all was charging clients 30euros per hour for my projects so I kept thinking that if I worked a lot and delivered consistently I would get a full time job and decent money.
And I delivered. In the following months I made a Magento extension, some WordPress themes, a C# application to extract data from the client's ERP and import it to a third application, a click to call application to use Asterisk to originate calls from the client's ERP, a web application to manage a restaurant's menu and many more small projects. Whatever they asked, I delivered.
On time, version controlled, heavily documented solutions (my C# ones are not exactly masterpieces but it was my first time with the language and windows).
So when May ended I was pretty excited to hear they wanted to keep me full time. I worked hard for it, I was serious, professional, I tried a lot to learn things so I can deliver, and the company recognized that. YAY.
So the time comes to talk money. The offer was 480euros per month. Double my part-time pay, minimum wage. I asked for about 700. Manager said it's hard but I will see what I can do. So we agreed to keep the deal for June while they are working on a better offer.
During the first half of June I finished my last project, put all my work on a nice folder with a nice readme on every project's directory, with their version control and everything.
The offer never improved, so I said no deal, and as of today, I am jobless.
I am stressed as fuck and excited as fuck at the same time.
I will do my best to survive in the shitstorm that is called Greece.
Bring it on.9 -
So as quite some people know on here, I am strongly against closed source software and have a very strong distrust in it as well.
So next to some principles (and believes etc etc etc) there is one specifc 'event' which triggered the distrust in CSS (No not Cascading Style sheet, I mean Closed Source Software :P). So hereby the story about what happened.
I think it was about 5 years ago when a guy joined my programming class (I wasn't in uni although I studied but for the sake of clarity, lets just call it uni for now (also, that makes me feel smarter so why the fuck not!)) in uni. He knew a shitload about programming for his age but he was convinced that he was always right. (that aside)
Anyways, at some point we had to work in groups on this project (groups for specific tasks) and he chose (he loved it, we hated it, he had the final say) Trello for 'project management'. He gave everyone (I was running Windows for a little bit at that moment because the project was in C# and the Snowden leaks had not arrived yet so I was not extremely uncomfortable with using Windows, just a lot) this addon program thingy he created for Trello which would make usage easier. I asked if it was open source, he replied with 'No, because this is my project.' and although I did understand that entirely, I didn't feel comfy using it because of it's closed source nature. Everyone declared me paranoid and he was annoyed as hell but I just kept refusing to use it and just used the web interface.
*skips to 2 years later*
I met that guy again at the train station at a random day! Had the usual 'how are you and what's up after a few years' talk with him and then he told me something that changed my view on closed source software for most probably the rest of my life.
"Hey by the way, do you remember that project of a few years back where you didn't want to use my software because of your 'closed-sourceness paranoia'? I just wanted to say that I actually had some kind of backdooring feature build in which (I am not going to say what) allowed me to (although I didn't use it) look at/do certain things with the 'infected' computers. I really wanted to say that I find it funny how you, the only one who didn't give in to my/the peer pressure, were the only one who wasn't affected by my 'backdoor' at that moment! Also your standards towards the use of closed source software probably played a big part probably. I find that pretty cool actually!"
Although I cannot confirm what he said, he was exactly the type of guy who would do this IMO (and not only IMO I think).
So yeah, that's one of the reasons AND the story behind a big part of why I don't trust closed source software :).5 -
Guy I work with: Hey can I borrow you for a minute
Me: sure. What do you need?
Him: so this is a project me an the other dev worked on
Me thinking: Well I know he did it all and sent you the project so don't tell me you worked on it
Him: so we use it to do this and this and send an email to this new account I made because (2 minute explanation)
Me thinking: I don't care. Just tell me what your issue is! I already know what it is and does from what you told me the last time when you showed me. Which took an hour of my time.
Him: so he sent me this code which is called <Descriptive name> and in the method we have variables call <descriptive name> and it returns a <variable name>
Me thinking: You mother fucker! I don't give a shit what your method is named, what it the variable names are, and you don't need to read through every line of code to me! Just from the descriptive name you just said I know what it does! What the fuck is your issue!?
Him: we also have these other methods. This one is called <Descriptive name> which does...
Me: are you fucking seriously going to read me your code line by line and tell me what you named your variables AGAIN!?
Him: and we named this one <descriptive name>
Me: you mother fucker...
Him: and it calls this stored procedure. (Literally opens the stored procedure and shows me) and it is called...which has parameters called... And it is a select query that inserts
45 minutes later after he finishes explaining all 3 pages of his code and his 5 stored procedures that the other dev wrote...
Him: So anyway, back to this method. I need to know where to put this method. The other dev said to put it in this file, but where do you think I should put it in here? Should I place it after this last one or before it?
Me thinking: You fucking wasted my fucking time just to ask where to place your mother fucking method that the other dev sent to you in a project with only 3 files, all less than 500 lines of code with comments and regions that actually tell you what you should put there and 5 small stored procedures that were not even relevant to your issue! Why the fuck did you need to treat me as a rubber ducky which would fly away if you did have one because you didn't have an issue, you just didn't know where to put your fucking code! FUCK YOUR METHOD!
Me: Where ever you want
Him: Well I think it won't work if I placed it before this method.
I walked away after that. What a waste of time and an insult to my skills and really unchallenging. He's been coding for years and still can't understand anything code related. I'm tired if helping him. Every time he needs something he always has to read through and explain his shit just to ask me things like this. One time he asked me what to name his variable and another his project. More recently he asked why he couldn't get his project he found online to work. The error clearly stated he needed to use c# 7. His initial solution was to change his sql connection string. 😑
He should just go back to setting up computers and fixing printers. At least then he would never be in the office to bug me or the other dev with things like this.7 -
Worst interview is the one that actually got me where I am today.
Its been 15 years ago, but I remember very well. Since it was a startup back then they didn't really have any job titles yet or what so ever. I applied for the role of network engineer, heck I didn't care I needed a paycheck.
5 minutes into the interview the smalltalk left the room and they started asking me questions, mainly about me as a person. Eventually it was my turn. After my first question I facepalmed so hard.. Do you guys have any SLA or documentation around here? Heard of ITIL? How is your load balancing?
They stared at me as if I was some kind of alien that had just invaded their little safe planet.. it was hilarious.
An hour later they called me to come back in and sign a contract.. from there on I kind of multi tasked my way around the first year.. bit of network support & design, customer support, sending and packaging orders after 5PM.. god we had long but awesome days.. hence, we were just the 5 of us. Nowadays we've got 150 developers out of 1019 total staff currently.. We also improved interview questions and processes ;)7 -
You: Starts something.
You: Compares results to someone who's been doing it for years.
You: Gets discourages.
You: Stops doing it.
You 5 years later: I wish I hadn't stopped.6 -
Had a plan to master JavaScript in 4 months and then, cover HTML and CSS in the next 3 months followed by Java in the remaining 5 months.
10 years later, I am still learning JavaScript.7 -
import LongRantKit
import NonRantKit
import TldrKit
I don't like stickers on my laptop because it clutters it up. But today I realized the importance of them.
A few months ago I was sitting at a coffee shop working on a paper and I noticed a guy with this cool sticker on a MacBook Pro: it had the integral symbol to the left of the Apple logo, and to the right of it a lowercase d and another Apple logo. It took me a few hours to realize what it meant, but I finally did and at that point I also guessed that not many people know what it is.
So I, as antisocial as I am, I finish up my work and before I leave I walk up to him and say hi. At this point I'm a senior in high school and I learn he's a junior in the same college I plan to attend. We talked a little before I had to leave and got to know each other somewhat.
After I leave I find him on Instagram and Facebook and friend him and such.
Recently I posted a picture saying I had recently joined the Apple Developer Team, and also recently reposted a memory on Facebook from 5 years ago that was a screen capture of an iPhone 4 simulator running iOS 5 showing off one of my first apps.
Then yesterday I get a message from the guy I met at the coffee shop asking for some help with an iOS project he's working on. We decide to meet today and I spend the entire morning showing him the basics of Swift, Xcode, Interface Builder, etc. I feel like I really helped him jumpstart his app and helped him understand the basics of different concepts.
If he didn't have that integral sticker on his laptop I would have never had this opportunity to finally share some iOS development experience.
For this I would like to thank my high school calculus teacher, with whom I spent many classes at Starbucks because I was an only student. I'd like to thank laptop stickers, and finally I would like to thank the coffee shop.
TL;DR: Said hi to a guy with an integral sticker on his laptop, a few months later he approaches me for help understanding iOS development.2 -
I think everyone has had at least one of those, thinking something about technology/a certain technology thingy and appearing to be completely wrong years and years later.
In my case: I thought (like 5-8 years ago) that there wouldn't ever be better touchscreens than apple devices had.
Man was I wrong!
Comment yours below :)13 -
I was looking for a part time job when I was 15, knew nothing about coding, got a developer job cause I said I'm keen to learn xD .. 5 years later.. I'm still learning but I have a better knowledge now!
4 -
Shalom my dudes!
A quick GT from my college years:
>be me
>barely knew how to program but eager to learn more and more
>end of first semester, teacher assigns a couple of classic games for extra points
>battleship, pacman, sudoku, tetris, etc. All done in C
>end up with tetris
>2 days later I have the final build, including all the tech shit like walljump
>start thinking to myself "this looks really fucking ugly, what's wrong with me??"
>look up graphic libraries for C when a light flashes on my computer screen
>*NCURSES*
>the next 2 weeks were a montage of me learning linux, understanding ncurses and redoing my code (plus bug fixing)
>presentation day
>palms are spaghetti
>knees? Spaghetti
>arms? Spaghetti
>class is impressed with my work
>professor comes up to the board and tells me that I get a 0 because it wasn't "pure C"
>clenched my jaw and walked towards the dean office
>"hey, mind if I show you something?"
>open my laptop and show him the game
>he's having a blast since every time you do a 5 row crunch (a tetris), a piece of clothing of a random model comes off
>explain to him what happened in the classroom
>he looks at my code, runs it on a plagiarism checker and tells me that he will edit the grade himself
> a week later there's a 10 on my grading area
>feelsgoodman
6 -
The solution for this one isn't nearly as amusing as the journey.
I was working for one of the largest retailers in NA as an architect. Said retailer had over a thousand big box stores, IT maintenance budget of $200M/year. The kind of place that just reeks of waste and mismanagement at every level.
They had installed a system to distribute training and instructional videos to every store, as well as recorded daily broadcasts to all store employees as a way of reducing management time spend with employees in the morning. This system had cost a cool 400M USD, not including labor and upgrades for round 1. Round 2 was another 100M to add a storage buffer to each store because they'd failed to account for the fact that their internet connections at the store and the outbound pipe from the DC wasn't capable of running the public facing e-commerce and streaming all the video data to every store in realtime. Typical massive enterprise clusterfuck.
Then security gets involved. Each device at stores had a different address on a private megawan. The stores didn't generally phone home, home phoned them as an access control measure; stores calling the DC was verboten. This presented an obvious problem for the video system because it needed to pull updates.
The brilliant Infosys resources had a bright idea to solve this problem:
- Treat each device IP as an access key for that device (avg 15 per store per store).
- Verify the request ip, then issue a redirect with ANOTHER ip unique to that device that the firewall would ingress only to the video subnet
- Do it all with the F5
A few months later, the networking team comes back and announces that after months of work and 10s of people years they can't implement the solution because iRules have a size limit and they would need more than 60,000 lines or 15,000 rules to implement it. Sad trombones all around.
Then, a wild DBA appears, steps up to the plate and says he can solve the problem with the power of ORACLE! Few months later he comes back with some absolutely batshit solution that stored the individual octets of an IPV4, multiple nested queries to the same table to emulate subnet masking through some temp table spanning voodoo. Time to complete: 2-4 minutes per request. He too eventually gives up the fight, sort of, in that backhanded way DBAs tend to do everything. I wish I would have paid more attention to that abortion because the rationale and its mechanics were just staggeringly rube goldberg and should have been documented for posterity.
So I catch wind of this sitting in a CAB meeting. I hear them talking about how there's "no way to solve this problem, it's too complex, we're going to need a lot more databases to handle this." I tune in and gather all it really needs to do, since the ingress firewall is handling the origin IP checks, is convert the request IP to video ingress IP, 302 and call it a day.
While they're all grandstanding and pontificating, I fire up visual studio and:
- write a method that encodes the incoming request IP into a single uint32
- write an http module that keeps an in-memory dictionary of uint32,string for the request, response, converts the request ip and 302s the call with blackhole support
- convert all the mappings in the spreadsheet attached to the meetings into a csv, dump to disk
- write a wpf application to allow for easily managing the IP database in the short term
- deploy the solution one of our stage boxes
- add a TODO to eventually move this to a database
All this took about 5 minutes. I interrupt their conversation to ask them to retarget their test to the port I exposed on the stage box. Then watch them stare in stunned silence as the crow grows cold.
According to a friend who still works there, that code is still running in production on a single node to this day. And still running on the same static file database.
#TheValueOfEngineers2 -
TLDR; My 2TB HDD got wiped in one fell swoop by a 9-year old child.
You know... I've never been too great about keeping backups. Even to this day, I only keep one or two local backups and nothing on the "cloud".
So this was about 5 years ago. At the time, I was living together with my girlfriend - who would later become my wife. She had a son from a previous relationship, who at the time was 9 years old.
I had a small desk in the living room of our one-bedroom apartment, that I used for my computer, which has been a laptop for a long time now. One unfortunate thing about the layout of the apartment was that the wall plug near my desk was attached to a light switch.
I had a 2TB external hard drive - with its own power cable - plugged into my laptop. Then, things started to move in slow motion... The GF's son comes inside from playing, my GF asks him to turn off the light. He reaches over, and shuts off power to my laptop - and the external hard drive.
He must have hit that switch at JUST the right fucking time. The laptop ran on battery, no big deal. The hard drive, when I powered it back up - was wiped clean. I tried data recovery on it, but the HDD was encrypted, which makes things more complicated.
Needless to say, I was not happy. I never got that data back, but I did learn not to expose my hard drives to 9 year olds. Very dangerous little creatures.
You want to know the best part? He destroyed another hard drive of mine, a few years later. Should I tell that story?5 -
I was engaged as a contractor to help a major bank convert its servers from physical to virtual. It was 2010, when virtual was starting to eclipse physical. The consulting firm the bank hired to oversee the project had already decided that the conversions would be performed by a piece of software made by another company with whom the consulting firm was in bed.
I was brought in as a Linux expert, and told to, "make it work." The selected software, I found out without a lot of effort or exposure, eats shit. With whip cream. Part of the plan was to, "right-size" filesystems down to new desired sizes, and we found out that was one of the many things it could not do. Also, it required root SSH access to the server being converted. Just garbage.
I was very frustrated by the imposition of this terrible software, and started to butt heads with the consulting firm's project manager assigned to our team. Finally, during project planning meetings, I put together a P2V solution made with a customized Linux Rescue CD, perl, rsync, and LVM.
The selected software took about 45 minutes to do an initial conversion to the VM, and about 25 minutes to do a subsequent sync, which was part of the plan, for the final sync before cutover.
The tool I built took about 5 minutes to do the initial conversion, and about 30-45 seconds to do the final sync, and was able to satisfy every business requirement the selected software was unable to meet, and about which the consultants just shrugged.
The project manager got wind of this, and tried to get them to release my contract. He told management what I had built, against his instructions. They did not release my contract. They hired more people and assigned them to me to help build this tool.
They traveled to me and we refined it down to a simple portable ISO that remained in use as the default method for Linux for years after I left.
Fast forward to 2015. I'm interviewing for the position I have now, and one of the guys on the tech screen call says he worked for the same bank later and used that tool I wrote, and loved it. I think it was his endorsement that pushed me over and got me an offer for $15K more than I asked for.4 -
Once went for an interview for a senior web developer role. The first interview was a coding test ( not a problem, been coding for years and know I can do it). The company boasted that it supported pair programming.
I was sat at in an open plan office In front of a machine and given a question sheet of 10 code questions/puzzles and asked to solve them. Then out of nowhere 5 other senior devs appeared and stood behind me and proceeded to comment /question every single line I typed (so no pressure then).
I did questions 1-5 (fairly easy tbh) but all the devs behind me critiquing every single line started to drive me crazy so I asked if it was normal for them to interview this way and was told 'yes' and that after a year of trying to find someone they had been unsuccessful.
I told them that I wanted to leave the interview at that point; I don't mind my code being critiqued just prefer it when I've at least finished the line. Forcing you into a pair programming scenario in the interview really didn't feel right.
To this day (2years later) I still see ads for that very same job3 -
I've found and fixed any kind of "bad bug" I can think of over my career from allowing negative financial transfers to weird platform specific behaviour, here are a few of the more interesting ones that come to mind...
#1 - Most expensive lesson learned
Almost 10 years ago (while learning to code) I wrote a loyalty card system that ended up going national. Fast forward 2 years and by some miracle the system still worked and had services running on 500+ POS servers in large retail stores uploading thousands of transactions each second - due to this increased traffic to stay ahead of any trouble we decided to add a loadbalancer to our backend.
This was simply a matter of re-assigning the IP and would cause 10-15 minutes of downtime (for the first time ever), we made the switch and everything seemed perfect. Too perfect...
After 10 minutes every phone in the office started going beserk - calls where coming in about store servers irreparably crashing all over the country taking all the tills offline and forcing them to close doors midday. It was bad and we couldn't conceive how it could possibly be us or our software to blame.
Turns out we made the local service write any web service errors to a log file upon failure for debugging purposes before retrying - a perfectly sensible thing to do if I hadn't forgotten to check the size of or clear the log file. In about 15 minutes of downtime each stores error log proceeded to grow and consume every available byte of HD space before crashing windows.
#2 - Hardest to find
This was a true "Nessie" bug.. We had a single codebase powering a few hundred sites. Every now and then at some point the web server would spontaneously die and vommit a bunch of sql statements and sensitive data back to the user causing huge concern but I could never remotely replicate the behaviour - until 4 years later it happened to one of our support staff and I could pull out their network & session info.
Turns out years back when the server was first setup each domain was added as an individual "Site" on IIS but shared the same root directory and hence the same session path. It would have remained unnoticed if we had not grown but as our traffic increased ever so often 2 users of different sites would end up sharing a session id causing the server to promptly implode on itself.
#3 - Most elegant fix
Same bastard IIS server as #2. Codebase was the most unsecure unstable travesty I've ever worked with - sql injection vuns in EVERY URL, sql statements stored in COOKIES... this thing was irreparably fucked up but had to stay online until it could be replaced. Basically every other day it got hit by bots ended up sending bluepill spam or mining shitcoin and I would simply delete the instance and recreate it in a semi un-compromised state which was an acceptable solution for the business for uptime... until we we're DDOS'ed for 5 days straight.
My hands were tied and there was no way to mitigate it except for stopping individual sites as they came under attack and starting them after it subsided... (for some reason they seemed to be targeting by domain instead of ip). After 3 days of doing this manually I was given the go ahead to use any resources necessary to make it stop and especially since it was IIS6 I had no fucking clue where to start.
So I stuck to what I knew and deployed a $5 vm running an Nginx reverse proxy with heavy caching and rate limiting linked to a custom fail2ban plugin in in front of the insecure server. The attacks died instantly, the server sped up 10x and was never compromised by bots again (presumably since they got back a linux user agent). To this day I marvel at this miracle $5 fix.1 -
> be me
> spend 0.02 Ether (about €5) on one of those old-school MUD-style games
> send to the same Ethereum wallet from a previous purchase
> realize that the destination wallet changes for each purchase (probably to mitigate the fact that transaction history and contents in Ethereum wallets is entirely public)
> send an email to the game dev asking to return the transaction or pass it on to my player account
> *cricket noises*
About a week later, i.e. now:
*checks that Ethereum account that I accidentally sent that transaction to*
> $0 on it, transaction has been withdrawn
Now I couldn't care less about the €5 - it's only 2 beers worth - but what I do care about is honesty. Dear Chat Wars admin, that money wasn't yours. Also, I am one of those players that plays very few games but tends to commit to those I do play. The last one I played, I spent several hundreds of euros on over the couple of years I played it. I could've probably paid for your servers, spare time development and then some. But obviously not anymore. Choosing a quick grab of €5 over a relatively steady source of income from someone that tends to financially support what he likes... Re-evaluate your life choices.
Just like that incident with the stolen flash drive that was worth only €10... I couldn't care less about the raw value of them, but I do feel very disappointed in humanity when people go for a quick grab of such worthless things.5 -
Old rant about an internship I had years ago. It still annoys me to this day, so I just had to share the story.
Basically I had no job or work experience in the field, which is a common issue in the city I live in - developer jobs are hard to come by with no experience here. The municipality tried to counter this issue by offering us (unemployed people with an interest in the field) a free 9-month course, linked with an internship program, with a "high chance" of a job after the internship period.
To lure companies to agree to this deal, the municipality offered a sum of money to companies who willing to take interns. The only requirement for the company was that they had to offer a full-time position to the interns after the internship, as long as there were no serious issues (ex. skipping work, calling in sick, doing a bad job etc.).
On paper, this deal probably makes sense.
I landed an internship fairly quickly at a well-known company in the city. The first internship period went great, and I got constant positive feedback. I even got to the point where I ran out of tasks since I worked faster than expected - which I was fairly proud of at the time.
The next internship period was a weird mix between school (the course), and being at the company. We would be at the school for the whole week, expect Wednesdays where we could do the internship at the company.
When I met at work on that first Wednesday, the company told me that it made no sense for me to meet up on those days, as I was only watching some tutorial videos during that time, while they were finding bigger tasks for me - which in turn required that they got some designs for a new project. They said that due to the requirements they got from the municipality (which I knew nothing about at the time), they couldn't ask me to work from home - and they said it would "demoralize" the other developers if I just sat there on Wednesdays to watch videos. Instead, they suggested that I called in sick on Wednesdays and just watched the videos at home - which is something I would register to the workplace, so I wouldn't get in trouble with the school. It sounded logical to me, so I did that for like 5-6 Wednesdays in a row. Looking back at this period, there's a lot of red flags - but I was super optimistic and simply didn't notice.
After this period, the final 2 months of the internship period (no school). This time I had proper tasks, and was still being praised endlessly - just like the first period.
On the last day of the internship, I got called to a meeting with my teamlead and CEO. Thinking I was to sign a full-time contract, I happily went to the meeting.. Only to be told that they had found someone with more experience.
I was fairly disappointed, and told them honestly that I would have preferred if they had told me this earlier, since I had been looking forward to this day. They apologized, but said that there was nothing they could do.
When I returned for the last school period (2 weeks), the teacher asked me to join him for a small meeting with some guy from the municipality. Both seemed fairly disappointed / angry, and told me what still makes me furious whenever I think about it.
Basically after my last internship period, the company had called the municipality, telling them that I had called in sick on those Wednesdays, and was "a lazy worker", and they would refuse to hire me because of that.
I of course told them my side of the story, which they wouldn't believe (unemployed person vs. well-known company).
Even when I landed a proper job a few months later, the office had called my old internship for a reference - and they told the same story, which nearly made them decline my application. This honestly makes me feel like it's something personal.
So basically:
Municipality: Had to pay the company as the deal / contract between them was kept.
Company: Got free money and work.
Me: Got nothing except a bad reputation - and some (fairly limited) experience..
Do I regret taking the course? .. No, it was a free course and I learned a lot - and I DID get some experience. But god, I wish I had applied at a different company.
Sorry for my bad English - it's not my first language.. But f*ck this company :)8 -
I learn programming cause it was in my genes.
My father was a programmer himself but, he died back in 2005 of September when I was 5 years old. So I guess I program to continue what he did. He was in the process of making a game but, failed to do it. He had concept art created and even mad characters. When I get real good, I plan to program that game for him and dedicate it to him.
I started programming on a website called Scratch back in 2010 (in think), which I saw a Ted Talk on, and started from there. I use KhanAcademy as I am home schooled and when they introduced the programming tutorials to that website, I was immediately hooked and it was just the beginning.
I used Scratch for three years and I wanted to know more, so I did research and discovered a program called Stencyl and started making a game I made from scratch into that format.
I used that program and when 2013 hit, moved to a new church and met an old friend and all of sudden we started making games together and we relesed our first game on Scratch called Minecart Chaos.
That took three months to create. He did all the art and I, of course, did the programming. The three months later we were at it again making a new game called EMP Restaurant Rampage. That also took three months to create. one of his friends composed the music. We are now in the process on making a new game and I am now tasked to make the music. So that is my history.9 -
I try as hard as possible not to be judgemental towards incompetent colleagues, motivating myself with the knowledge that we were all incompetent at some point, and that people need a chance to learn, and that sometimes too much pressure will lead you to believe that they're bad. Or sometimes, people just aren't good at the stuff you want them to be good, and you just need to discover that niche where they will be very useful.
Mostly that goes well.
I've had the incompetent late bloomer who was a family man who started too late to dev, and wasn't really serious. A bit of harsh talk, some soul searching over a few beers, made him into a really valuable asset. Not the brightest rock, but reliable, steady-paced developer who earned his stay.
Then there was the girl who wasn't really good at coding, but saved our team from disaster many times by keeping things into account, and realizing what must be developed or tested at every step.
However, there are exceptions. I've worked with people who have been nothing but a menace, through their incompetence AND attitudes.
The most noteworthy example was an intern that we sought out, by talking to professors to point us to their best students. So we got that intern on board. He seemed strange at first. Kind of perfectionist. Talked serious, with an air of royalty, and always dressed sharply. He really gave the impression that one must be worthy to receive his blessing. The weirdest part was his handshake. It was as if he was touching an iron hand heated to 3000 degrees. It was over before you even knew it. Leaves you kinda offended. Especially when he always took a wet wipe after that and wiped his hands. Am I really that gross?
But that's fiiiine. I mean we're all different and weird in our own ways, right? So he's a germophobe, so fucking what? We just gotta find a way to work together, right?
WRONG.
As soon as he started (and remember, he's a paid intern, who barely knows how to code, and has zero industrial experience), he started questioning my architecture solutions, code implementations, etc. I don't mind discussion and criticism, which is why I welcomed his input. But it seemed like he wasn't willing to accept any arguments, so I started looking for excuses not to talk to him.
Meanwhile, the most productive team member we had, to whom you could just give and describe an idea, with architecture and stuff, well, and you'd see it implemented the next week, with only the most well placed questions asked, started going into fights with this intern for the same reasons I was avoiding him.
.....
And here's the kicker.
Get this:
This intern comes to me (I was the team lead), while that guy is not in the office, and with a straight face, dead serious, starts telling me that that guy was making stupid decisions and being a bad team member because he doesn't ... I quote him almost verbatim... "follow my indications". He said that I had to do something because he refused to work with him together.
I was stunned.
This good for nothing imagined superhuman, who was completely useless and an amazing annoyance to pretty much everyone in the team, came to me, telling me that the most capable and productive developer in the team is bad, because he doesn't follow his orders, and that I had to pick between the 2.
I couldn't believe what I had heard.
I had so much emotion in me right then. I was angry, but at the same time I could barely abstain from laughing.
I just told him calmly that he was wrong, and that I wouldn't mind if he never came back. I didn't see him for 5 years after that.
Anyway, later that week our team went for a dinner + beer, and the stories from all the team members started pouring in. They didn't want to talk him down either, but now that he was gone, it was a weight off, and everybody could tell their story.
What a fucking asshole.
So 5 years after I stumbled on him as he was entering a church. Still an arrogant bitch. Barely exchanged 10 polite words and I continued on my way as he was disinfecting his hands from my filthy handshake.4 -
🍰
Today I navigate the devRant oceans for the 157,680,000 second.
Who knew this place would be still pumping some of the greatest devs I've come to appreciate so many years later, it's not the vibrant place it once was, but it's still full of hidden gems.1 -
I used to work for a Mexican bank in Mexico, as a developer I opened (and use) an account, since the bank was not famous(most of its business was with the government), going to the bank and see no waiting lines was an advantage, so I started using it as my only bank account even nowadays.
Now I live in NYC, and some years later I see on the news the bank merged(was absorbed) with another bank, 'sounds good, I don't care' I thought.
Well, I open my online account and the nightmare begins:
1) Redirection to the 2nd bank page
2) My credentials does not work
3) Call the original bank(no answers)
4) After several calls and days I got a phone contact
5) 'well, try all other passwords you have' (transaction passwords, operative passwords, login passwords, etc), among many other stupid answers, which by the way, were preceded by infinite question about the 2nd bank, like:
- when did you open the account with the 2nd bank?
- what is your 2nd bank account number
6) after 20 calls like that, they asked for documents, information and screenshots, and send all that to the 2nd bank tech help email.
7) After several days a person responded: 'Go to your bank(which fucking bank?)' and ask for a new user.
8) a ton of calls to know what bank I was assigned
9) called the bank: 'well, you have to come in person(no exceptions allowed) and request to close your 1st bank account and open a 2nd bank account' (I am not sure if that is gonna work)
All the technology nowadays and still I have to travel thousands of miles hoping this 'solution' works.
to be continue....2 -
On highschool I took a special major in which we learned various computer and mathematics skills such as neural networks, fractals, etc.
One of the teachers there, which for me was also a mentor, is a physician. He taught us python which he didn't know very well (he wasn't that bad either) and science which was his true passion.
My end project was to try to predict stocks market using a simple neural network and daily graphs of 50 NSDQ companies. The result reached 51% prediction on average which was awful, but I couldn't forget the happinness and curiosity working on this project made me feel.
Now, 5 years later, I have a Bsc and finishing a Msc in Computer Science, and would sincerely want to thank this mentor for giving me the guts and will to accomplish this.7 -
Some time 199x, when I was still a little kiddo, my dad bought a PC. It had a big ass HDD (dimensions-wise), 1x 3.5" floppy disk drive and a 5.25" floppy disk drive. It ran DOS. Dad managed to hook up a dot matrix Epson printer to it and used the computer for writing... whatever, really :)
Then dad got some of those 5" floppies with games and installed them on our PC. Mach3, Indy, Entity and Atlantis were my favourite ones. Later we got Wolfenstein 3-D, but that was just too scary, too intense for me.
All that was years before we got Windows 3.0 installed there.
-
An adult cam website I worked on as freelancer had/has this code everywhere:
$user = $_POST['usr'];
$pass = $_POST['pwd'];
$row = $db->query ("SELECT * FROM users where username='".$user."' AND password='".$pass."' COUNT 1);
I was hired to add new features and was touch any other parts of the code. When my job was done, I tried to fix those as a good samaritan but the client thought I was messing with the system or should be thing of new features to add. So I got fired.
5 years later, I check out of curiosity and they are still there. I ask him again if I can work on them for a little less pay(I'm broke) and he doesn't reply. What a douche. I hope his site receives a shot of SQLi from a customer.18 -
School sucks.
Paying quiet a lot of money(not having that much) to a private school that used to impress me two years ago.
Now I can see all the hidden crap:
- Project work is graded after written lines
- "Do this project with scrum" Got two hours in the room with scrum board in a whole semester
- Exams are pushed if the teacher is to lazy to deal with bad results. A 3 ( or C ) became best grade.
- They could not find a teacher for OS & Networks. So instead of 1 semester Server architecture we got 5 days.. 1 of them for exam (exam = final grade)
- Guy took part with us during the 5 days. "How did you do that?!? Doesn't work on my PC I think" - half year later he is the new Network teacher
- Surpassingly he sucks at that, being half a week ahead of his lessons by googling shit together. Can't answer a single question beyond that..
Once he created a multiple choice exam. Questions in a word document online, answers on paper. Not just that he never blocked the internet during the exam, he also publicly uploaded the document a week ahead. Securing it with a 5 letter password... Somehow we all passed that one with a pretty good average.
Besides there a some teachers who are actually really good.3 -
So today I had a discussion with my manager that I have been working unpaid overtime everyday (close to 5 hours overtime). She responds with saying that I am quite young (24) and these are my golden years of learning and I should be working overtime for atleast 10 years of my life during the start of my career to learn stuff because I will regret it later. Idk how am I supposed to react to that. She maybe correct, and I do work overtime sometimes out of my own interest but this is getting way too much and pushing it. any suggestions about how do I deal with such a manager?28
-
So one rant reminded me of a situation I whent through like 10 years ago...
I'm not a dev but I do small programs from time to time...
One time I was hired to pass a phone book list from paper to a ms Access 97 database...
On my old laptop I could only add 3 to 5 records cause MS access doesn't clean after itself and would crash...
So I made an app (in vb6) , to easily make records, was fast, light and well tabbed.
But now I needed a form to edit the last record when I made a mistake...
Then I wanted a form to check all the records I made.
Well that gave me an idea and presented the software to the client... A cheesy price was agreed for my first freelance sell...
After a month making it perfect and knowing the problems the client would had I made a admin form to merge all the databases and check for each record if it would exist.... I knew the client would have problems to merge hundreds of databases....
When it was done... The client told me he didn't need the software anymore.... So I gave it to a friend to use as an client dabatase software... It was perfect for him.
One month later the client called me because he couldn't merge the databases...
I told him I was already working in a company. That my software was ready to solve his problem, but I got mad and deleted everything...
He had to pay almost 20 times more for a software company to make the same software but worst... Mine would merge and check all the databases in a folder... Their's had to pick one by one and didn't check for duplicates... So he had to pay even more for another program to delete duplicates...
That's why I didn't follow programming as a freelance... Lots of regrets today...
Could be working at home, instead had a burn out this week cause of overwork...
Sorry for the long rant.2 -
A couple of weeks ago, I got to the second stage of a recruitment process with a relatively big fintech in the crypto space (I know) - all went well and although I did not think much of it at first, with all the information I had gathered I came to realize this might as well be the best opportunity I've had in my pursuit of finding a new job (i.e looking for high technical challenges, unsure of where I see myself in 5 years, wanting to give full-remote work a try, etc.).
Cue to the end of the interview;
"That's great! I really enjoyed speaking with you, your technical background seems excellent so we would like to move to the next stage which is a take-home test to do in your free time.", said the interviewer.
"Wow! Much amaze, well of course! What's it gonna be?", said the naive interviewee.
"I'm sending you the details via email, please send it back in 48 hours, buhbye now", she hangs up.
...
"48 hours?? Right, this should be easy then, probably some online leetcoding platform, as usual.", thought the naive interviewee, who evidently went through this sh*t numerous times already.
A day later I receive the email: this was the whole deal. The take-home test supreme with bacon and cheese. A full-blown project, with tests, a project structure, a docker image, testing and bullet points for bonus points! The assessment was poorly written with lots of typos and overall ambiguity, a few datasets were also provided but bloated with inconsistent comments and trailing whitespace.
What the actual fck??? Am I supposed to sleep deprive myself to death while also working my day job? What are you trying to assess? How much of my life I'm willing to sacrifice for your stupid useless coding challenge? You are not all Google, have some respect, jeez.
I did not get the job.2 -
When I was a graduate I often had to do proof of concepts and one had to be done by the weekend, I'd only been given it on the Wednesday. After a few sleepless nights I had it working or so I thought. On the Friday afternoon the CTO had a look at it and spotted a bug, he told me about it and I stayed in the office until about 10 when I finally managed to get some kind of fix in place. I emailed him told him I thought but was working and shouldn't happen again.
A few hours later no response I get a phone call from him screaming, shouting and swearing calling me useless and a waste of space etc. Etc. To the point I logged in desperately trying to fix the issue in a very hastily written integration and ended up having quite a major panic attack woke up on the floor and immediately went back to work. On the Saturday morning one of the senior Devs logged in and managed to fix it in the database and everything went fine in the end.
I went into work on Monday fully expecting to be fired from the way the CTO was speaking to me, I went to my line manager at the time and he just said don't worry. I left it in his
hands and things went back to normal. That call put a pretty serious dent in my confidence for years, but I learned a few valuable lessons which I stick to today.
Never work on serious shit after 6, use a second mobile for work which is turned off at 5 o'clock, properly test all fixes and always ALWAYS have someone in between graduates and senior management because honestly they can't handle the shit that's flung from above.1 -
They probably should have made me sign a NDA, but I never did.
I was a wee little front-end devloper for a really small dev shop. The lead devloper, who was also the only back-end developer decided to quit. The company was in the middle of a huge project with Rolls-Royce aerospace. I managed to learn ColdFusion and release the application in only a few months. It was basically a giant warranty management application for jet engines. This is one app I wish I can go back and redo because if I had the expierence then that I do now... I feel like it would be so much better. That application allowed me to advance in my career, and 5 years later, I'm working for one of the largest development companies. -
Best code performance incr. I made?
Many, many years ago our scaling strategy was to throw hardware at performance problems. Hardware consisted of dedicated web server and backing SQL server box, so each site instance had two servers (and data replication processes in place)
Two servers turned into 4, 4 to 8, 8 to around 16 (don't remember exactly what we ended up with). With Window's server and SQL Server licenses getting into the hundreds of thousands of dollars, the 'powers-that-be' were becoming very concerned with our IT budget. With our IT-VP and other web mgrs being hardware-centric, they simply shrugged and told the company that's just the way it is.
Taking it upon myself, started looking into utilizing web services, caching data (Microsoft's Velocity at the time), and a service that returned product data, the bottleneck for most of the performance issues. Description, price, simple stuff. Testing the scaling with our dev environment, single web server and single backing sql server, the service was able to handle 10x the traffic with much better performance.
Since the majority of the IT mgmt were hardware centric, they blew off the results saying my tests were contrived and my solution wouldn't work in 'the real world'. Not 100% wrong, I had no idea what would happen when real traffic would hit the site.
With our other hardware guys concerned the web hardware budget was tearing into everything else, they helped convince the 'powers-that-be' to give my idea a shot.
Fast forward a couple of months (lots of web code changes), early one morning we started slowly turning on the new framework (3 load balanced web service servers, 3 web servers, one sql server). 5 minutes...no issues, 10 minutes...no issues,an hour...everything is looking great. Then (A is a network admin)...
A: "Umm...guys...hardly any of the other web servers are being hit. The new servers are handling almost 100% of the traffic."
VP: "That can't be right. Something must be wrong with the load balancers. Rollback!"
A:"No, everything is fine. Load balancer is working and the performance spikes are coming from the old servers, not the new ones. Wow!, this is awesome!"
<Web manager 'Stacey'>
Stacey: "We probably still need to rollback. We'll need to do a full analysis to why the performance improved and apply it the current hardware setup."
A: "Page load times are now under 100 milliseconds from almost 3 seconds. Lets not rollback and see what happens."
Stacey:"I don't know, customers aren't used to such fast load times. They'll think something is wrong and go to a competitor. Rollback."
VP: "Agreed. We don't why this so fast. We'll need to replicate what is going on to the current architecture. Good try guys."
<later that day>
VP: "We've received hundreds of emails complementing us on the web site performance this morning and upset that the site suddenly slowed down again. CEO got wind of these emails and instructed us to move forward with the new framework."
After full implementation, we were able to scale back to only a few web servers and a single sql server, saving an initial $300,000 and a potential future savings of over $500,000. Budget analysis considering other factors, over the next 7 years, this would save the company over a million dollars.
At the semi-annual company wide meeting, our VP made a speech.
VP: "I'd like to thank everyone for this hard fought journey to get our web site up to industry standards for the benefit of our customers and stakeholders. Most of all, I'd like to thank Stacey for all her effort in designing and implementation of the scaling solution. Great job Stacy!"
<hands her a blank white envelope, hmmm...wonder what was in it?>
A few devs who sat in front of me turn around, network guys to the right, all look at me with puzzled looks with one mouth-ing "WTF?"7 -
Your favourite comment?
My team was working on a legacy system, one part of it is an assistant, sadly required as global variables.
Being a non-english-first-language company, some dev years ago thought shortening said assistant to "ass" would be a wise idea - less to type, right?
When we redid the application 2016 part-by-part, our code needed to define 3-4 global variables starting with the "ass" prefix for the legacy parts to work. The colleague who was tasked with this is a fine gentleman from England.
Later as I read through the commit, I found 5 lines of code following 20 lines of comments explaining and deeply apologizing for "ass", "ass_open", etc.
The same dev also had a "HACK OF THE YEAR" comment he moved around when time constraints made a less-than-optimal fix necessary which was worse than the last "highscore".1 -
5 years ago, I spent two days in a conference room championing a service oriented architecture, which we had started down the path a year before. The other guy wanted to undo what was done and take the monolith approach. Not making any progress, I walked away and decided to let him have his way. A year later I left the position and quit programming. That whole experience played a major role in the decision to just give it up.2
-
So... did I mention I sometimes hate banks?
But I'll start at the beginning.
In the beginning, the big bang created the universe and evolution created humans, penguins, polar bea... oh well, fuck it, a couple million years fast forward...
Your trusted, local flightless bird walks into a bank to open an account. This, on its own, was a mistake, but opening an online bank account as a minor (which I was before I turned 18, because that was how things worked) was not that easy at the time.
So, yours truly of course signs a contract, binding me to follow the BSI Grundschutz (A basic security standard in Germany, it's not a law, but part of some contracts. It contains basic security advice like "don't run unknown software, install antivirus/firewall, use strong passwords", so it's just a basic prototype for a security policy).
The copy provided with my contract states a minimum password length of 8 (somewhat reasonable if you don't limit yourself to alphanumeric, include the entire UTF 8 standard and so on).
The bank's online banking password length is limited to 5 characters. So... fuck the contract, huh?
Calling support, they claimed that it is a "technical neccessity" (I never state my job when calling a support line. The more skilled people on the other hand notice it sooner or later, the others - why bother telling them) and that it is "stored encrypted". Why they use a nonstandard way of storing and encrypting it and making it that easy to brute-force it... no idea.
However, after three login attempts, the account is blocked, so a brute force attack turns into a DOS attack.
And since the only way to unblock it is to physically appear in a branch, you just would need to hit a couple thousand accounts in a neighbourhood (not a lot if you use bots and know a thing or two about the syntax of IBAN numbers) and fill up all the branches with lots of potential hostages for your planned heist or terrorist attack. Quite useful.
So, after getting nowhere with the support - After suggesting to change my username to something cryptic and insisting that their homegrown, 2FA would prevent attacks. Unless someone would login (which worked without 2FA because the 2FA only is used when moving money), report the card missing, request a new one to a different address and log in with that. Which, you know, is quite likely to happen and be blamed on the customer.
So... I went to cancel my account there - seeing as I could not fulfill my contract as a customer. I've signed to use a minimum password length of 8. I can only use a password length of 5.
Contract void. Sometimes, I love dealing with idiots.
And these people are in charge of billions of money, stock and assets. I think I'll move to... idk, Antarctica?4 -
University, first year. I went to my Java/OOP teacher's office to about the course (I had started programming C++ ~5 years ago).
I wanted to discuss the fact that some parts of the course seemed too theoretical for beginners in my opinion. Rookie mistake : do not criticize the cursus of an academic if you are in your first year, even when you are right. I learned it the hard way...
The teacher started to tell me that I was just a first-year student, I had no experience yada yada...
To that I replied "I'm doing C++ for 5 years. This is OOP so yeah I do know a little more than you think".
I will never forget his reply "LOL C++ is not Object-Oriented !"
I never went to his course after that. I learned a few years later that the teacher was a well-known a**hole along his peers and got fired by the University...31 -
I started programming 2 years ago. I didn't know what to do with my life after high school, so I went to an event where you can meet students. I ran across the IT schools section, wearing a GEEK sweater, and almost immediatly, 5 students were right in front of me to talk about their school.
One hour later, I said "yeah why not", even if I didn't know ANYTHING about programming.
One or two weeks later, I took the entrance exam, and one month later I knew that I passed.
I learnt the bases when I entered in Sept. 20143 -
Not CS degree, but EE, and totally worth the effort. Not only that without degree, I wouldn't get jobs in many companies, but I actually learnt a lot. Laplace and Fourier will be as valid in a 100 years as they were 200 years ago.
Yeah, it was fucking hard. Math was rather OK, only 50% of the students failed the first exam. EE was harder, 90% failed at the first try. That wasn't regarded as problem - on the contrary, the exams were designed to weed out. After two semesters, we already had 50% student loss.
I remember what the EE prof told us in the first semester: we would learn a lot of things, but most importantly, to think like an engineer. Didn't make sense right away, but 5 years later, I knew what he had been talking about.3 -
Recruiter: how many years of experience do you have?
Me : 4
Recruiter: the client wants someone with a minimum of 5 years
Me : okay then, let me know if anything else is available.
Recruiter: You can change your resume... just add a year.
Me : ???? No thanks
Recruiter: they’ll never know ... you can tell them later
Me : ....2 -
!dev but rant
Samsung
Samsung...
Samsung!! What the fuck is wrong with you?
Some longer time ago you earned forst red red flag called knox. What the fuck you mean there is physical diode in phone that will burn out when I do whatever I want with phone? Its my phone. My. I live in europe and european law is with me. Its **MY** stuff and Im allowed to be super user so fuvk off with knox bullshit.
Okay, now, more and more phone are missing critical feature to save few cents a phone. You were last bastion. You were **that** company who was loyal to audio jacks. And why the fuck you plan to remove it? You know what? That one thing brought your phones from one of best (becouse retained audio jacks and didnt do much of notch fuckupery) to literally worst one thanks to knox.
And before anyone tells me bullshit apple tried to say "thats space saving", no its not true to point where one of their very own Iphones had internally space and traces for audio jacks. Its to save pennies on phone for profit margins and to force us to use bluetooth stuff, that I dislike. I stick to my K518 few years now and I am super happy user of it. Why y'all want to take away good stuff?
Oneplus, your turn. Why the luving fuck your big bulletpoint of marketing was "yes, we will keep loyal to audio jacks" and later down the line you shown one big fat middle finger to all users.
Goos job, guys, well fucked up.
So any good modern alternatives for my OnePlus 5 when it becomes obstole in few years? Nope. Fuck nope.
OP7 pro is awesome but no audio jacks absolutely kills off this phone in my eyes to level of not existance and inability to be considered.17 -
A software developer's experience life cycle:
0 - 5 years: attempt to replicate what your current senior is preaching, assuming that's the right way. Reading "Clean code" and preach it as gospel, even though you don't practice any of it.
6-12 years: gained the belief that you are better off coming up with solutions yourself, usually "sophisticated" and "elegant" which to everyone else (and also yourself a few years later) is an over-complicated inheritance ridden shit show. You have realised the "Clean code" movement is actually a cult but still believe code reuse is the holy grail.
13+ years: finally realized that simplicity and pragmatism is the most sensible way for most software development. Code is now readable, maintainable and functional. You took the few good bits from "Clean code" and ignored the extremism. These are the golden years.
The problem is most developers jump ship and stop developing before reaching the golden years, thus resulting in most software projects looking like shit.
Unpopular opinion, but it doesn't make it untrue.8 -
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. -
I've started programming when I was 12. Right now I'm 25. I can clearly say that I'm passionate, I've touched I think almost every "type" of programming ever. From game development, through IoT and finished at eCommerce. I never stop learning.
My workmates are pissing me off. For code review sometimes I'm waiting even 3 days when I've changed like 5-6 files. They don't want to introduce "new" technologies (by new I mean who are existing at least 2-3 years, got stable community). They don't want to refactor some core of the application because it's working - they don't care about it as they can later say "legacy system so this basic feature took me a week".
Code quality means for them "use shorthand syntax, this code is ugly" - the basic shit which can do any linter
When I'm doing code review, I'm checking out to this branch, test it, check if the solution is scalable. Then I make my comments. I just hear "stop bitching about it just approve".
Thank God I've made through interview and I'm going to switch job in next week.7 -
I didn't leave, I just got busy working 60 hour weeks in between studying.
I found a new method called matrix decomposition (not the known method of the same name).
Premise is that you break a semiprime down into its component numbers and magnitudes, lets say 697 for example. It becomes 600, 90, and 7.
Then you break each of those down into their prime factorizations (with exponents).
So you get something like
>>> decon(697)
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
And it turns out that in larger numbers there are distinct patterns that act as maps at each offset (or magnitude) of the product, mapping to the respective magnitudes and digits of the factors.
For example I can pretty reliably predict from a product, where the '8's are in its factors.
Apparently theres a whole host of rules like this.
So what I've done is gone an started writing an interpreter with some pseudo-assembly I defined. This has been ongoing for maybe a month, and I've had very little time to work on it in between at my job (which I'm about to be late for here if I don't start getting ready, lol).
Anyway, long and the short of it, the plan is to generate a large data set of primes and their products, and then write a rules engine to generate sets of my custom assembly language, and then fitness test and validate them, winnowing what doesn't work.
The end product should be a function that lets me map from the digits of a product to all the digits of its factors.
It technically already works, like I've printed out a ton of products and eyeballed patterns to derive custom rules, its just not the complete set yet. And instead of spending months or years doing that I'm just gonna finish the system to automatically derive them for me. The rules I found so far have tested out successfully every time, and whether or not the engine finds those will be the test case for if the broader system is viable, but everything looks legit.
I wouldn't have persued this except when I realized the production of semiprimes *must* be non-eularian (long story), it occured to me that there must be rich internal representations mapping products to factors, that we were simply missing.
I'll go into more details in a later post, maybe not today, because I'm working till close tonight (won't be back till 3 am), but after 4 1/2 years the work is bearing fruit.
Also, its good to see you all again. I fucking missed you guys.9 -
Most upsetting interview rejection?
Back when I graduated college, I did the usual rounds of interviews with insurance companies, banks, various other institutional businesses set up by the college's career center.
One local insurance company interview I thought went great. Usual 'Where do you see yourself in 5 years?' type questions, told her about my job history, very high level type stuff.
Couple of weeks later I get a letter in the mail and after the usual 'It was great to meet you blah blah blah', it ended with
'State Farm will never consider you for a position with our company.'
Never?! My then fiance (now wife) yelled "WHAT DID YOU DO?!!!" and I racked my brain for anything I might have said or done. The HR lady was attractive, but I didn't stare at any body parts and I didn't make any weird sexual advances (I was nervous enough without *that* going thru my mind).
The college career center floods the local companies with graduates and I was #5 in the waiting room that day. My only guess was they got me confused with someone else.
My fiance wanted me to call them immediately to straighten out any misunderstanding, but I knew what was done, was done. It's not like they would realize "Oh, that's right, it was Bob that kept looking at Karen's breasts, not you...come work for us!" Besides, why would I want to work someplace that didn't know/care who I was?5 -
Imagine asking your friends to help you rate your app on the google play store and instead of saying NO I DONT WANT TO RATE YOUR APPLICATION no... they decide to fuck with your mind.
1)
I will rate it tomorrow. (she never rated it tomorrow nor the next couple of weeks later)
2)
I will keep it in mind and rate it later :). (she never rated it later)
3)
I rated it haha (less than 30 seconds later they deleted the rating)
4)
Send me a link and I'll rate it (i send the link, they never respond or read my message again)
5)
I dont have memory on my phone :) (because 13MB of memory is a lot of storage requirements but taking 1 million selfies of up to 25GB is completely fine)
6)
I dont have memory on my phone what dont you understand :) x2 (this is the second girl)
7)
Your trying to give me a virus?? No (i got blocked multiple times)
8)
You want to hack me by making me install this application from the link that you sent me that leads to google play store? No (blocked)
9)
Rate your app? Haha i dont care about it because it doesnt bring me any benefit only the fat cocks that fill my pussy up satisfy me and not ur app haha
10)
Haha send me a link ill rate it (i send link, 8 hours later no reply or reading my message, i text her back if she had done it and im still put on ignore)
...
N)
more
----
Notice how none of these people have said the 2 letter word: "no".
All of these 10 examples are based on a true story.
All of these 10 examples are different people.
---
How hard
Can it be
To just
Write
no
---
.
---
For all of you who are about to trash talk saying i am desperately trying to beg people to rate my app:
i know all of those people for a long time. But when it comes to asking (and not forcing) someone to do you a favor for free that takes no more than 30 seconds, no one seems to have 30 seconds of their free time. Dont get me wrong, some of my friends did politely rate it and left a review, even the people who i barely knew left a review and rated it, but the people with whom I was closer by, didnt.
---
In the beginning i used to not care about this at all. Then i started falling into depression because of it. I fell then into deep depression. Then i sunk so deep that i couldn't feel any emotions anymore so i laughed as an anti depressive mechanism whenever something depressing happened. Now i cant even laugh because i have no more energy. Now i actually leave man tears
---
The only thing more valuable than people, any materialistic thing, animals, coding and even money - is time....
----
why do you waste my time
if i ask you to do something that takes 30 seconds and you dont want to do it
why cant you just say no
why do you drag me
why do you say you're going to do it when you know you wont do it
what do you gain by unnecessarily lying to someone for such a small thing?
to someone who has been a good person to you?
do you feel superior?
is your ego bigger?
----
This experience has taught me that not even a human from the same blood can be trusted.
All of your are fucked up in the head in your own style and i am guilty of it too, all of us are.
But i have never seen the human evolution went from simplicity to overengineered complexitory bULLSHit where you have to lie to someone and waste hours, days, weeks, months and sometimes years of his time just because you dont want to say a 2 letter word, no.
But when that person becomes more successful than you and achieves higher status, Theen you have those 30 seconds of free time. All of you are fucking cynics. and i am so much overly disgusted by all of this fucking bullshit....
-----
This experience has proven to me to simply focus on investing into myself and learn and improve myself and no one else. To not even bother asking even for a small kind of help, a feedback from my work because people don't have 30 seconds of their free time. That is all.12 -
This is PART 1/2 of a series of rants over the course of a software engineering class years ago.
We were four team members, two had never failed a class, I’ll refer to them as MT and FT, male and female top students, respectively, and an older student with some real world experience who I’ll refer to as SR.
Rant 1: As I was familiar with the agile methodologies I became the Scrum Master and was set with the task of explaining it to the team members, SR showed up late and nobody seemed interested in learning new methodology. At this point I knew we'd have trouble as a team.
Rant 2: FT made up her project proposal without informing anybody, which required a real client/product owner. We only figured it out after her proposal was accepted as the project, so we ended up working with fake requirements.
Rant 3: This one is partly my fault. I researched first and then worked, which meant I was the last to turn up my work. In one activity MT pressures me and I agree to a deadline so everyone can send their work to the teacher in a timely manner. Since I was the last to finish, I was also asked to give the doc some formatting, which I did in a hurry so it wasn't the best.
The next day MT and FT start complaining about me, saying I took too long and that they expect me to do better next time or else. At the same time they were stressed and in a hurry because we had to explain the project outline in front of the class and they didn't study.
Turns out copying and pasting all your work in less than an hour means you don’t learn anything. FT actually asked me for help days before and I sent her a website in English, which she wasn't very good at, so she just ran it through Google Translate and called it a day.
Later FT called me rude for interrupting MT in the presentation, which I did because he started making up stuff about the project.
Rant 4: SR expressed his dislike for school through profanity in variable names and commit messages. This caused MT and FT to dislike him. I thought it was immature but if anything it should’ve been reported to the teacher and move on.
Rant 5: I was stuck trying to get the REST API working for the project Admittedly this was my fault, too, because I was pushing for the usage of things nobody was familiar with for the sake of learning. This coupled with SR’s profanity led to drama and the progress was dropped, starting over from scratch.
At this point I stepped down from the Scrum Master role as nobody seemed to listen anymore.4 -
I work on a warehouse dev team. One day this past year, I was trying to deploy a new build to a QA server. Earlier that day I had been looking at the logs on the production server and had left the ssh session open. I had been working for less than a year out of college at this point and shouldn't have had access to deploy to the production server.
Long story short I deployed my QA build to the production server and saw there were problems connection to our production database. Then my heart dropped in my chest as I realized I had just brought down our production server.
I managed to get the server back up by rolling back in about 5 minutes and no one ever knew except some people on my team.
I felt horrible for the longest time. Later in the year another guy that joined my team that has about 20 years of experience under his belt did the exact same thing, but needed help rolling it back. Needless to say, that made me feel a lot better. 😂
Definitely the worst moment of my year.3 -
When I started my current job I fucked up my first deploy ever so slightly but In the end managed to get it going with a quick hack (unpacking our war file modifying some properties and a jsp page before restarting the tomcat server )
One of the senior developers was having a really bad day and decided I was who he was going to take it out on, calling me a cowboy (in the Uk that’s a bad thing) blah blah, being really nasty and condescending to me.
I was about ready to shout at him as it was his dodgy configuration that caused the issue in the first place, but instead I took a deep breath and firmly (but calmly) told him never to speak to me like that again or we would have a problem.
5 years later he’s never spoken to me like that again and is actually a pretty decent guy.
Moral of the story people have bad days but also don’t let people take the piss. -
this just happened a few seconds ago and I am just laughing at the pathetic site that is Facebook. xD
4 years ago:
So I was quite a noobie gamer/hacker(sort of) back then and i had a habit of having multiple gmail/fb accounts, just for gaming, like accounts through which i can log in all at once in the same poker room, so 4/5 players in the game are me, or just some multiple accounts for clash of clans for donations.
I had 7-8 accounts back then. one had a name that translated to "may the dead remain in peace "@yahoomail.com . it was linked to fb using same initials. after sometime only this and 2 of my main accs were all i cared about.even today when i feel like playing, i sometimes use those accs.
2 years ago.
My dad is a simple man and was quite naive to modern techs and used to hang around with physical button nokia phones.But we had a business change, my father was now in a partnership in a restaurant where his daily work included a lot of sitting job and and casual working. So he bought a smartphone for some time pass.
He now wanted to download apps and me to teach him.I tried a lot to get him his own acc, but he couldn't remember his login credentials.
so at the end i added one of my own fake ID's(maythedead...) so he could install from playstore, watch vids on youtube and whatever.
The Actual Adventure starts now
Today, 1 hour ago:
I had completely forgot about this incident, since my parents are now quite modern in terms of tech.
But today out of nowhere i recieved an email that someone has JUST CHAINGED MY FB PASSWORD FOR ONE OF MY FAKE ACCS!?!??
what the hell, i know it was just a useless acc and i never even check my fb from any acc these days, but if someone could login into that acc, its not very difficult to track my main accs, id's, etc so i immediately opened this fb security portal and that's where the stupidity starts:
1)To recover your account they FUCKIN ASKS FOR A PHYSICAL ID. yeah, no email, no security question you have to scan your driving license or passport to get back to your account.And where would I get a license for some person named "may the dead remain in peace"? i simply went back.
2) tried another hack that i thought that will work.Closed fb help page, opened fb again , tried to login with my old credentials, it says" old password has been changed,please enter new password", i click forget password and they send an otp. i thought yes i won, because the number and recover mail id was mine only so i received it.
when i added the otp, i was first sent to a password change page (woohoo, i really won! :)) but then it sends me again to the same fuckin physical id verification page.FFFFFFFFFuck
3)I was sad and terrified that i got hacked.But 10 mins later a mail comes ,"Your Facebook password was reset using the email address on Tuesday, April 10, 2018 at 8:24pm (UTC+05:30)."
I tried clicking the links attached, hoping that the password i changed(point<2>) has actually done something to account.NADA, the account still needs a physical license to open:/
4) lost, i just login to my main account and lookup for my lost fake account. the fun part:my account has the display pic of my father?!!?!
So apparently, my father wanted to try facebook, he used the fake account i gave him to create one, fb showed him that this id already has an fb account attached to it and he accidently changed my password.MY FATHER WAS THE HACKER THE WHOLE TIME xD.
but response from fb?" well sir, if you want your virtually shitty account back , you first will have to provide us with all details of your bank transactions or your voter id card, maybe trump will like it"
-
Most painful code error you've made?
More than I probably care to count.
One in particular where I was asked to integrate our code and converted the wrong value..ex
The correct code was supposed to be ...
var serviceBusMessage = new Message() {ID = dto.InvoiceId ...}
but I wrote ..
var serviceBusMessage = new Message() {ID = dto.OrderId ...}
At the time of the message bus event, the dto.OrderId is zero (it's set after a successful credit card transaction in another process)
Because of a 'true up' job that occurs at EOD, the issue went unnoticed for weeks. One day the credit card system went down and thousands of invoices needed to be re-processed, but seemed to be 'stuck', and 'John' was tasked to investigate, found the issue, and traced back to the code changes.
John: "There is a bug in the event bus, looks like you used the wrong key and all the keys are zero."
Me: "Oh crap, I made that change weeks ago. No one noticed?"
John: "Nah, its not a big deal. The true-up job cleans up anything we missed and in the rare event the credit card system goes down, like now. No worries, I can fix the data and the code."
<about an hour later I'm called into a meeting>
Mgr1: "We're following up on the credit card outage earlier. You made the code changes that prevented the cards from reprocessing?"
Me: "Yes, it was my screw up."
Mgr1: "Why wasn't there a code review? It should have caught this mistake."
Mgr2: "All code that is deployed is reviewed. 'Tom' performed the review."
Mgr1: "Tom, why didn't you catch that mistake."
Tom: "I don't know, that code is over 5 years old written by someone else. I assumed it was correct."
Mgr1: "Aren't there unit tests? Integration tests?"
Tom: "Oh yea, and passed them all. In the scenario, the original developers probably never thought the wrong ID would be passed."
Mgr1: "What are you going to do so this never happens again?"
Tom: "Its an easy addition to the tests. Should only take 5 minutes."
Mgr1: "No, what are *you* going to do so this never happens again?"
Me: "It was my mistake, I need to do a better job in paying attention. I knew what value was supposed to passed, but I screwed up."
Mgr2: "No harm no foul. We didn't lose any money and no customer was negativity affected. Credit card system may go down once, or twice a year? Nothing to lose sleep over. Thanks guys."
A week later Mgr1 fires Tom.
I feel/felt like a total d-bag.
Talking to 'John' later about it, turns out Tom's attention to detail and 'passion' was lacking in other areas. Understandable since he has 2 kids + one with special-needs, and in the middle of a divorce, taking most/all of his vacation+sick time (which 'Mgr1' dislikes people taking more than a few days off, that's another story) and 'Mgr1' didn't like Tom's lack of work ethic (felt he needed to leave his problems at home). The outage and the 'lack of due diligence' was the last straw.1 -
Too many to count, but this one useless meeting stands out the most.
I was working as an outside dev for software corporation. I was hired as an UI dev although my skill set was UI/engineer/devops at the time.
we wrote a big chunk of 'documentation' (read word files explaining features) before the project even started, I had 2 sprints of just meetings. Everybody does nothing, while I set up the project, tuned configs, added testing libraries, linters, environments, instances, CI/CD etc.
When we started actual project we had at least 2 meetings that were 2-3 hours long on a daily basis, then I said : look guys, you are paying me just to sit here and listen to you, I would rather be working as we are behind the schedule and long meetings don't help us at all.
ok, but there is that one more meeting i have to be on.
So some senior architect(just a senior backend engineer as I found out later) who is really some kind of manager and didn't wrote code for like 10 years starts to roast devs from the team about documentation and architectural decisions. I was like second one that he attacked.
I explained why I think his opinion doesn't matter to me as he is explaining server side related issues and I'm on the client-side and if he wants to argue we can argue on actual client-side decisions I made.
He tried to discuss thinking that he is far superior to some noob UI developer (Which I wasn't, but he didn't know that).
I started asking some questions and soon he felt lost and offended. We ended that discussion with conclusion that I made my own decisions on the client-side. That lasted less than 10 minutes.
So I just sit there and eat popcorn for next 4 and half hours listening to their unnecessary discussions where some angry manager that did programing decades ago wanted to show that we are all noobs and stupid.
what a sad human being.
what a waste of time, but hey I got payed for this 5 hour meeting.1 -
I can vaguely remember the 4 year old me turning the computer on while my cousin starts a dos shell to play Dangerous Dave.
5 year old me finds wolfenstien installed on my windows 95 , doom a few years later , quake after that .. one masterpiece after another.
Little did I know that software can make memories.
I grew up with software made by these legends and nothing excites me more than the dream of one day being in a team just like theirs with the goal of having fun and spreading it.
Carmack and Romero .. the people who architected fun from code.
2
