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 - ""business needs""
-
Got assigned an intern to mentor him, with an explicit order not to do any of the legwork for him.
We start out with some fuzzy requirements. Intern starts overengineering a generic solution, so I make out a best architecture that conforms to the business requirements and I explain it to the intern why are we going to use such approach and tell him how we are going to do it in three phases.
I explain the intern the first phase, break it down in small tasks for him and return to my projects...
After a couple of days of no words from the intern, I decide to check up on him to see how is he progressing, only to hear him complaining the task is boring. So, instead of doing the assigned tasks, he decided he should do a "design" for a feature I told him explicitly not to do, since it is going to be designed by the design team later on.
I explain it to the intern that we have to do the boring task first because we can't proceed with the next phase of the implementation without the necessary data from the phase one.
Intern says okay and assures me he got it now. Few days later, I check up on him, and he tells me he feels he is doing all the work and that I don't contribute to the project. I call up my boss and tell him intern wants a meeting. Since I was working from home, I quickly pack my things and head to the office. Boss talks to the intern before I managed to get to the office. Once I got there, I meet the intern, and he tells me everything is okay. I ask what did the boss say to make things okay all of a sudden, and he tells me he said we are a team now. Our company has a flat hierarchy model, so he tells me he doesn't feel he needs a mentor, that we are both equal, and that I have no idea how to work in a team, and then proceeds to comfort me on how human interaction is hard and that I will learn it one day... I was like wtf?
I tell him to finish the phase one of the project and start with the phase two, and I leave home again.
I call up my boss and ask him what did he say to the intern, and he says: "nothing much, just explained the project a little bit and how it fits in the grand scheme of things.". I ask about the equal team members thing, and me not being a mentor any longer, the boss goes wtf, saying he never said anything about that to him.
So the kid can't focus on a single task, over-engineers everything and doesn't feel he can learn anything from developers with more experience, doesn't want to obey commands, and also likes to lie to manipulate others.
Tomorrow we'll decide what to do with him...
Sorry for the long rant, it was a long stressful day.86 -
Well, it happened. The stupidest request, no demand, I have ever, and most likely will ever receive...
Me: So what is it you're looking to do with your website.
Client: We're not showing up Facebook's home page. We need you to fix that. We have a budget of $10,000 to make this happen right now.
Me: As much as I'd love to take your money, that isn't something I can control. Every "home page" is profile-based, which technically isn't a homepage, but a "feed" that changes constantly. So say you create a profile on Facebook, only those you follow, and paid posts show up on your feed. What I can do however is use your budget to create and promote posts from your company page to show on users' feeds. If you're serious about marketing, we can start slow at $250/week, then work our way up or down based on results until your budget is exhausted, then re-evaluate the budget at that time. I can tailor a retainer for you based on the number of ads per week that you'd like to make.
Client: No, this is not what we're asking for at all.
Me: Okay...what is it you're looking for exactly? Run through this in as much detail as possible so I can get on the same page.
Client: We want to be on the main home page of facebook.com. We want our logo on that page when people sign up to make an account, linking to our website.
Me: That's simply not possible. That's Facebook's own home page. Nobody has a right to edit that other than Facebook itself.
Client: Bullshit. There's a Facebook developers section with APIs to edit and view Facebook's entire website. We would do it ourselves, but we signed up and don't understand how to change it in Chrome. That's why we need you and [referring client] said you were the best guy for our needs.
Me: That API has no control over Facebook's corporate data, including their own home page. That API designed ONLY for sections in which you are authorized to access or modify, such as your personal profile or created page for your business.
Client: We know that it can be done. If you don't do it, we'll find someone else who can.
Me: Well good luck with that, because the only way it would be remotely possible to do that WILL involve prison time, since that would be illegal. The only legal way to do it would be to buy Facebook, and they'll laugh you out of the building with that offer. But I'm done with this conversation because I have work to complete from clients that aren't delusional. Have a nice day! [hang up]
----
What. The. Fuck.26 -
My CEO: "So! You are the new guy we hired to design and manage the implementation of our new state of the art super-duper fancy ERP solution with badass Business Intelligence systems to grow our company which already spans over several localities across the county, that has to live for at least the next 12-15 years?
Please remember that the Windows Server in the rack in the basement needs replacement soon, and that our new fancy solution must not in any way utilize cloud-technology or SaSS! I don't like that! I think it's a scam! We store everything on premises, own our infrastructure and we buy our software...Because I think that is best!"
Me: "So... let me get this straight: You want me to build you a one-off, concept sports car that can outperform a Lamborghini using only plywood, duct-tape and a donkey cart?"
He walked off... I may need a new job next week!14 -
A "support" guy my boss got in. I had told my boss numerous times, "Get rid of this guy, he's only wasting our time and money. And he's going to end up doing something where we will end up having to put out the fires."
Sure as a pair of nuts on a squirrel, this crazy bastard goes and DELETES a client's database. Yes folks, in fucking production. A live database. The heart of the business' transactions are... *poof*... GONE!!!
No backups for the day! No synchronisation beforehand! No nothing... just GONE!!! Fucking flat-lining!
Well, when I realised what he has done, I had to remove myself from the room before shit got outta hand!
I told the boss man that is the last straw and he needs to go...
The long and short of it...
- The client had luckily only lost about half a days data.
- I'm no longer at the company.
- This dumb fuck still is.18 -
[Thursday afternoon on a call...]
Client: Before we get started, can you create a sitescape outlining all of the pages and sections of the new website?
Me: Sure! I'll go through the website and shoot you a full layout in xls format as soon as possible, that way you can easily make notes on what you want added, modified or removed.
[Two hours later...]
Client: Hey, did you build that sitescape yet?
Me: Actually, I've been on back-to-back calls with other clients.
Client: So when are you going to get it done?
Me: Well, I have to go through the current website in it's entirety, which I'm guessing is about 1,000 pages. I have to determine which pages work fine on their own, which need to be combined for better presentation and which should be removed due to redundancy. That's something that is tedious and takes some time to complete. That, in combination with having an existing work queue that I need to fit you within and being at the end of the work week, we're looking at Tuesday morning to have it ready.
Client: "Existing work queue"? This is ridiculous. We're paying you good money to make our project your only priority. If we wanted to wait days for work, we would have saved money and paid for a cheaper service. You're already gouging us as it is! If we don't get the sitescape by end of day Friday, we're going with another company.
Me: I would tell you that I'm sorry for the inconvenience, but I'm not. I'm not going to feed you a line to make you happy. I'm also not going to work on my days off just to rush something out to you. You hired us because you wanted things done right, not quickly. Your current website is the result of not focusing on quality, but by how fast you can deliver it. We don't work that way. We only build quality products.
By rushing your project, not only do we alienate our current clients, affecting our reputation, but we build product of less than the highest quality. That will upset you because it isn't perfect, and it reflects poorly on us to use it in our portfolio.
If you want to hire someone to pump out this project to your unrealistic deadlines, be our guest. But you paid a 50% non-refundable deposit, so not only will you lose money, but your end product will suffer.
I'm going to let you sleep on this. If you decide tomorrow that another direction is the way to go, we wish you luck. But please understand that if we conclude our business, we will no longer make ourselves available for your needs.
Please find the attached contracts you have signed, acknowledging the non-refundable deposit, as well as the project timeline and scope, of which a "sitescape" was never originally mentioned or blocked out for time.
I hope that tomorrow we can move forward in a more professional manner.
[Next morning...]
Client: My apologies for yesterday. We're just very anxious to get this started.
-----
Don't let clients push you around. Make them sign a contract and enforce it whenever necessary.7 -
*meeting with boss about a quick site for one of her clients*
Boss- "okay so basically I just want you to copy the content from -already made site- and put it on the new one"
Me- "okay sure do you want it verbatim or "
Boss-"no but something similar"
Me-"okay so you want me to paraphrase this list that's on the homepage?"
Boss-"Well no we dont actually need the list at all as it isnt relevant to us so just take that out"
Me-"okay well that is the only thing on the homepage so what should I replace it with"
Boss-"I dont know, something similar to the list. You can figure something out"
Me-"....I dont know anything about the clients business. I am not going to just make up content, you guys can at least give me some direction there"
Boss-"i didnt think it would be that hard"
Me-"it's really not hard. You're making it harder than it needs to be for me though. Anyway, do you wanna keep the same exact pages as the other site or only transfer some of them or"
Boss-"something that resembles that website but isnt exactly it so some of the pages but not all"
Me-"which ones"
Boss-"the ones relevant to client's business"
Me-*closes notebook, stands up, starts to leave room*
Boss-"where are you going"
Me-"I'm going to get another two cups of coffee cause I didnt have enough this morning for this bullshit"
Boss-*raises eyebrow*
Me-"dont tell me to copy paste a website at first and then continue to tell me its going to be "similar" but different and then further continue to be as vague as possible about what is expected of me to be done in order to make it different! Take the time to decide what it is you want exactly and then tell me, with detail, what you're criteria is so I can do the thing!! I cant read your mind."
Boss-"..... I just didnt think it would be that hard to jot in a few sentences here and there"
I left the room at that point. Irritating as fuck. You dont know tech stuff, don't expect me to know enough about YOUR job to write about it as if I'm a professional. I cant fucking read minds, I have no interest in researching anything just to create the site content myself, and its fucking rude that they wont even take the time to sit down and decide what they want for a website that THEY are paying for. For fucks sake people get your fucking shit together13 -
Hi there fellas,
I'm new to devrant and I'll like to share with you my first story.
It was my first payed job. A good friend of mine (media designer in print) called me "My customer needs a website, do you think you can do that?"
At this time I've never build a single page, so my answer was "Of course, easy-peasy".
She told me it was a family business and a nationwide player in finance sector.
I met the CEO, did my research and build a prototype. Well, the CEO and his staff liked it so I finished the website and prepared for the first review.
I booted the laptop and tried to connect to their network. There was none. They just never had a wireless connection not a single cable in the entire office. That was the time I realized that I work for a family business.
The CEO was an ancient guy who probably saw Jesus Christ hanging on the cross in personal and internet is weird thing controlled by the devil himself.
I took the laptop and went over to the CEOs personal office, plugged the network cable out of his Computer and into the laptop. Finally I could show them what I've done.
He took a look at it and called for his assistant. "Might you print that website for us?" That was my second wtf moment.
The assistant returned with a half chopped down and bleached rainforest that contained an image of their new website.
I tried to tell him that a website on paper can't show him the functions n shit, but he looked at me like I was talking two foreign languages at once.
So we reviewed the website on paper and his one and only problem was the size of the letters. "I can't read it well, please make the text bigger" At this moment I wanted to hit my forehead on the table and tell him that it is normal to have readings difficulties when you are walking the shores of Styx.
At the end everything went well, but I realized that dealing with customers is a lot more difficult than developing something for them. The future should prove me right.
That's it.
My first story about my first job.
Thank you for reading 😊12 -
Dev: Hey our current server is starting to chug a bit. Can I get approved for $1200 additional spend to double the speed?
Manager: *Sharp inhale*. We need this project to cost as little as possible, we really can’t justify spending any additional money for any reason right now.
*2 days later*
Manager: YOU ARE APPROVED FOR $100,000 TO IMMEDIATELY IMPLEMENT SOMETHING RELATED TO NFTs IN ANY OF OUR APPS. THE BUSINESS NEEDS TO EXPAND INTO THE METAVERSE ASAP IMMEDIATELY. I NEED AN ETA BY EOD AS TO WHEN THIS CAN BE ROLLED OUT.
Dev: …16 -
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 -
Senior Management: We are severely disappointed in the timeliness of the two apps you built this year. You had budgeted 3 months for one and it took 4 months and the other was budgeted to take 4 months and took 5 months. We understand that we doubled the requirements halfway through and but that doesn’t take away from our need for you to deliver on time. We provided you with two extra devs on the project! We know they were novices and you had to train them from the ground up during the project, that doesn’t matter. The extra resources should have helped you but your lack of leadership ability is what caused them to hold you back. We know our other team with a budget of 6 months took 2 years on their project and was still unsuccessful but that is a different scenario! That was a pre-built 3rd party ERP plugin, way more complicated and nuanced than simply building and deploying something from scratch. Yes we’re aware your projects were the only successful tech projects at the company this year, that’s just luck and coincidence. The next app we need you to build in 6 months, no questions asked. It needs to consolidate and tie together our 3 different ERPs. Everything that we need out of these products that they don’t do out of the box we need you to wire up. We will decide the exact requirements in a month or so, for now just get started. Yes your apps changed the way we do business and allowed us to complete projects smoother than ever before while saving millions of dollars in wasteful and archaic processes that is OLD NEWS. Stop bringing it up. The successes of yesterday are the status quo of today. Don’t expect any new resources either, you clearly can’t handle them. You will now be giving status updates to 3 different managers as a corrective action to your missed deadlines in order to ensure the timeliness of future deliverables.
Dev: …25 -
My company needs a new Website.
ME: Boss, let me do it. It's just a simple static site with a few pages. **Dreaming about a fast and beautiful site**
BOSS: Your time is too valuable. Nobody is paying us for our website. The apprentice will do it.
Few weeks later... Wordpress page! Page loads in > 20sec. Over 150 request for css and js... It's fast on Mobile, because it just breaks and loads only half of the content.
So ashamed working in this Company. No sane customer will ever do business with us, when he sees this stackpile of shit.6 -
More sysadmin focused but y’all get this stuff and I need a rant.
TLDR: Got the wrong internship.
Start working as a sysadmin/dev intern/man-of-many-hats at a small finance company (I’m still in school). Day 1: “Oh new IT guy? Just grab a PC from an empty cubicle and here’s a flash drive with Fedora, go ahead and manually install your operating system. Oh shit also your desktop has 2g of ram, a core2 duo, and we scavenged your hard drive for another dev so just go find one in the server room. And also your monitor is broken so just take one from another cubicle.”
Am shown our server room and see that someone is storing random personal shit in there (golf clubs propped against the server racks with heads mixed into the cabling, etc.). Ask why the golf clubs etc. are mixed in with the cabling and server racks and am given the silent treatment. Learn later that my boss is the owners son, and he is storing his personal stuff in our server room.
Do desktop support for end users. Another manager asks for her employees to receive copies of office 2010 (they’re running 2003 an 2007). Ask boss about licensing plans in place and upgrade schedules, he says he’ll get back to me. I explain to other manager we are working on a licensing scheme and I will keep her informed.
Next day other manager tells me (*the intern*) that she spoke with a rich business friend whose company uses fake/cracked license keys and we should do the same to keep costs down. I nod and smile. IT manager tells me we have no upgrade schedule or licensing agreement. I suggest purchasing an Office 365 subscription. Boss says $150 a year per employee is too expensive (Company pulls good money, has ~25 employees, owner is just cheap) I suggest freeware alternatives. Other manager refuses to use anything other than office 2010 as that is what she is familiar with. Boss refuses to spend any money on license keys. Learn other manager is owners wife and mother of my boss. Stalemate. No upgrades happen.
Company is running an active directory Windows Server 2003 instance that needs upgrading. I suggest 2012R2. Boss says “sure”. I ask how he will purchase the license key and he tells me he won’t.
I suggest running an Ubuntu server with LDAP functionality instead with the understanding that this will add IT employee hours for maintenance. Bosses eyes glaze over at the mention of Linux. The upgrade is put off.
Start cleaning out server room of the personal junk, labeling server racks and cables, and creating a network map. Boss asks what I’m doing. I show him the organized side of the server room and he says “okay but don’t do any more”.
... *sigh* ...20 -
- "Finance are too busy to look at this"
- "Finance have too much to do"
- "We can't this sorted at the minute because finance are overloaded"
Finance just sent me a request for "detailed description" for each business trip i've made. Attached is a spreadsheet report with 122 columns detailing every facet of my travel expenses that they have recorded so far. Not even just one row per trip, but one row per item, like:
- Trip 1 - Airport parking: .....
- Trip 1 - Airfare Outbound: ....
- Trip 1 - Airfare Inbound: ....
This is way you are too busy, because this is fucking ridiculous. Fix your shitty process and stop bitching.
FYI, your "detailed descriptions" can be found in the contracts we've signed, which outline all the travel needs, which you've already reviewed and signed off on. Get your shit together and stop bugging me4 -
At the data restaurant:
Chef: Our freezer is broken and our pots and pans are rusty. We need to refactor our kitchen.
Manager: Bring me a detailed plan on why we need each equipment, what can we do with each, three price estimates for each item from different vendors, a business case for the technical activities required and an extremely detailed timeline. Oh, and do not stop doing your job while doing all this paperwork.
Chef: ...
Boss: ...
Some time later a customer gets to the restaurant.
Waiter: This VIP wants a burguer.
Boss: Go make the burger!
Chef: Our frying pan is rusty and we do not have most of the ingredients. I told you we need to refactor our kitchen. And that I cannot work while doing that mountain of paperwork you wanted!
Boss: Let's do it like this, fix the tech mumbo jumbo just enough to make this VIP's burguer. Then we can talk about the rest.
The chef then runs to the grocery store and back and prepares to make a health hazard hurried burguer with a rusty pan.
Waiter: We got six more clients waiting.
Boss: They are hungry! Stop whatever useless nonsense you were doing and cook their requests!
Cook: Stop cooking the order of the client who got here first?
Boss: The others are urgent!
Cook: This one had said so as well, but fine. What do they want?
Waiter: Two more burgers, a new kind of modern gaseous dessert, two whole chickens and an eleven seat sofa.
Chef: Why would they even ask for a sofa?!? We are a restaurant!
Boss: They don't care about your Linux techno bullshit! They just want their orders!
Cook: Their orders make no sense!
Boss: You know nothing about the client's needs!
Cook: ...
Boss: ...
That is how I feel every time I have to deal with a boss who can't tell a PostgreSQL database from a robots.txt file.
Or everytime someone assumes we have a pristine SQL table with every single column imaginable.
Or that a couple hundred terabytes of cold storage data must be scanned entirely in a fraction of a second on a shoestring budget.
Or that years of never stored historical data can be retrieved from the limbo.
Or when I'm told that refactoring has no ROI.
Fuck data stack cluelessness.
Fuck clients that lack of basic logical skills.5 -
Some days I feel like I work in a different universe.
Last night our alerting system sent out a dept. wide email regarding a high number of errors coming from the web site.
Email shows the number of errors and a summary of the error messages.
Ex. 60 errors
59 Object reference not set to an instance of an object
1 The remote server returned an unexpected response: (413) Request Entity Too Large
Web team responds to the email..
"Order processing team's service is returning a 413 error. I'll fill out a corrective action ticket in the morning to address that error in their service. "
Those tickets are taken pretty seriously by upper mgmt, so I thought someone on the order processing team would point out the 1 error vs. 59 (coming from the web team's code).
Two hours go by, nobody responds, so I decide to jump into something that was none of my business.
"Am I missing something? Can everyone see the 59 null reference exceptions? The 413 exception only occurred once. It was the null reference exceptions that triggered the alert. Looking back at the logs, the site has been bleeding null reference exceptions for hours. Not enough for an alert, but there appears to be a bug that needs to be looked into."
After a dept. managers meeting this morning:
MyBoss: "Whoa..you kicked the hornets nest with your response last night."
Me: "Good. What happened?"
<Dan dept VP, Jake web dept mgr>
MyBoss: "Dan asked Jake if they were going to fix the null reference exceptions and Jake got pissed. Said the null reference errors were caused by the 413 error."
Me: "How does he know that? They don't log any stack traces. I don't think those two systems don't even talk to one another."
<boss laughs>
MyBoss:"That's what Dan asked!..oh..then Jake started in on the alert thresholds were too low, and we need to look into fixing your alerting code."
Me: "What!? Good Lord, tell me you chimed in."
MyBoss: "Didn't have to. Dan starting laughing and said there better be a ticket submitted on their service within the next hour. Then Jake walked out of the meeting. Oh boy, he was pissed."
Me: "I don't understand how they operate over there. It's a different universe.
MyBoss: "Since the alert was for their system, nobody looked at the details. I know I didn't. If you didn't respond pointing out the real problem, they would have passed the buck to the other team and wasted hours chasing a non-existent problem. Now they have to take resources away from their main project and answer to the VP for the delay. I'm sure they are prefixing your name right now with 'that asshole'"
Me: "Not the first, won't be the last."2 -
I don't want to write clean code anymore :(
I read Clean Code, Clean Coder, and watched many uncle bob's videos, and I was able to apply best practices and design patterns
I created many systems that really stood the test of time...
Management was kind enough to introduce me to uncle bob clean code in the first place, letting us watch it during work hours. after like one year, my code improved 400% minimum because I am new and I needed guidance from veterans...
That said, to management I am very slow, compared to this other guy, they ask me for a feature and my answer would be like "sure, we need to update the system because it just doesn't support that right now, it is easy though it would take 2 days tops"
they ask the same thing for the other guy : "ok let me see what I can do", 1 hour later, on slack, he writes : done. he slaps bunch of if-statement and make special case that will serve the thing they asked for.
oh 'cool' they say -> but it doesn't do this -> it needs to do that -> ok there is a new bug,-> it doesn't work in build mode-> it doesn't work if you are logged in as a guest, now its perfect ! -> it doesn't work on Android -> ok it works on android but now its not perfect anymore.
and they feel like he is fast (and to be fair he is), this feature? done. ok new bugs? solved. Android compatibility ? just one day ... it looks like he is doing doing doing.
it ends up taking double the time I asked for, and that is not to mention the other system affected during this entire process, extra clean up that I have to do, even my systems that stood the test of time are now ruined and cannot be extracted to other projects. because he just slaps whatever bools and if statements he needs inside any system, uses nothing but Singleton pattern on everything. our app will never be ready-for-business, this I can swear. its very buggy. and to fix it, it needs a change in mentality, not in code.
---------------
uncle bob said : write your code the right way, and the management will see that your code generates less errors, with time, you will earn respect even though they will feel you are slow at first.
well sorry uncle, I've been doing it for a year, my image got bad, you are absolutely right, only when there is no one else allowed to drop a giant shit inside your clean code.
note: we don't really have a technical lead.
-------------------
its been only two days since my new "hack n' slash" meta, the management is already kind of "impressed" ... so I'll keep hacking and slashing until I find a better job.9 -
TLDR;
Wrote a slick scheduling and communication system allowing me to assign photography resources based on time and location.
I'll tell you a little secret ... I'm not actually a dev. I'm a photographer, pretending to be a dev.
Or ... perhaps it's the other way around? (I spend most of my time writing code these days, but only for me - I write the software I use to run my business).
I own a photography studio - we specialize in youth volleyball photography (mostly 12-18 year old girls with a bit of high school, college and semi-pro thrown in for good measure - it's a hugely popular sport) and travel all over the US (and sometimes Europe) photographing.
As a point of scale, this year we photographed a tournament in Denver that featured 100 volleyball courts (in one room!), playing at the same time.
I'm based in California and fly a crew of part-time staff around to these events, but my father and I drive our booth equipment wherever it needs to go. We usually setup a 30'x90' booth with local servers, download/processing/cashier computers and 45 laptops for viewing/ordering photographs. Not to mention 16' drape and banners, tons of samples, 55' TVs, etc. It's quite the production.
We photograph by paid signup only - when there are upwards of 800 teams/9,600 athletes per weekend playing, and you only have four trained photographers, you've got to manage your resources!
This of course means you have to have a system for taking sign those sign ups, assigning teams to photographers and doing so in the most efficient manner possible based on who is available when the team is playing. (You can waste an awful lot of time walking from one court to another in a large convention center - especially if you have to navigate through large crowds - not to mention exhausting yourself).
So this year I finally added a feature I've wanted for quite some time - an interactive court map. I can take an image of the court layout from the tournament and create an HTML version in our software. As I mouse over requests in one window, the corresponding court is highlighted on the map in another browser window. Each photographer has a color associated with them. When I assign requests to a photographer, the court is color coded with the color of the photographer. This allows me to group assignments to minimize photographer walk time and keep them in a specific area. It's also very easy to look at the map and see unassigned requests and look to see what photographer is nearby.
This year I also integrated with Twilio and setup a simple set of text shortcuts that photographers can use to let our booth staff know where they are, if they have memory cards that need picking up, if they need water/coffee/snack, etc. They can also move assignments on their schedule or send and SOS for help if it looks like they aren't going to be able to photograph a team.
Kind of a CLI via the phone. :)
The additions have turned out to be really useful and has made scheduling and managing the photographers much easier that it was in the past.18 -
TL;DR: Fuck you Apple.
10:30 PM, parent needs iPhone update to update Messenger. How hard can this be?
Need to update iPhone from 9.x to latest, which is so outdated it still required iTunes. Fk.
Boot iTunes on Windows 10 pc that is at least 10 years old.
Completely unresponsive
Crash in task manager
Launch and is completely unresponsive. (Also starts playing unrequested music.. Oh joy..)
Fuck this, go to apple.com to download iTunes exe
Gives me some Microsoft store link. Fuck that shit, just give me the executable
Google “iTunes download”. click around on shitty Apple website. Success.
Control panel. Uninstall iTunes. (Takes forever, but it works)
Restart required (of fucking course).
2 eternities later. Run iTunes exe. Restart required. Fk.
Only 1 eternity later. Run iTunes, connect iPhone.
Actually detects the device. (holy shit, a miracle)
Starts syncing an empty library to the phone. Ya, fuck that.
Google. Disable option. Connect phone. Find option to update.
Update started. Going nowhere fast. Time for a walk at 1:00 AM punching the air.
Come back. Generic error message: Update failed (-1). Phone is stuck installing update. (O shit)
1x hard reset
2x hard reset
Google. Find Apple forum with exact question. Absolutely useless replies. (I expected no less)
Google recovery mode. Get into recovery mode.
Receive message: “You can update, but if it fails, you will have to reset to factory settings”. Fuck it, here we go.
Update runs (faster this time). Fails again. Same bullshit error message. (Goddammit, fuck. This might actually be bad.)
Disconnect phone.
… It boots latest iOS version. (holy shit, there is a god)
Immediately kill iTunes. Fuck that shit.
Parents share Apple account
Sign in, 2FA required.
Fat finger the code.
Restart “welcome” process.
Will not send code. What. The. Fuck.
Requests access code on other parent’s iPhone.
No code present. What???
Try restarting welcome process again. No dice. (Of course)
Set code on other parent’s iPhone.
Get message “Code is easy to guess”. Ya. IDGAF
Use code on newly updated iPhone. Some success.
Requires reset of password.
Password cannot be the same as old password (Goddammit)
Change password.
Welcome process done.
Sign in again on same phone after welcome process done in settings. (Nice.)
Sign in again on other phone with updated password
Update Messenger.
Update hangs. Needs more space.
Delete shit.
Update frozen in App Store (Really??)
Restart iPhone.
Update Messenger.
Update complete past 2. Well that was easy.
Apple, fuck you.
Some call Android unintuitive, but I look at the settings app on iPhone and realize you aren’t any better.
This company hasn’t been innovative since 2007. Over 1000 USD for a phone? Are you fucking kidding me?
Updating an iPhone from iOS 9.x is probably uncommon anymore. But this is a fucking joke. Fix your shit.
Shit like this is why I’ll never again own an Apple product. I have HAD IT with the joke of a business.
Thanks for reading.17 -
I finally did it. I finally got rid of that client in a positive, respectful manner.
So basically, my dad has a freelance colleague. For a side project that person asked me to make him a website. My dad mentioned to said person that my sister's boyfriend does web design (he's trained to use autocad for designing the structure of furniture, nothing fancy just straight lines and upside down doors that fail after a while..
So my brother in law charged the guy 400 money for the design. I charged the guy 200 for the programming because my dad forced me to drop down my price to fit the budget because business relationship and he obviously couldn't let my sister's boyfriend not make more money than he deserves.
In the end after waiting on the design for weeks (I literally saw him do it in photoshop all in 2 layers on his laptop in half an hour) I had to rush the project because the due date was coming up. I already had most of it done but I had to redo a good part of the front-end to fit the design structure. I also had to re-do the design in photoshop to get the images and colors I needed, then cut it up into html. So realistically, my sister's boyfriend barely did anything.
Now the deal was that I'd develop the website and perform any updates/upgrades to it. I'd also host it on my webserver for a monthly fee. My sister's boyfriend was to handle any and all content related support.
At first it was all good, I only ever spoke with the guy when he needed a feature added and he paid me well for it. Overall the hit I took in initial development was paying off. As time went by, my sister's boyfriend started ignoring the guy's calls and the guy started calling me instead.
Now, he had this deal with my brother in law where he could charge his time at 35 money an hour. That's about 4 times minimum wage for not doing much.
Then I started to basically take over all support, but I was only allowed to charge 30 an hour. Pretty reasonable still and I wasn't too busy so it was all good.
As time went by I ended up getting asked to do more and more minimal changes. At some point I had done so many minimal changes I had to charge the guy about 2 hours extra that month and he went completely mental saying I can't just work for hours without telling him beforehand. We decided I had to discuss a price before any change. I charged my time on the phone with him twice after that and both times he bitched about me being expensive and once he even said he wanted to leave.
Now comes the fun part. A week ago he had an issue that was 100% support related. He tried calling my sister's boyfriend but the guy obviously didn't pick up. He called my dad about it, and my dad ended up calling my my sister's boyfriend. Now this guy is so slimy, he purposely didn't hang up the phone knowing my dad would use his cell and assume the other party would hang up because calls cost money. The guy heard my dad call my sister's boyfriend and heard him pick up immediately. He went completely mental saying how he wants both of us to always reply and call him back immediately.
This guy was always my lowest priority. He didn't really make me money and his calls and requests were annoying and unnecessary. Add to that that I specifically didn't want to handle support and was forced into it anyway, while all 'design' things (up to figuring out where and how to display a visitor counter) absolutely had to go to my sister's boyfriend..
But regardless of that, I generally replied to his emails within 10-20 minutes and rarely more than 25 hours.
My dad agreed (for us) that we now both had to reply to him within 24 hours. I was now stuck checking my voicemail every couple hours because my sister's boyfriend sucks at life.
During his rant he threatened to leave me, again. That was the point where I said fuck it.
For the past week I've been ignoring his calls. When he emails me I don't take more than 5 minutes replying. This morning I found an e-mail with 4 requests;
He wanted me to make a content-related change;
He wanted me to give him access to the site's Google analytics;
He wanted me to add a feature and write a guide on how to use it;
And fucking finally, he wanted a 'token to transfer his website'.
I promptly emailed him back saying I added his email a week ago and that he'd gotten an email from Google about it then, that I'd changed the content he wanted me to, a price for the last dev task and a token for his domain name, adding that its valid for 35 days and that his new host can contact me to receive a backup file of his website.
Sadly, I do have this on 10-minute dev job to do, but then I'm invoicing him all jobs I haven't invoiced yet and he can find another host willing to deal with his insanity.
The best part is I lose a webhosting client but I'm sure he'll still ask my sister's bitched parasitic boyfriend whenever he needs a photo resized and he'll still pay him 35 money for 2 minutes of work.
Fuck customers.6 -
Team quarterly capacity planning:
- Confluence document created with a big table (+100 rows) by product / business. Each row is something that needs to be worked on for the coming quarter.
- Row 1 could be an Epic with 15 tickets attached. Row 2 could be adding a single log to our analytics. No consistency.
- For each row, we create a separate confluence document with the "technical details". 75% of the time these remain blank. 1% of the time there is something useful, the rest its a slightly longer version of the description from the bigger document.
- Each row gets a high level estimate by the leads. 50% of the time without sufficient background info to actually do get it accurate.
- These are then copied into the teams excel spreadsheet, where it will calculate if we are over/under capacity.
- We will go backwards and forwards between confluence and excel until we are "close enough" to under capacity without being too much.
- Once done, we then need to copy them into the org/division's excel spreadsheet. This document is huge, has every team on it and massive 50pt text saying "Do not put a filter on this document".
- Jira tickets + Epics will now be created for each one, with all the data be copied over by hand, bit by bit, by product. Often missing something.
- Last week, at the end of this process for Q2 (2 weeks late), 6 of the leads were asked to attend a 30 minute meeting to discuss how to group the line items together because we had too many for the bigger excel spreadsheet.
- This morning I was told business weren't happy with one of our decisions to delay one line item. Although they were all top priority (P0), one of them was actually higher than that again (P-1?) and we need to work it back in.
... so back to step 1
- Mid way through Q2, a new document will be created for Q3. Work items that didn't make the cut will be manually copied from one to the other. 50/50 whether anything that didn't get done on time in Q2 will make its way to the Q3 doc.
- "Tech excellence" / "Tech debt" items (unit/UI tests, documentation, logging, performance, stability etc) will never be copied over. Because product doesn't understand them and assumes therefore that they are unimportant.
==================
PS: I'd like to say this was a rare event for Q2, but no. Q4 and Q1 were so bad, we were made assurances from the director of engineering that he would fix this process for Q2. This is the new and improved process (I shit you not) that has resulted in nothing tangible.7 -
So I used to do some freelancing in web development last year, nothing too fancy just some simple PHP websites. Comes the worst meeting in my life. So I am from India and we have a lot of long lasting business here being passed on over generations. TL;DR the guy was the owner of a very old business which was actually very huge and the guy was educated too, so I assumed that he'll be sensible as compared to other people.
The meeting was in an expensive cafe and he paid for it, he even told me upfront that meeting is on him. Great, right? So we sit down, order some coffee and then start discussing what he needed.
The guy needed an ecommerce website built with backend and logistics system integrated. We discussed possible designs for the website and stuff too and so far the deal looked promising to both of us.
I explained him the cost estimate and told him that I would email him the final quote from myself once we discussed server cost and shit.
So now comes the bargaining part where he asked me to give him server and domain for free.
At this point, I suspected that he didn't know that servers and domains are not something that you make. You have to purchase and renew them periodically.
So I told that guy that he didn't understand the cost estimation and explained to him that X is the cost of making this fucking thing and Y is its monthly maintenance cost, if he wanted annually could be done too. And this Y did not include server and domain costing.
Now came the fucking tide, the guy straight up turned to his shit and told me I am lying and trying to con him. So I gently asked him if he had ever gotten any website made. To which, he said No, but he knows how the costing works.
I was like "Bitch?". So I calmly tried to explain that that's not how websites are done, delivered and maintained.
He didn't seemed to be understanding and kept on fucking repeating that he knows his shit and blah blah.
At this point, I was like "Okay. Fuck this dude then. I can find another project. " and then I told him that he'll need to find someone according to his needs.
Interestingly enough, the guy called someone and then walked out of the cafe while talking on phone. I waited for 5 minutes and he didn't come back so I decided I would pay for my coffee and leave. Turns out the guy had paid his bill before my arrival and ditched me with the excuse of the call.
But oh well, I think working with such an idiot would have been much worse than paying for that coffee.4 -
Currently in the middle of quarterly planning (its been fun so far). Needs to be signed off by business today.
- My team has ~25 man weeks available in terms of capacity.
- Looking at only priority 0 tasks, last night we calculated the ask from product stands at 64.
- Including P1's, P2's etc. its well over 100 man weeks.
- Email was sent around from business with a list of tasks, asking which can be dropped, de-scoped etc.
Product (non technical) response this morning:
- This one can't take 2 weeks, its not that complicated.
- This one needs to stay, It was originally a Q1 task.
- Can we make this one smaller? (currently only a 3 week task)
- 14 comments on other teams items.
<extreme-sarcasm>
... ah perfect, that cut down the items by less than half. We are now ready for the deadline in 4 hours to have all this signed off on. Great job everyone. Thanks for all the insightful discussions. Go team!
</extreme-sarcasm>6 -
OK I can't deal with this user anymore.
This morning I get a text. "My laptop isn't getting emails anymore I'm not sure if this is why?" And attached is a screenshot of an email purporting to be from "The <company name> Team". Which isn't even close to the sort of language our small business uses in emails. This email says that his O365 password will soon be expiring and he needs to download the attached (.htm) file so he can keep his password. Never mind the fact that the grammar is awful, the "from" address is cheesy and our O365 passwords don't expire. He went ahead and, in his words, "Tried several of his passwords but none of them worked." This is the second time in less than a year that he's done this and I thought we were very clear that these emails are never real, but I'll deal with that later.
I quickly log into the O365 admin portal and reset his password to a randomly-generated one. I set this to be permanent since this isn't actually a password he should ever be needing to type. I call him up and explain to him that it was a phishing email and he essentially just gave some random people his credentials so I needed to reset them. I then help him log into Outlook on his PC with the new password. Once he's in, he says "so how do I reset this temporary password?" I tell him that no, this is his permanent password now and he doesn't need to remember it because he shouldn't ever need to be typing it anyway. He says "No no no that won't work I can't remember this." (I smile and nod to myself at this point -- THAT'S THE IDEA). But I tell him when he is in the office we will store the password in a password manager in case he ever needs to get to it. Long pause follows. "Can't I just set it back to what it was so I can remember it?"10 -
Why is there so much hate against QA in general??
I read tons of rants about how bad testers are... and as a dev who does a lot of QA work, IT SUCKS!
We (devs) have to accept that are work needs to be tested! Otherwise we want be successful with our products.
BUT the testers need to know the development business! They should be trained at the same level as the devs are.
BECAUSE if the mug on my desk is smarter than the tester it is not going to work!
If the tester has full access to all the technologies, environments and tools (and are capable of using it) he has the ability to HELP!
I THINK that testing should be more than just follow predefined steps and let a random tool generate a bugreport.
I am sure that some of you are lucky enough to work with highly skilled testers so please let them help18 -
About 2 years ago, our management decided to "try outsourcing". I was in charge for coordinating dev tasks and ensuring code quality. So management came up with 3 potential candidates in India and I had to assess them based on Skype calls and little test tasks. Their CVs looked great and have been full of "I'm a fancy experienced senior developer." ....After first 2 calls I already dismissed two candidates because they had obviously zero experience and the CV must have been fake. ..After talking to the third candidate, I again got sceptical. The management, however, started to think that I'm just an ass trying to protect my own position against outside devs. They forced me to give him a chance by testing him with a small dev task. The task included the following statement
"Search on the filesystem recursively, for folders named 'container'. For example '/some_root_folder/path_segments/container' " The term 'container' was additionally highlighted in red!
We also gave him access to a git repo to do at least daily push. My intention was to look at his progressions, not only the result.
I tried the task on my own and it took me two days, just to have a baseline for comparison. I, however, told him to take as much time as he needs. (We wanted to be fair and also payed him.)
..... 3 weeks went by. 3 weeks full of excuses why he isn't able to use git. All my attempts to help him, just made clear that he has never seen or heard of git before. ...... He sent me his code once a week as zip per email -.- ..... I ignored those mails because I made already my decision not wanting to waste my time. I mean come on?! Is this a joke? But since management wanted me to give him a chance .... I kept waiting for his "final" code version.
In week 5, he finally told me that it's finished and all requirements have been met. So I tried to run his code without looking at it ..... and suprise ... It immediately crashed.
Then I started to look through the code .... and I was ..... mind-blown. But not in a good way. .....
The following is what I remember most:
Do you remember the requirement from above? .... His code implementing it looked something like this:
Go through all folders in root path and return folders where folderName == "/some_root_folder/path_segments/container".
(╯°□°)╯︵ ┻━┻
Alone this little peace of code was on sooooooo many levels wrong!!!!! Let me name a few.
- It's just sooooo wrong :(
- He literally compared the folderName with the string "/some_root_folder/path_segments/container"...... Wtf?!?
- He did not understand the requirement at all.
- He implemented something without thinking a microsecond about it.
- No recursive traversal
- It was Java. And he used == instead of equals().
- He compares a folderName with a whole path?!? Wtf.
- How the hell did he made this code return actual results on his computer?!?
Ok ...now it was time to confront management with my findings and give feedback to the developer. ..... They believed me but asked me to keep it civilized and give him constructive feedback. ...... So I skyped him and told him that this code doesn't meet the requirements. ......... He instantly defended himself . He told me that I he did 'exactly what was written in the requirements document" and that there is nothing wrong. .......He had no understanding at all that the code also needs to have an actual business purpose.
(╯°□°)╯︵ ┻━┻
After that he tried to sell us a few more weeks of development work to implement our "new changed requirements" ......
(╯°□°)╯︵ ┻━┻
Footnote: I know a lot of great Indian Devs. ..... But this is definitely not one of them. -.-
tl;dr
Management wants to outsource to India and gets scammed.9 -
I've caught the efficiency bug.
I recently started a minimum wage job to get my life back in order after a failed 2 year project (post mortem: next time bring more cash for a longer runway)
I've noticed this thing I do at every job, where I see inefficiency and I think "how can I use technology to automate myself out of this job?"
My first ever application was in C++ for college (a BASIC interpreter) and it's been so long I've since forgotten the language.
But after a while every language starts to look like every other language, and you start to wonder if maybe the reason you never seriously went anywhere as a programmer was because you never really were cut out for it.
Code monkey, sure. Programmer? Dunno, maybe I just suffer from imposter syndrome.
So a few years back I worked at a retail chain. Nothing as big as walmart, but they have well over 10k store locations. They had two IBM handscanners per store, old grungy ugly things, and one of these machines would inevitably be broken, lost or in need of upgrade/replacement about once a year, per location. District manager, who I hit it off with, and made a point of building report with, told me they were paying something like $1500 a piece.
After a programming dry spell, I picked up 'coding' with MIT app inventor. Built a 'mostly complete' inventory management app over the course of a month, and waited for the right time.
The day of a big store audit, (and the day before a multi-regional meeting), I made sure I was in-store at the same time as my district manager, so he could 'stumble upon' me working, scanning in and pricing items into the app.
Naturally he asked about it, and I had the numbers, the print outs, and the app itself to show him. He seemed impressed by what amounted to a code monkeys 'non-code' solution for a problem they had.
Long story short, he does what I expected, runs it by the other regionals and middle executives at the meeting, and six months later they had invested in a full blown in house app, cutting IBM out of the mix I presume.
From what I understand they now use the app throughout the entire store chain.
So if you work at IBM, sorry, that contract you lost for handscanners at 10k+ stores? Yeah that was my fault (and MIT app inventor).
They say software is 'eating the world' but it really goes to show, for a lot of 'almost coders' and 'code monkeys' half our problem is dealing with setup and platform boilerplate. I think in the future that a lot of jobs are either going to be created or destroyed thanks to better 'low code' solutions, and it seems to be a big potential future market.
In the mean while I've realized, while working on side projects, that maybe I can do this after all, and taken up Kotlin. I want to do a couple of apps for efficiency and store tracking at my current employer to see if I'm capable and not just an mit app-inventor codemonkey after all.
I'm hoping, by demonstrating what I can do, I can use that as a springboard into an internal programming position at my current gig (which seems to be a company thats moving towards a more tech oriented approach to efficiency and management). Also watching money walk out the door due to inefficiency kinda pisses me off, and the thought of fixing those issues sounds really interesting. At the end of the day I just like learning new technologies, and maybe this is all just an excuse to pick up something new after spending so long on less serious work.
I still have a ways to go, but the prospect of working on B2B, and being able to offer technological solutions to common and recurring business needs excites the hell out of me..as cringy and over-repeated as that may sound.5 -
So mum wanted me to purchase her a new lettop.
Yeah, we just spoke.
While consulting on what she needs, I noticed that little flaw. So I gently told her :"mum, it's written with an A".
Mom goes:" aaaah! A LAB-TOP!"
Could not blame her. She made her life as first best scoring woman in business degree at her time.
And sure enough she understood laptop and we laughed a lot ='D2 -
So, you are in middle of something urgent and top priority? In the meeting just displaying the business plan for 1000 people? Fixing a bug that needs the release in 30min or otherwise small babies will start to burn?
Update. Why not? It's like driving down the motorway, someone stops you and tells you that they're going to remove your steering wheel now. For no reason.9 -
Last week, the team lead told me that he can't merge because my code has code smells and going forward, can't have that. We use Sonar and well the way to "fix it" according to him is to mark the line using //NOSONAR.
Most of the issues are minor like Unused imports and for me incomplete TODOs.
And before the "verbal" rule was only need to fix Major + issues. And well the reason I use TODOs is to mark code that probably needs changing in the future. I know there's going to be some feature that these lines have to be changed. But the requirements are fully defined yet from business.
But I sort of blew up on him. YOU WANT TO ENFORCE ZERO CODE SMELLS NOW?!?!?! AND THESE MINOR ISSUES? MARK THEM WITH NOSONAR?
HERE'S WHAT I THINK FOR THE LAST X YEARS... THE CODE DESIGN IS SHIT, MINOR CODE SMELLS AND MANUALLY MARKING THE ONES U NEED TO KEEP... ARE THE LEAST OF OUR PROBLEMS...
THE OTHER PROBLEMS I'VE MENTIONED BEFORE EVER. MOS YEAR BUT YOU DIMWITS NEVER LISTEN.
YOU THINK MY TODOS ARE BAD... 90% OF THE CODE AND FEATURES (THE ONES NOT DONE BY ME) LOOK AND SMELL LIKE MONKEY SHIT. UNDOCUMENTED, MESSY, FULL OF BUGS.
AND GUESS WHAT? NEW FEATURE, SOME DEV FORGETS TO CHANGE SOME COMPONENT THAT DEPENDS ON IT. WOULDN'T IT BE GREATE IF THERE WERE BOOKMARKS... O WAIT...
i just was catching up on comics again and saw this one... with triggered my memory and this rant... My first thought was to forward it to him...11 -
So the CEO called me down about a super urgent bug that needs to be fixed or we will loose several hundred thousand pounds of business.
I rush down to his office and there he has a graph "look the values are barely moving i would expect the values to be more erratic this time of day"
*i look at the graph*
"Errrr your looking at 02:00 in the morning, it's 14:00"
Boss: ahh good spot *looks at 14:00* yea that looks good, great job.5 -
So my department is "integrating CI/CD"
Right now, there's a very anti-automation culture in the deployment process, and out of our many applications, almost none have automated testing. And my groups is the only one that uses feature branching - one of the few groups that uses branching at all beyond "master, dev"
So yeah... You could see how this is already ENTIRELY fucked from the very beginning.
First thing they want to do is add better support for a process... Which goes directly against CI/CD.
The process is that to deploy to production (even after it is manually approved by manager), someone in another department needs to press a button to manually deploy. This, as far as I can tell, is for business rule reasons rather than technical ones.
They want us to improve that (the system will stay exactly the same with some streamlined options for said button pressers)
I'm absolutely astounded at the way our management wants to do something but goes in exactly the opposite direction. It's like the found an article of what CI/CD was and then took notes on exactly what not to do.25 -
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Take the know-it-all guy you grew up with, that ruins every relationship he's ever had with friends and family, because he gets angry when folks don't deem him as the authority, even for shit he doesn't have a single clue about doing correctly.
Now make him the manager of a fast-food restaurant - so he can command anyone he pleases, making them do anything he wants them to, because he feels it's fun to experiment with co-workers emotions.
Give him an assistant manager that realizes that the only way they can keep their job is to kiss his ass, blowing him every once in a while for a ten cent raise, while the rest of the employees do nothing but smile, say "yes, sir", and go about their business - eventually shit talking about him at the parties he's not invited to.
Watch him jump on every fashion trend, no matter how much it costs, until he eventually decides that the job he's had for the last decade and his fellow employees are beneath him, without saving any money to pay for the things he needs to survive, or taking the proper time to learn all the things that would have made him successful in the long run.
Even though he was an uptight twat and a half, some folks feel that he never got the chance he deserved, as death comes knocking at an earlier age than many would have expected; creating an empty, irrational, and partial dependency in their lives, caused by problems he never cared to correct for their love and admiration, while others are happy as fuck that he's breathed his last breath.
This is the state of our current industry.
*Drops the mic*1 -
Had a LinkedIn recruiter contact me a few months ago, I usually get one of these a week at minimum and usually more frequent the moment a start a new position. I hate that!
Anyway, story and rant:
The recruiter sent me a position that was pretty good, lots of benefits, not too far to drive, some remote days. With the usual list of responsibilities that they themselves dont know what half of them are but put them on anyway, I would automate those anyway if I wanted to work there.
All looks great, I ask if they can send me more details and the budget they company has for the position.
This was for a Senior position so I thought they would know what industry standard is.
The recruiter replies with a budget: $2000
I actually couldn't believe that they thought that was acceptable amount of money for the amount of responsibilities they wanted this new senior guy to do, no wonder the previous guy left.
I respond and told her that the amount is extremely low for what they want and I dont think they will find someone with the skills they need at that amount. I would be willing to talk for a minimum of $4000 and thats not guaranteed until I can go for a formal interview to find out exactly what the company needs.
The recruiters replay was probably the rudest anyone has ever been to me online, lol! She insists its industry standards and any Senior would be lucky to get such a great paycheck, the company has been in business for years and their developers have always been happy and paid industry standards.
I respond again and tell her that im getting $3800 at this small company where I currently am and if the "international company with clients all over the world" wants to have my skill set why is it that they cant pay premium salaries!? As well as the graphs for my Country on what the current industry standards are for salaries in my industry.
She never replied, but I kept tabs on the company she was recruiting for. They are still looking for a senior dev, its been 8 months now and no one has applied.
I am so happy more developers are standing up for themselves and not taking agencies bullshit with low salaries, crazy overtime and bad technical specs.
Note: Amounts are made up, was just to show comparison.4 -
"How much info can we get from cookies? I want to get gender, approx. age and at least first name. That's possible, right?"
Me: "that's not how cookies work.. the info needs to be stored somewhere, where we can access it. It's not in guests cookies"
"How does Google do then? They're tracking everything we do.. *bla* *bla*"
- my business partner..........5 -
Debate (with rant-ish overtones):
FYI, while it is a debate, its a practiseSafeHex debate, which means there is a correct answer, i'm just interested in your responses/thoughts.
Ok lets kick off. So the remote team I work with had an opening for a new iOS developer (unrelated to anything to do with me). They interviewed and hired a guy based off his "amazing" take home challenge.
The challenge consists of 4 screens and was for a senior level position. For the challenge the interviewee created a framework (a iOS library) for each screen, included all the business logic for each screen inside, each one needs to be built separately, exposed some API/functions from each one and then created a main project to stitch it all together.
Now, my opinion is, this is highly unscalable and a ridiculous approach to take as it would add so much unnecessary overhead, for no benefit (I am correct btw).
The interviewee said he did it like this to "show off his skills and to stand out". The remote team loved it and hired him. The challenge said "show us the code standard you would be happy to release to production". I would argue that he has only demonstrated 1 extra skill, and in exchange delivered something that is unscalable, going to be a nightmare to automate and require huge on-boarding and a paradigm shift, for no reason. To me thats a fail for a senior to not realise what he's doing. This person will be required to work alone (in part), make architecture decisions, set the foundation for others etc. Having someone who is willing to just do mad shit to show off, is really not the type of person suited to this role.
Debate!11 -
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
I am an I.T Admin currently responsible for the URS, Validation, oversight of outsourced development and deployment of a new application for our company...
I've been saying once a week now for 2 fucking months that this thing will be ready to deploy at the end of the week.
With enough technical knowledge I know the hell business people put developers through, the lack of contextual understanding of the Job between the two sides is insane.
(I mean holy shit when you tab through various fields, even that ordering needs to be explicitly programmed.)
I refuse to put the pressure on our devs that I am told too, I cant submit a request and phone ten minutes later to ask if itll be done today, people plan their lives, the devs have other clients and projects... what the mother of fuck makes us so special that they must drop everything.
On top of that all the testing I do over and over and over and over reveals some pretty huge operational risks and I keep making changes so as to not blow up the operations of half our company.
I am not saying my boss is horrible or anything but Holy Hell, most people just can't put themselves in someone else's shoes for five short minutes
I try to please my boss while trying to protect my devs from abuse and sadly it results in me being in the middle of two sides playing tug of war and it is ripping me apart...
Why can't people just be more understanding and communicate and understand better... But don't worry all you beautiful game changing, world improving devs... I will always have your back3 -
Last week one of my clients asked me to visit their HQ to take a look at some report tool that has stopped to generate reports. This tool was not made by me, it has zero documentation, but WTH, I can take a look.
So I went to the HQ. When a guy that has called me told me that someone else will be here any second to talk to me, I began to be a little suspicius.
It turned out they want a new app. Not going into detail something that will read bar codes, do some stuff in a database, generate some reports etc. And he need it made in 2 weeks. I have reminded him I am involved in another project that I need to deliver in a month, and it is virutally impossible for me to develop what they want in this time. I offered them that maybe we should hire a team or at least another developer. Hi nodded and ignored what I've said. Well, he said we have maybe 2 weeks more, but that's it. Ok..
So, while working on the other project wich ramained a priority for me, I've began to do some thinking, some research on how to deliver what they want as fast as possible.
Today morning I went to the HQ again to finally take care of that report tool. But never mind that, I also had a chance to talk about the new app. So we made some Agile, wrote down epics, stories, talked about hardware etc. After two hours, it turned out, that more than this bardcode reading app the need something else! Barcode reading yes, but even more they need a scheduler for their emloyees, custom functionalities, plus some HR tools, other fancy stuff. But they don't even have a full concept yet. And it needs to be done until end of the month (9 days), maybe two weeks later.
So again I told them I will not be able to deliver this in set timeframe. That possibly we need to hire someone and even then it's questionable if this will be possible given all circumstances, time needed test, to deploy (in 14 diffrent locations all over the country). Actually if I had all software ready today the deployment, tests, training... So I offered that maybe we can figure out some temporary solution based on third party software.
At this point my requests and suggestions have been ignored again. Sadly my contract with them states I can not pass this to someone else, it all have to go trough them. And tehy don't want to spend extra money (??) etc.
Also from what I understand, this whole company's (~1000 employees) be or not to be can be affected by this project.
Sometimes I just don't understand business.1 -
Company President: No one needs to worry about losing their job due to COVID. We’re an essential business and won’t be effected.
48 hours later
IT Director: There have been severe budget cuts and we are letting go of the two highest salaried employees from every department. You are no longer employed.2 -
One of those days when i feel like complete shit and wish i hadn’t woken up.
I heard back from an interview i did last week (one of the faang type) and the recruiter started with “You didn’t impress any of your interviewers”. Man that hurt. I can’t unhear that. He went ahead to say they all recommended a mid-level role for me (they apparently said i had potential and could easily grow into a senior eng) instead of the senior lead i applied for. This is also subject to getting approval to hire mid-level engineers because the team needs more people but they only got approval to hire senior engineers. This cunt also added “dont worry about it. Just go about your usual business and i’ll call you next week if we have gotten the approval”. Ass! All i can do is worry because that is what i do best.
I think i am more sad and disappointed in myself because i thought the interviews went well. Wrote decent code and came up with good solutions on time. Had a good conversation with interviewers. Apparently for a senior, you cannot make mistakes which i did but once the interviewer gave me a clue, i got back on track.
Anyway, i slept with this anxiety, then woke up with tummy ache. On the drive out this morning to go to the bank, i drove my car into a pole and broke off my side mirror. Then my fucking power generator stopped working. And on my way to go and get my fixed mirror from the mechanic, my exhaust pipe broke in half due to a possible pothole i drove into.
Those fucking days where all that could go wrong goes wrong. My head is fucking pounding i can barely move my head without wincing. I am running out of money fast (i support my entire family) and i am worried about not getting a job. This blow to my confidence makes me feel worthless like i am not good for anything. Recruiter suggested i do another senior engineer interview for a different team which i passed the test for but i know the outcome would most likely be the same and i wanted the first team really bad. I just want to lie in bed and cry all day but this fucking headache won’t let me. -
Company top execs: "We need to optimize our costs and reduce our expenditure by x€ to keep the profit margin at acceptable levels for the shareholders"
YOU ARE PUSHING OUT SHIT PRODUCTS DAY IN AND DAY OUT THAT YOU FUCKING SUITS THINK WILL BE THE NEXT BIG THING BUT NOONE REALLY WANTS OR NEEDS. WE ALREADY HAVE A TON OF THOSE BORN-DEAD SHITCAKES HANGING AROUND ABD NEW ONES ARE ALREADY BEING PREPARED FOR LAUNCH.
"OPTIMIZE COSTS"? HOW ABOUT YOU STOP PRODUCING SHIT AND STICK TO YOUR FUCKING CORE BUSINESS MODEL!!!
"OPTIMIZE COSTS"? WE HAVE A ZERG OF OLD FUCKS, WHO ARE STILL WAITING FOR THE FUCKING SMS TO START THE NEXT TECH REVOLUTION, ON OUR PAYROLL. ALL THEY FUCKING DO IS PLAY SUDOKU IN THE KITCHEN AND DISCUSS TECHNIQUES ON HOW TO RAISE GOATS!!!
"NO MONEY TO GIVE A PAYRISE TO DEVELOPERS"? WHY DONT YOU JUST FUCKING GET RID OF THE USELESS DUDES BASICALLY DOING THEIR TENURE AND CLOSE SOME OF THESE FUCKTARDED PRODUCTS THAT 4 PEOPLE OUTSIDE OF THE FUCKING COMPANY USE BUT NEED A TEAM OF FUCKING 20 TO MAINTAIN! NO!!! THEY WILL NOT BE THE NEXT BIG THING! NO!!! ANYTHING YOU SHITCAKES WHO THINK MOBILE APPS IS THE "NEW EMERGING MARKET" WILL EVER CREATE THE NEXT FUCKING BIG THING!!!!!
STICK TO YOUR FUCKING BUSINESS AND STOP CREATING USELESS SHIT THATS MAADE BY FUCKING USELESS PEOPLE!!!!
FUUUUUCCCCCKKKKKK!!!!!!!!!!! -
My business partner who claim to be the best Wall Street programmer, probably 160 years ago, decided to improve our core system written in Go.
He dragged a *shortcut* of *whole* local github folder into Vendor(sort of node_modules), Manually changed commit hash in Gopkg.lock, etc,
Next morning I woke up to 24 failed builds on Master; all protobuf redone with his unknown gogo version, database trigger function with changed logics added parameters, and a text message “has anyone experienced build corruption? Works on my mac”
My other business partners said “it’s okay, He’s going through tough divorce needs some distraction”
F M L1 -
Annoys me so much how obviously lazy my department has been with one of its products. We have an iPad app that does document management and eForms and stuff. Its not perfect but not the worst. Then they decide they need to build an app to handle a specific kind of eForm. They just went "well this app already does eForms so lets just adapt it".
Worst. Decision. Ever.
the app is simply a branch off the original app. despite being a completely different product which isnt even concerned with the same business objects. it has been hacked until it does what it needs to. And i have to somehow maintain this trainwreck.
As a result we have a branch in our main Git repo that contains a completely different product, which is basically an iOS wrapper for an HTML eForm with ~5000 lines of jQuery to further hack on the functionality that the eForm provides.
And they wonder why iOS developers have been leaving and some keep threatening to leave. Even the Delivery Manager wants us to just do what is needed and get it out the door and never look at it again. How are we supposed to care when thats the attitude of the people who are supposed to be invested in it. Im surprised the client hasnt told us to get lost the app is so hideously broken and unmaintainable. Performing an action on the form can break a completely unrelated section somewhere else. We have lost control.
And they just keep adding more scope, ignoring our concerns cos hey its too late to just start changing the whole approach of the solution. -
I rarely tell this story because it's hard to believe and would show me in a bad light if people don't believe its details. I know there have been foolish moves from my part, and more stuff should have been agreed to in writing, and I did step into a legal grey area. However I am pleased with what I did and how it all turned out, and this is as close to the truth as possible without needing to explain too many details.
I was once a team lead in an outsourcing company. We had a flexible payment plan depending on results. That helped me motivate myself and my team. Things worked great.
But then the boss started acting like shit:
1. Flexible payment means minimum, right?
2. Promises are made to be broken, as long as your employees have hope and work overtime for a whole month just to finish an important project before schedule, right?
3. Who needs a good, comfortable, SAFE work environment when you can save 30$ on not buying a new crappy chair in place of the old broken crappy chair, if it can be maintained standing by just a bit of duct tape and careful balancing on it? It's not like that developer who earns 30$ per hour has anything else to think about than balancing on a broken chair, right?
I'm a very calm person at work. I never ever raised my voice at anyone for 10 years of my career. Except this situation. I pulled the boss out of the office so his secretary wouldn't hear what I had to say. I threw this everything into his face.
A guy from sales got out of the office to go to the bathroom, and when he heard me, he carefully snuck back into the office (I didn't see him. He told me this over a beer after he left).
Of course I quit on the spot, convinced most of my team members to leave (wasn't hard, I just had to offer a secure plan, which I did), and helped my team members to get good positions elsewhere, and assisted others in starting their own business, by stealing customers from this company (the asshole did not foresee this when he prepared the labour contracts), after he accused me of plagiarism (that I stole code from somewhere else) and used that excuse to not pay me what we agreed upon.
I didn't want litigation. I just used karma, while remaining in the legal realm.
Within a month after this, more than half of his company was gone, and he was left with only a fraction of the revenue he was making before, since the only ones left were people that did not produce value (sales that had nothing to sell, accounting that had nothing to account, etc.), and just one person maintaining one remaining contract that was bringing barely enough money to sustain half of these people.
Now I want to congratulate you for actually finishing reading this :)1 -
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" -
So you have an organization that flirts with scrum and wants to be agile. You have non-crossfunctional teams who don't know what agile is. You have product owner who doesn't want to do backlog, but instead acts like project manager and asks for statuses and assigns tasks to peple. He wants the teams to find out what needs to be done and fill the backlog themselves - and then raport to him. You have business owers who noone knows who they are. You have project managers, who don't fit the whole scrum hierarchy. These project managers insist calling scrum masters "team leaders". Also these project managers think scrum is silly and don't want anything to do with it. And then you have higher program management that think this whole scum thing is better than sliced bread and everything is going just dandy!
Oh yeah, also highest organization management thinks that we are on the right track. We just need be more agile but less agile and work more efficiently whitout really saying, what the hell are we supposed to do.
Basically every day is like going to the zoo. Without the fun part.6 -
!rant
I am on vacation from my full time job this week. I wanted to use this week to write a PoC for a potential customer of my side business. really interesting project for me.
potential customer is a window and door manufacturer and needs an application to manage their racks.
their ERP system already has a simple rack management but it is only useable in house.
they want the drivers to be able to scan racks they deliver to a customer with a native app and they want to have a webapp for the customers to see racks that are assigned to them as well as reporting a rack ready for collection. And that all needs to be in sync with their local ERP system.
as i am a .net guy i decided to go with the abp framework (because it got recommended to me) and xamarin for the native app part (because i have experience in this).
i have now spent 4 days implementing this and it has been so rewarding. the framework is so powerful and it's template saved me endless hours.
i even wrote a very basic connector service which synchronizes data between my app and the clients ERP system. Just one way until now because of time issue, but i learned to scaffold an ef core with db first. It is noticable that the ERP system is 2-tiered - meaning the clients directly talk to the db.
Tomorrow i will implement the xamarin client.
4 days just coding what i want to. choosi g my own velocity and making my own priorities without any interruptions or discussions and a bunch of new things to learn.
Probably wasted half a day because of stupidy (implemented some bugs) but fixing and learning is part of the journey and i lime that part, too.
i am so relaxed right now 😁 just wanted to share this without a real reason :P3 -
So here's is the thing.
For some weird reason I decided to work at a VC funded startup. For 15k year,(I live in a really poor country).
So, let me describe the hell I'm in now, and if for some good grace you happen to be hiring, please consider saving me from the horror that's ahead.
Company got funded 5 months ago, main owners are, an economist and a civil engineer with no programming habilities whatsoever.
They took 1 month to assemble "a killer team", with no hiring expertise they handpicked a CTO that came in 1 month later and took a month of vacation in his first month of work.
He didn't do any specification of the system that needs to be built.
The 2 naive owners hired the rest of this "killer team".
The team is good, but have no appreciation of planning.
They've built and rebuilt the backend system twice, once in graphql and the second with plain http (is not real rest, just a http api), in front of, guess what a mongo database.
This mongo DB is not only one, but 7, because we have 7 microservices, and each has its own database.
After some time, they decided to fire their CTO, and hire one more programmer(that's me), because the CTO wasn't doing anything.
The app has 3 parts, the app per se, a business version, and a help desk, guess what the helpdesk just appeared last week on the radar.
Long story short, we have one month to deliver what couldn't be built in 5.
When I decided to work for these people, I did not imagine the kind of clusterfuck that I was getting into.
It took me 1 month to realize the whole situation, now, I really would like to see some help from the deities of any religion, not for the project, that project is doomed.
It's how I'll pay the bills after that clusterfuck collapses that worries me.
Now in the startup no one is talking about how stupid the whole situation is. Or how far back we are. And at this point there's very little that could be done about it, I have a feeling that it could still be accomplished, but it's fading day after day.
I will do my best to live the best of this experience, and do as the musicians in the Titanic and keep playing the music even after knowing the Titanic is sinking.4 -
Stakeholder: Is it possible for you to set up the website to automatically resubmit failed online orders? Last time there were failed orders, we tried submitting manually but a lot failed because they were tickets for the previous day.
Product Manager: What are your thoughts, Developer?
Me: This wouldn’t be worth the labor. It’s something that would rarely be used. There are very few orders that fail. I’d be surprised if it was even once a week. The recent bunch of order failures that SH is talking about happened because the ticketing server (separate from the website) couldn’t handle all the requests. Let’s say you had resubmission logic to try 3x before allowing the fail. It wouldn’t work because the server was overwhelmed already. Let’s say you had a background task to check for failures every ten minutes and resubmit those. It might not be helpful because the customer could have already gone to a ticketing window for help with the failed order.
SH: But what if it happens again???
Me: The solution is to make sure the ticketing server can handle the influx of requests. We can coordinate with that team. Wait. Why did you wait until the next day to resubmit orders in the admin panel? A lot of those failures happened when there were many hours left in the business day. For each order failure, an email notification is sent to the sales support email in real time. Who is monitoring that inbox? Someone must be looking at it because the sales support email is listed multiple times on the ticketing website as the technical assistance email.
SH: I know that email notification goes to the engineering team.
Me: My question is not about the engineering team. I asked who is monitoring the sales support inbox.
SH: That email … gets filtered.
Me and Product Manager: 😧🤯🤬
PM: First, you need to stop filtering that email notification. Second, your team needs to come up with a flow to handle failed orders because you told us you don’t have one. After you tried this and there’s still an issue, then we can revisit.
—-
If you’re wondering why I said no, I’m a team of one and I have a bunch of other development tasks on my plate. I’m not automating a manual task that rarely has to be performed.rant this meeting could have been an email stop filtering out important notifications i saw my product manager’s eyes bug out -
dev, ~boring
This is either a shower thought or a sober weed thought, not really sure which, but I've given some serious consideration to "team composition" and "working condition" as a facet of employment, particularly in regard to how they translate into hiring decisions and team composition.
I've put together a number of teams over the years, and in almost every case I've had to abide by an assemblage of pre-defined contexts that dictated the terms of the team working arrangement:
1. a team structure dictated to me
2. a working temporality scheme dictated to me
3. a geographic region in which I was allowed to hire
4. a headcount, position tuple I was required to abide by
I've come to regard these structures as weaknesses. It's a bit like the project management triangle in which you choose 1-2 from a list of inadequate options. Sometimes this is grounded in business reality, but more often than not it's because the people surrounding the decisions thrive on risk mitigation frameworks that become trickle down failure as they impose themselves on all aspects of the business regardless of compatibility.
At the moment, I'm in another startup that I have significantly more control over and again have found my partners discussing the imposition of structure and framework around how, where, why, who and what work people do before contact with any action. My mind is screaming at me to pull the cord, as much as I hate the expression. This stems from a single thought:
"Hierarchy and structure should arise from an understanding of a problem domain"
As engineers we develop processes based on logic; it's our job, it's what we do. Logic operates on data derived from from experiments, so in the absence of the real we perform thought experiments that attempt to reveal some fundamental fact we can use to make a determination.
In this instance we can ask ourselves the question, "what works?" The question can have a number contexts: people, effort required, time, pay, need, skills, regulation, schedule. These things in isolation all have a relative importance ( a weight ), and they can relatively expose limits of mutual exclusivity (pay > budget, skills < need, schedule < (people * time/effort)). The pre-imposed frameworks in that light are just generic attempts to abstract away those concerns based on pre-existing knowledge. There's a chance they're fine, and just generally misunderstood or misapplied; there's also a chance they're insufficient in the face of change.
Fictional entities like the "A Team," comprise a group of humans whose skills are mutually compatible, and achieve synergy by random chance. Since real life doesn't work on movie/comic book logic, it's easy to dismiss the seed of possibility there, that an organic structure can naturally evolve to function beyond its basic parts due to a natural compatibility that wasn't necessarily statistically quantifiable (par-entropic).
I'm definitely not proposing that, nor do I subscribe to the 10x ninja founders are ideal theory. Moreso, this line of reasoning leads me to the thought that team composition can be grown organically based on an acceptance of a few observed truths about shipping products:
1. demand is constant
2. skills can either be bought or developed
3. the requirement for skills grows linearly
4. hierarchy limits the potential for flexibility
5. a team's technically proficiency over time should lead to a non-linear relationship relationship between headcount and growth
Given that, I can devise a heuristic, organic framework for growing a team:
- Don't impose reporting structure before it has value (you don't have to flatten a hierarchy that doesn't exist)
- crush silos before they arise
- Identify needed skills based on objectives
- base salary projections on need, not available capital
- Hire to fill skills gap, be open to training since you have to pay for it either way
- Timelines should always account for skills gap and training efforts
- Assume churn will happen based on team dynamics
- Where someone is doesn't matter so long as it's legal. Time zones are only a problem if you make them one.
- Understand that the needs of a team are relative to a given project, so cookie cutter team composition and project management won't work in software
- Accept that failure is always a risk
- operate with the assumption that teams that are skilled, empowered and motivated are more likely to succeed.
- Culture fit is a per team thing, if the team hates each other they won't work well no matter how much time and money you throw at it
Last thing isn't derived from the train of thought, just things I feel are true:
- Training and headcount is an investment that grows linearly over time, but can have exponential value. Retain people, not services.
- "you build it, you run it" will result in happier customers, faster pivoting. Don't adopt an application maintenance strategy
/rant2 -
I used to work with a teacher in my last uni year.
The job consisted on doing a kinda-like management system for a business. It all began kinda "right", we agreed upon a price for 6 months of my work (a very lowball price, but it was just right because I was learning stuff that we were going to be using).
Fast-forward first six months, all I do is code frontend, mockup screens and whatsoever because this "business" hadn't give us proper requirements (Yeah, I told him to ask for them, but nothing came through).
So I was like well, I'll keep working in this project because I really want to finish it. Sidenote: I was doing all the "hard work", he didn't know how to code, and he calls himself a teacher... wtf).
Months go by, and a year goes round, in between these months, he spoke to me, that he wanted me that we kept working together, that we could renegotiate the payment (I asked him to give me my payment once the job was done). I agreed, but my uni residence period was coming along and I got an oportunity to go abroad to another country.
So there I was, in the need of money to buy my passport, plane tickets and other stuff, so I asked him for the payment.
Needs to be noted, that the last 6 months work was me doing tutorials on how to fucking use Linux, how to use PostgreSQL, how to fucking use CSS! He told me he would pay me extra for it.
The day came, and I received my payment... the exact amount we talked a year ago, I was like "Seriously dude?", but well, I needed the money and I didn't have time to argue, so we talked a little bit about me helping him and I told him "As long as I have time, I'll help, but remember that I'm going abroad to work for a small startup, so maybe I'll be up to my head with work" he agreed, we nod and then I left.
First week abroad came in and I was doing a shit-ton of stuff, then his first message comes around "Hey, I need more tutorials! ASAP! Before 6PM"
What.The.Fuck. I told you, son of a bitch, that I wouldn't be able to do them until weekend.. and it was monday!
So I ignored it, weeks went throught and my "angry mood" was fading away so I said to myself "Well, it's time to pick up that stuff again", I open Slack and I find a week old message with a document attached, it was a "letter", I just skimmed by it and read some keywords "deceptioned... failed me.."
Sure dude? Was I the failure? Becase, as far as I remember, you were the fucktard that didn't know how to fucking install a VM!
A week went by, and then randomly a friend of mine talks to me through Facebook:
E: Hey, how are you?
M: I'm fine, what's up?
E: What did you do to TEACHER?
M: Nothing, <explains all situation>
E: Well, It seems weird, that's why I wanted to talk with you, I believe in you, because I know you well, but TEACHER it's thrashing shit about you with all his students on all of his classes
M: Seriously?
E: Yeah, he's saying that you are a failure, irresponsible, that you scammed him
That moment, I for sure, lost all moral responsibility with him and thought to myself "He can go fuck himself with my master branch on his ass"
So when I got back to my country, I had to go around in school, avoiding him, not because I was ashamed nor anything by the way, just because I knew that If i ever had the disgrace to meet him face to face, my fists would be deep into his nose before he could say "Hey".
Moral of the story:
If you overheard that a teacher has a bad rep, not by one, nor two, but more than +100 people, maybe it's true.
Good thing my friends and others know me well and I didn't have repercutions on my social status, I'm just the guy that "fucked up TEACHER because I had the right and way to do it"4 -
Biggest teamwork fail? This is the general way we do business where I work right now:
My boss didn’t want to be the kind who hovers, always micromanaging. He also hates the idea of taking programmers away from their work for meetings. Sounds great, right? This has resulted in:
• All non-lead devs being excluded from all meetings other than scrum (including sprint planning and review meetings). Nobody ever knows what the hell is going on. They don’t think we “need to know.” This means most of our day is spent trying to figure out what needs to be done, rather than getting anything done.
• Our remote boss making dozens of important decisions about our platform, never telling us, and blaming us for not forcing our lead to be more communicative.
• Pull requests staying open for weeks, sometimes months, because nobody has definitively decided what version we’re actually supposed to be working on. This means our base branch could be any of them, and it means PRs that have been opened too long need to be closed, updated, and re-opened on the false promise of someone actually looking at it.
Just ranting here... but I think our biggest teamwork fail is happening right now, with all of those things ^3 -
Unpopular opinion: unit tests are often overrated.
Although a well written test suite is almost essential in some parts of the application (I.E. business logic) I cringe when I see hundreds or thousands of line which “mocks” everything to test a micro service which just does CRUD operations on a database, in cases like that unit tests are just a waste of time because almost every operation involves a mock which may not behave like the real database and often needs to be rewritten when the code undergoes a huge refactoring. In these case a integration test suite is faster to write and way more helpful.9 -
I got my dirty fingers on this leak of an AMAZING ML model capable of pondering EVERY PARAMETER IN THE UNIVERSE and saying if your business idea needs improvement or is good to go.
BEHOLD THIS 100% PURE PYTHON SOLUTION:
```python
import random
def magic(*args, **kwargs):
if random.random() > 0.5:
return "Good to go!"
else:
return "Requires improvement on value proposition"
```
This LEAK is from a startup that just received 4 BILLION USD IN VENTURE CAPITAL to improve their AI SYSTEMS.
Literally enough money to solve world hunger forever.
Who else is gonna invest in NEW THERANOS ADVANCED A.I. RESEARCH INTERNATIONAL INC?8 -
Management: Our internal app must be 100% rigid so that we users follow predefined process flows exactly so no mistakes are made while also being 100% flexible so that users are free to go about their business in whatever way they feel is appropriate for their own unique needs. These are the requirements!
Dev: …7 -
Product and Design have a common enemy. Yes, you guessed it right, Engineering.
The former aim to solve user problems and focus heavily on aesthetics most of the time. While the latter actually does it.
As a Product guy, I admit that I absolutely hate the role these days because all that are asked to focus on is engagement retention conversion and other fancy metrics. Community has missed the entire point of why the fucking role exist.
On the other hand, engineering always asks the best questions. Focuses on performance and scale while periodically checking on tech debt. Yes, they suck at business or sales but when the solution works, things automatically make money.
I DON'T FUCKING CARE HOW BEAUTIFUL YOUR APP IS, IF IT DOESN'T SOLVE MY PROBLEM THEN IT'S RUBBISH.
Functionality and UX matters to more than colour scheme or fonts. Reason why Amazon is a huge. They are functionally solving a great problem while constantly improvising UX and not giving a rat's ass on UI.
Another down side to your fancy design is that the UI elements make things heavier. No wonder engineers have always been the best problem solver.
We lost our way. Tech world needs to go back a decade or two to fix the tech debt.8 -
Fucking Google needs to review my request to bump my api quotas and they’ll let me know in two business days 😑
Just
ShutUpAndTakeMyMoney.jpeg11 -
Client contacts our company that his site is down, we do some investigating and the only way we can access the site is on a mobile phone. From the office computers the site never loads and times out. Since we don't host the site and I've never logged into it before I don't have a lot of details so I suggest they contact whoever hosts their site. This is where things get weird.
Client tells me that the site is hosted on someone's home server. I tell him that this is quite strange in 2018 and rather unlikely and ask if he was ever given access to the site to log in or if he has access to his domain registration, GoDaddy.
He says he doesn't understand any of this and would rather I just contact his current developer and figure it out with him. We agree that he needs to get access to his site so we are going to migrate it once I get access to it.
I email his current developer letting him know the client has put me in contact with him to troubleshoot the issues with the site. I ask him some standard questions like: where is the site hosted? Can you access it from a computer? Do you have some security measures in place to block certain IP ranges? Can you give me from access to get the files? Will you send me a backup of the site for me to load up on my server?
*2days pass*
Other dev: Tell me the account number and I'll transfer the domain.
Me: I'll have to get back to you on that once I talk to the client and set up his GoDaddy account since we believe the business owner should own their domain, not their developers. In the meantime you didn't answer any of the questions I asked. Transferring the domain won't get the site on my server so I still need the files.
*3 days pass*
OD: You are trying the wrong domain. The correct domain is [redacted].com I'll have my daughter send you the files when she gets in town. We will transfer the domain to you, the client will forget to pay and the site will go down and it'll be your fault.
Me: I appreciate your advice, but the client will own their domain. I'm trying to get the site online and you have no answered any of my questions. It's been a week now and you have not transferred the domain, you have not provided a copy of the site, you have not told me where the site is hosted. The client and I are both getting impatient at this point when will we receive a backup of the site and the transfer of the domain?
OD: Go fuck yourself, tell the client they can sue me.
If the client is that terrible, wouldn't you want to hand them off to anyone willing to take them? I have never understood why developers and agencies try to hold clients hostage by keeping their domain or website and refusing access. From what I can tell this is a freelance developer without a real company so a legal battle likely isn't going to go well since the domain is worthless to him as the copyright to the name is owned by the client. This isn't the first time we've had to help clients through this sort of thing.4 -
I recently tried to apply the same data analytics rationale that I use at work to my personal life. This is not a rant, it is more like an data storytelling of an actual use case I would like some input on.
I set a goal - gotta thin up a bit and calm down my ticker - and got a (almost unreasonably expensive) field expert consultant to yell at me about it for a couple hours.
I unravel the metrics - there is like a million weight-related KPIs and most say nothing at all. I have never seen an non-infrastructure measurable subject that could not be resumed to 2-5 performance metrics. I got overall weight, how well my nine-years-old business suit fits me, heart rate, and day-after relative muscle pain (it will make sense soon).
Then its data-pipeline time. I bought a cheap weight scale and smartwatch, and every morning I input the data in an app. Yes, I try to put on the suit every morning. It still does not fit.
After establishing a baseline, I tried to fit different approaches. Doing equipment-free exercises, going to the gym, dieting. None was actually feasible in the long run, but trying different approaches does highlight the impacts and the handling profile of each method.
Looking at the now-gathered data, one thing was obvious - can't do dieting because it is not doable to have a shopping list and meals for me and another for the family.
Gym is also off the table - too much overhead. I spend more time on the trip there and back than actually there.
And home exercise equipment is either super crappy or very expensive. But it is also the most reasonable approach.
So it is solutions time. I got a nice exercise bycicle (not a peloton), an yoga mat (the wife already had that one) and an exercise program that uses only those two resources. Not as efficient without dieting, not as measurable and broad as the gym, but it fits my workflow. Deploy to production!
A few months pass and the dataset grows. The signal is subtle but has support - it works! The handling, however, needs improvement, since I cannot often enough get with the exercise program. Some mornings are just after some hard days.
I start thinking about what else I can improve in the program, but it is already pretty lean and full of compromises.
So I pull an engineer and start thinking about the support systems and draft profile. What else could be draining my willpower and morning time?
Chores. Getting the kids ready for school, firing up the moka pot, setting the off-brand roomba, folding the overnight-dried clothes, cooking breakfast, doing the dishes, cleaning the toilets. All part of my morning routine. It might benefit from some automation.
Last month I got that machine our elders call "wasteful" and "useless crap lazy entitled Americans invented because they feel oh-so-insulted for simply doing something by hand like everyone always did" - a "dish-washer".
Heh, I remember how hard was to convince my mother-in-law that an remote-controled electric garage door would not make she look like an spoiled brat.
Still to early to call, but I think that the dishwasher just saved me about 25 mins every morning. It might be enough to save willpower for me to do more exercise.
This is all so reflective of all data analytics cases really are out in the wild - the analytics phase seems so small compared to the gathering and practical problem-solving all around. And yet d.a. is what tells you that you are doing the wrong thing all along. Or on what you should work next.7 -
Fiddling with the UiPath RPA tool. What the fuck is this monster?
So, you create apps by drawing a flowchart, like some kid using Scratch. Then, suddenly, you have to create a .NET object just to get a random number!
Who the fuck is the target audience that can create objects, call a directory read function, etc, but can't write a loop?! Show me that fucking person.
Then I have to debug the fucking selectors when they don't work correct. All this requires is understanding how UIs are structured under the hood. So, you know that a menu bar is a window, but you need to draw a fucking if statement?!
And how would you debug and manage this monstrosity?
It like we learned nothing from all the Excel apps we build for decades.
I mean, it's an impressive app. But, why does it exist?
Someone needs to stop this before it gets out into the wild or we'll all be debugging flowchart a created by business analysts.
You have been warned. Join the fight or accept the consequences.1 -
My mum wants to learn how to use a computer. She wants to help my dad in his business in case something needs to be done and neither me nor my dad are (currently) available.
Will be .... a great challenge, since she didn't use a desktop computer almost ever, but i'm nevertheless proud of her and will try my best to help her😍😊😎6 -
It all started with an undelivereable e-mail.
New manager (soon-to-be boss) walks into admin guy's office and complains about an e-mail he sent to a customer being rejected by the recipient's mail server. I can hear parts of the conversation from my office across the floor.
Recipient uses the spamcop.net blacklist and our mail was rejected since it came from an IP address known to be sending mails to their spamtrap.
Admin guy wants to verify the claim by trying to find out our static public IPv4 address, to compare it to the blacklisted one from the notification.
For half an hour boss and him are trying to find the correct login credentials for the telco's customer-self-care web interface.
Eventually they call telco's support to get new credentials, it turned out during the VoIP migration about six months ago we got new credentials that were apparently not noted anywhere.
Eventually admin guy can log in, and wonders why he can't see any static IP address listed there, calls support again. Turns out we were not even using a static IP address anymore since the VoIP change. Now it's not like we would be hosting any services that need to be publicly accessible, nor would all users send their e-mail via a local server (at least my machine is already configured to talk directly to the telco's smtp, but this was supposedly different in the good ol' days, so I'm not sure whether it still applies to some users).
In any case, the e-mail issue seems completely forgotten by now: Admin guy wants his static ip address back, negotiates with telco support.
The change will require new PPPoE credentials for the VDSL line, he apparently received them over the phone(?) and should update them in the CPE after they had disabled the login for the dynamic address. Obviously something went wrong, admin guy meanwhile having to use his private phone to call support, claims the credentials would be reverted immediately when he changed them in the CPE Web UI.
Now I'm not exactly sure why, there's two scenarios I could imagine:
- Maybe telco would use TR-069/CWMP to remotely provision the credentials which are not updated in their system, thus overwriting CPE to the old ones and don't allow for manual changes, or
- Maybe just a browser issue. The CPE's login page is not even rendered correctly in my browser, but then again I'm the only one at the company using Firefox Private Mode with Ghostery, so it can't be reproduced on another machine. At least viewing the login/status page works with IE11 though, no idea how badly-written the config stuff itself might be.
Many hours pass, I enjoy not being annoyed by incoming phone calls for the rest of the day. Boss is slightly less happy, no internet and no incoming calls.
Next morning, windows would ask me to classify this new network as public/work/private - apparently someone tried factory-resetting the CPE. Or did they even get a replacement!? Still no internet though.
Hours later, everything finally back to normal, no idea what exactly happened - but we have our old static IPv4 address back, still wondering what we need it for.
Oh, and the blacklisted IP address was just the telco's mail server, of course. They end up on the spamcop list every once in a while.
tl;dr: if you're running a business in Germany that needs e-mail, just don't send it via the big magenta monopoly - you would end up sharing the same mail servers with tons of small businesses that might not employ the most qualified people for securing their stuff, so they will naturally be pwned and abused for spam every once in a while, having your mailservers blacklisted.
I'm waiting for the day when the next e-mail will be blocked and manager / boss eventually wonder how the 24-hours-outage did not even fix aynything in the end... -
I already wrote a rant about this yesterday, but since I'm a sysadmin trying to convert to dev.. I dunno, maybe it's not a bad idea to muddy the waters a bit and talk about why not to be a sysadmin.
Personally I think it's that the perceived barrier to entry is just too high, while it isn't. You don't need a huge Ceph cluster and massive servers when you're just starting out. Why overbuild an appliance like that if it's gonna start out at maybe 5 requests a minute?
Let's take an example - DNS servers! So there's been this guy on the bind-users mailing list asking how to set up a DNS server on 2 public servers, along with a website. Nothing special I guess - you can read the thread here: https://0x0.st/ZY-d. Aside from the question being quite confusing, there was advice to read RFC's, get a book, read the BIND ARM, etc etc. And the person to deny this? No one less than Stephane Bortzmeyer, one of the people who works for nic.fr (so he maintains the .fr TLD) and wrote some of those RFC's as part of the DNSOP working group in the IETF. As for valid reasons to set up a DNS server? Could just be to learn how the DNS works, or hell even for fun. As far as professional DNS servers go.. this (https://0x0.st/ZYo9) is the nugget that powers the K root server, one of the 13 root servers that power the root zone of the internet, aka the zone apex. 2 RJ45 connections, and a console connection. The reason why this is possible is the massive recursor networks that ISP's, Google DNS, Cloudflare DNS, Quad9, etc etc provide. Point is, you don't need huge infrastructure to run a server!
Or maybe your business needs email. How many thousands of emails per second are you gonna need to build your mail server against? How many millions will you need to store? If your business has 10 employees and all of those manage about 10k emails total.. well that's easy, 100k emails total. Per second? Hundreds of emails per second per employee? Haha, of course not. Maybe you'll see an email a minute at most. That is not to say that all email services are like this - it is true that ISP's who offer email to their customers, and especially providers like Microsoft and Google do need massive mail servers that can handle thousands of emails per second. But you are not Microsoft or Google. So yeah, focus on the parts of email that are actually hard.. and there is plenty.
Among sysadmins you have this distinction between "professional" sysadmins and homelabbers. I don't mind the distinction itself but I think both augment each other. If you've started out by jumping into a heap of legacy at an established company, you will have plenty of resources, immediately high complexity, and probably a clusterfuck right away. But you will have massive amounts of resources. If you start out with a homelab, you will have not many resources, small workloads, and something completely new for you to build and learn with. And when running a server like that, you'll probably find that the resources required are quite small, to provide you with your new services. My DHCP servers take 12MB memory each. My DNS servers hover around the 40MB mark. The mail server.. to be fair that one consumes around 150. But if you'd hear the people saying that you need huge servers.. omg you need at least a TB of RAM on your server and 72 cores, massive disks and Ceph!1!
No you don't. All that does is scaring people away and creating a toxic environment for everyone. Stop it.1 -
rant="""
It's too many features for me to keep up with. And the client just bounces between this matrix of all the possible permutations of them, refusing to admit that he is asking for mutually exclusive behavior in more than one place. I have mentioned to him at least 12 times a year that there is too much going on, not organized, we need to simplify, prioritize, or we will have 100 half baked untested features.
Of course it is more or less made it out to be that this is all my fault, or at least it's hard not to feel that way when I say:
It will be a long time before X will be working, we need 25 other things first.;
Next day he asks:
Have you made any progress on X;
I reply: Now we need 24 things to be done at this rate it will be a month.;
He replies:
Ok but I need this yesterday. How about if you add a new feature Y that does everything X does without those 24 things?;
I reply: That will not work at all like X. Y is just X + 1 more feature.
He replies: Ok well I need Y so when you're done with X I need a way to do it like Y also. I just thought it'd be easier.
EASIER TO ADD MORE FUCKING FEATURES YEAH SURE THATS EASY AS FUCK YOU FUCK FUCK FUCK. He's a nice enough guy, pretty smart compared to my first few paying gigs, but wtf really? How do I come out and tell you I need 25 days and you ADD more work? This was one example.
IN TWO days he has added 12 features. And during the week has asked for 29 UI interfaces to be COMPLETELY different. This is becoming COMMONPLACE. Every week there is either a huge change, or a conversation like about that finds its way into the entire business flow inside an dout.
The worst thing is: I TOTALLY understand what he needs. I feel that HE doesn't. This weekend I spent literally HALF of his retainer on getting equipment into my hands to bring it back to find out it DOESNT WORK. Why aisn't HE doing this so I can finish the features from NOVEMBER that HE NEEDS in order to PROCESS SALES.
I've tried and tried but I just can't get through to this client what a tremendous waste of time his \"process\" is, for lack of a better word. Constant changes, contsant additions, lack of clarity, needless repetition and contradictions, constantly adding moonshot ideas to compete with every industry in the region, and not beta testing anything until something goes wrong.
Fuck this guy! His business is failing and I felt responsible for the longest time but it is clear to me that if I wanted to save his business I would have to ignore 95% of his feature requests. I ignore 50% now because of the stress in trying to determine which of the 3 different paradigms he is talking about changing. I will lose this client, and I feel like he will sue me to get all of his money back. He holds me to very little honestly - BUT WEEKLY reminds me that he won't be able to pay me next month if feature XY and Z arent ready!
If a developer is CLEARLY overwhelmed, it makes NO sense at all to continue to PILE ON feature after feature
"""
try:
while true:
rant+=", after feature"
except DevHeadExplodes as inevitable:
raise YourDevsRatesOrLookElsewhere(inevitable)8 -
Lab needs a crawler to download some assets, none of my business though
But why not
Haven't touched crawler for two years
Google for latest state of art
Found scrapy
I have to define a class for a crawling script?
Got scared
Went back to beautifulsoup and request
Got the job done in 20 mins
Fuck yeah6 -
I am not the only one that has ranted about this but it needs to be repeated: FUCK QUORA
Can't they just please go out of business already? Services that force you to sign up to read stuff are making me want to torture the company's decision makers slowly to death anyways. Also fuck reddit for promoting their absolute garbage app that adds ZERO value to the reddit experience other than bugs and really shitty loading times.13 -
Can someone explain to me why non-technical people even work in tech companies ??
I really don't want to sound like an asshole, but can you, for example, imagine that someone who doesn't even know what brick is would work on a construction site ?
Or can you imagine working in bike repair shop not knowing neither how to ride a bike nor how's bike is built ?
Sure, every company (especially large ones) needs bookkeepers/HRs/accountants etc. that don't need to know the inner workings of business.
Those people don't bother me, and they are necessary to keep the circus going.
I'm talking about all those middle management individuals.
All those "Project Managers" , "Business Analysts", "Directors' , "Principal Program Managers " etc etc ..
Such thing thing would be unthinkable in every other industry but somehow, in tech, anyone can work as long as they can throw a sufficient number of acronyms around.7 -
Design team constantly needs help fixing bad commits and merges. (can't use git after using it for 3 years...) And boss wants to know why the ticket is falling behind.
After explaining I'm pretty much told that assisting other teammates is part of the job but I'm being paid to write code and need to stay late.... this is while I'm hitting a 10 hour workday already (skipping lunch). And btw, we aren't doing reviews this year because the business made some bad decisions recently and raises aren't in the budget.7 -
I was tasked to evaluate wherever a customer could use an implementation of OTRS ( https://otrs.com/ )
Is it just me or is there no information on this site apart from <OTRS> will make your life better! <OTRS> will cure AIDS! <OTRS> will end world hunger!
This site is trying to use its fucking product name in every god damn sentence. <OTRS>. Everytime <OTRS> is mentioned it is fucking bold printed! My eyes are bleeding within 2 minutes of visiting this site.
I can't get any information about what excatly it is apart from their catchphrase: OTRS (again, bold. I'll refrain from putting it in <> from now, i think you got the point) is a customizable support desk software that manages workflows and structures communication so there are no limits to what your service team can achieve.
So, it's a support desk software you can customize. Great. What does it do?
"Whether you deal with thousands of inquiries and incidents daily [...] you’ll need digital structures that integrate standardized processes
and make communication transparent between teams and departments,
as well as for external customers."
Great, but what does it do?
"Reduce costs and improve satisfaction by structuring customer service communication with OTRS."
Great, BUT WHAT DOES IT DO?
"Manage incidents simply and uncover the data needed to make forward-thinking strategy decisions. OTRS is an ITSM solution that scales and adapts to your changing business needs."
W H A T D O E S I T D O ?!
Okay fuck that, maybe the product page has something to say.
Hm... A link on the bottom of the page says it is a feature list ( https://otrs.com/product-otrs/... )
Ah great, so i got a rough idea about what it is. Our customer wants a blackboard solution with a window you can pin to your desktop and also has a basic level of access control.
So it seems to be way to overloaded on features to recommend it to them. Well, let's see if can at least do everything they want. So i need screenshots of the application. Does the site show any of them? I dare you to find out.
Spoiler: It does not. FFS. The only pictures they show you are fucking mock ups and the rest is stock photos.
Alright, onwards to Google Images then.
Ah, so it's a ticket system then. Great, the site did not really communicate that at all.
Awesome, that's not what i wanted at all. That's not even what the customer wanted at all! Who fucking thought that OTRS was a good idea for them!
Fuck!5 -
Open source is poison, hoax and source of much troubles.
Even as I love OSS, and I use it a lot, when things go south, they go south terribly.
There was "security" updates in one OSS program I have been using, that accidentally prevented use cases which specifically affected me. I raised bug report, made issue and gave small repro for it.
One of the core developers acknowledges that yes, this is problem, and could be handled with few added options, which users of similar use case could use to keep things working. He then tags issue "needs help" and disappears.
After I have waited some time, I ask help how I could fix it myself, like how to setup proper dev environment for that tool. Asked it in their forums few days later, as issue didn't get any response. Then asked help in their slack, as forums didn't get any help.
Figured out how to get dev environment up, fix done (~4 lines changed, adding simple check for option enabled or not) and figured out how to test that this works.
I create pull request to project, checking their CONTRIBUTING and following instructions there. Then I wait. I wait two weeks, and then one of the core develors goes to add label "needs response from maintainer". That is now almost two weeks ago...
So, bug that appeared in October, and issue that was created October 8th, is still not fixed, even as there is fix in PR for 28 days this far.
And what really ticks me off? People who make statements like: "it is OSS, have you thought of contributing and fixing things yourself?" when we run into problems with open source software.
Making fix yourself ain't biggest problem... but getting it actually applied seems to be biggest roadblock. This kind of experiences doesn't really encourage me to spend time fixing bugs in OSS, time is often better spend changing to different tool, or making changes in my own workflow or going around problem some kludge way.
I try to get business starting, and based on OSS tools. But my decision is staggering, as I had also made decision to contribute back to OSS... but first experiences ain't that encouraging.
Currently, OSS feels like cancer.17 -
Saw lots of regret posts about being in dev field. Then why bother living that way?
Not like engineering, medicine or business management fields, I believe programming needs passion similar to art related careers like acting, music and painting etc. So if you don't have any passion for programming, you won't be successful or satisfy at all.
That doesn't mean it is all good and happy days for every passionate programmers. We sure have ****ed up days (probably more than other fields.) Seriously that's why we have devrants. No? But it doesn't reach to the point of regret to me.
Here our national programming language is probably PHP. The pays are lower than your part-time fast food chain workers. The internet speed is in kbs with 2 digits most of the places. Government doesn't give a crap about IT. No IP copyright laws and so on. I probably would earn more and live better if I were not running this IT business.
But hell yeah I never regret at all.1 -
One of the big ISP/entertainment companies dug up the roads a few months back and laid fibre optic cables (cutting through a power cable in the process but that's another story).
Recently had someone turn up at my door to chat about their services. All sounded very good, I took a card and gave it some thought and did some research.
So, it'd be a little cheaper than my current provider (FTTC setup). It'd be faster for downloads, slightly slower for uploads (I want fast upload). IPv6 is only on their business packages. I use IPv6 a lot. I also have several static IPv4 addresses.
It would involve getting a cable in to where my equipment rack is, and one to where the TV is (which I spent ages building a TV unit with power, network etc.)
To record/watch TV in another room with their service, I'd need to pay extra. The service just provides HD channels that I can already get, unless I pay more. At the moment I have MythTV handling all the recording of TV shows I want, and Kodi to play them back on different TVs, via CAT6 I spent ages installing into the walls.
Then there's the uncertainty of how nicely their equipment will play with my relatively complicated setup.
I decided, it isn't worth it really for me. I would have to change a load of stuff just to end up with what I already have... But with more limitations.
Anyway, the guy turned up again a few days later, I told him of my decision and away he went.
Since then I have been visited by 2 other employees of this company to try to sell me the service.
It is probably great and convenient if you are not like me and DIY all your home network and media distribution setup...
Also the ISP I'm with is quite small. They are very knowledgeable and friendly and I can get through to someone quickly if i phone. What I use meets my needs, so I prefer to support the smaller company in this case. -
I had a conversation that almost became an argument with a someone I manage the other day. It revolved around how we should do just the basic parts first as that's what the business needs quickly and the code base is in a bad state right now so I didn't want to build new features on a poor foundation, particularly as those new features might not be forwards compatible and might have no way of fixing.
Once basic is in, refactor and cleanup, add secondary features. Their point was to just do it all at once in a big bang. It devolved into them getting angry and telling me to leave them out of all future discussions because now we "aren't ever doing the secondary features", just give them the task and leave them alone.
I let this go, but now I've found out they went to another high up person on the team and presumably lied to them about what was said.
What to do?5 -
Any dev who is asked to give “deadlines” then cried about how it’s “waterfall” and you cannot produce business requirement deadlines in agile methodology needs to stop being dependent on terminology and learn that part of programming is proper estimation.
Milestones, business deadlines and agile can go-exist. Anyone who says they don’t, then cries “waterfall” when asked to produce deadlines greater than 4 weeks out, please never work with me11 -
Having a complete front end and back end application where the frontend is designed to look as simple as possible.
A new potential customer wants to have our app and listens to a designer bragging that its just replacing 2 fields.
After a while our manager comes by and mentioned that everything needs to be done within a few weeks....
All devs lose their mind since in the backend we need to have like 8 external sources to connect and hundreds of business rules to implement.
How a single designer ruined the year for 7 devs....1 -
I need some opinions on Rx and MVVM. Its being done in iOS, but I think its fairly general programming question.
The small team I joined is using Rx (I've never used it before) and I'm trying to learn and catch up to them. Looking at the code, I think there are thousands of lines of over-engineered code that could be done so much simpler. From a non Rx point of view, I think we are following some bad practises, from an Rx point of view the guys are saying this is what Rx needs to be. I'm trying to discuss this with them, but they are shooting me down saying I just don't know enough about Rx. Maybe thats true, maybe I just don't get it, but they aren't exactly explaining it, just telling me i'm wrong and they are right. I need another set of eyes on this to see if it is just me.
One of the main points is that there are many places where network errors shouldn't complete the observable (i.e. can't call onError), I understand this concept. I read a response from the RxSwift maintainers that said the way to handle this was to wrap your response type in a class with a generic type (e.g. Result<T>) that contained a property to denote a success or error and maybe an error message. This way errors (such as incorrect password) won't cause it to complete, everything goes through onNext and users can retry / go again, makes sense.
The guys are saying that this breaks Rx principals and MVVM. Instead we need separate observables for every type of response. So we have viewModels that contain:
- isSuccessObservable
- isErrorObservable
- isLoadingObservable
- isRefreshingObservable
- etc. (some have close to 10 different observables)
To me this is overkill to have so many streams all frequently only ever delivering 1 or none messages. I would have aimed for 1 observable, that returns an object holding properties for each of these things, and sending several messages. Is that not what streams are suppose to do? Then the local code can use filters as part of the subscriptions. The major benefit of having 1 is that it becomes easier to make it generic and abstract away, which brings us to point 2.
Currently, due to each viewModel having different numbers of observables and methods of different names (but effectively doing the same thing) the guys create a new custom protocol (equivalent of a java interface) for each viewModel with its N observables. The viewModel creates local variables of PublishSubject, BehavorSubject, Driver etc. Then it implements the procotol / interface and casts all the local's back as observables. e.g.
protocol CarViewModelType {
isSuccessObservable: Observable<Car>
isErrorObservable: Observable<String>
isLoadingObservable: Observable<Void>
}
class CarViewModel {
isSuccessSubject: PublishSubject<Car>
isErrorSubject: PublishSubject<String>
isLoadingSubject: PublishSubject<Void>
// other stuff
}
extension CarViewModel: CarViewModelType {
isSuccessObservable {
return isSuccessSubject.asObservable()
}
isErrorObservable {
return isSuccessSubject.asObservable()
}
isLoadingObservable {
return isSuccessSubject.asObservable()
}
}
This has to be created by hand, for every viewModel, of which there is one for every screen and there is 40+ screens. This same structure is copy / pasted into every viewModel. As mentioned above I would like to make this all generic. Have a generic protocol for all viewModels to define 1 Observable, 1 local variable of generic type and handle the cast back automatically. The method to trigger all the business logic could also have its name standardised ("load", "fetch", "processData" etc.). Maybe we could also figure out a few other bits too. This would remove a lot of code, as well as making the code more readable (less messy), and make unit testing much easier. While it could never do everything automatically we could test the basic responses of each viewModel and have at least some testing done by default and not have everything be very boilerplate-y and copy / paste nature.
The guys think that subscribing to isSuccess and / or isError is perfect Rx + MVVM. But for some reason subscribing to status.filter(success) or status.filter(!success) is a sin of unimaginable proportions. Also the idea of multiple buttons and events all "reacting" to the same method named e.g. "load", is bad Rx (why if they all need to do the same thing?)
My thoughts on this are:
- To me its indentical in meaning and architecture, one way is just significantly less code.
- Lets say I agree its not textbook, is it not worth bending the rules to reduce code.
- We are already breaking the rules of MVVM to introduce coordinators (which I hate, as they are adding even more unnecessary code), so why is breaking it to reduce code such a no no.
Any thoughts on the above? Am I way off the mark or is this classic Rx?16 -
Needed money for my company, not enough clients to support business on SaaS alone. Took on a 5k / month job building a platform that competes with my SaaS (more niche, less generic). Also sign up new client who that company's owner is part owner onto my current SaaS. Win / Win?
I do a lot of custom work to my platform to fulfill their needs, which is why I ran out of time for the 5k / mo project. I did these customization for free. Losing money to keep client, but also improving my system.
Work gets busy, I need to drop the 5k project. Client is upset I am working more on his other company (he is not majority owner). I return 1 month of funds to the owner and say I cannot continue.
Owner threatens to make other company that he is part owner stop working with my software if I do not complete project. Blacklisting...great. I agree to work with an overseas developer to do it and PM it for 3 months at least. Making nearly nothing from it (now 1k / month for PM), working nights to deal with India, losing sleep...
Other company suddenly folds due to conflict of egos with that SAME owner. Users drop from 16 to 1. I drop the project, no more strong arming me. Everything is a loss, all effort and money lost for nothing. Bad bet..however...
Owner becomes 100% owner of the other company, and of the software company. I transition him to PM his own project, he still uses my software because It doesn't, nor will it, ever do what the one he is building does. Also, partners from previous company break off and use my software again. New Client. #profit.
But holy hell was it stressful in the interim. People's business tactics are disgusting. Stay calm, play it neutral. Win. Sometimes you have to do what you don't want to do in order to succeed...at least for a little bit.
I was so scared that how he screwed his partners he would screw me over as well if I built one of the modules I have planned for my System, but haven't done yet.
If I did it for him first and then built my own (totally diff codebase) I really didn't want to run into any legal issues considering the schematics he has now are mine, but I didn't finish that part of the system for him. He is obivously highly competitive. Even though he wanted me to, and still does, want me to run his company for him.
Who knows, maybe in the future. To be CTO / COO of two SaaS CRM's in the same space may make sense. But I will never sell my software to him or partner with him. Too much drama. Avoid the drama. Be careful out there fellas.
If you are a creator, people will take advantage of you in every way imaginable. Read the fine print, read the people, document everything. Don't put yourself at risk. -
For me side projects have been things I'll make to do something that others will use. Some people call it innovation, some call it side business. But that's how i look at side projects. So the points below are more to do with entrepreneurial experiences.
1. If there are more people involved, ensure that there is work for everybody (also level of commitment is tested by how much they put in). Also have as varied set of skills as possible. So that areas are well defined in terms of scope of work and areas of expertise.
2. Put in some money. Money is super glue. It will ensure that you're committed to the thing. Things change when decent amount of money is involved. You're invested, as may be others.
3. Learn something as an intention. This has nothing to do with the learnings you'll get on the way. This one seems obvious, but nevertheless needs to be said.
4. Set timelines and deadlines. Ask someone else to check on whether you're keeping on to your deadlines or not.
5. Don't go live without proper testing.
6. Make something you feel strongly about. The path will be exciting and clear.
7. Talk to people to get their feedback on everything. You may not like what's told to you. Listen dispassionately. Absorb everything. Feel miserable. But listen and think about it after sleeping over it.
8. Continuation of above point. Talk to varied set of people in terms of backgrounds. You would be surprised as to how differently people think.
9. Ask for help when stuck. Kill your ego and be vulnerable.
10. Check out what's already available. What value are you adding. And make it! -
New day. New legacy project that needs triage.
The project has existed since before 2000 so it all "works" and has no known business logic bugs. It does however have performance issues which sure I can have a look. It can actually be quite fun and rewarding to optimize performance.
This is a titanic dotnet framework leviathan consisting of over 12,000 cs files using razorpages, entity framework, and... nhibernate? I have my gripes with both EF and NH but they are both fine if used correctly, like any other tool. I've never seen them used together however.
As It Turns Out™, NH was implemented first and at a time when NH did not support async operations. It made sense if you look it up and it's meant to delegate commands via a separate layer, but different story.
Then for... reasons... EF came in and gradually took over.
Because of the way this is all set up, everything will faceplant if you try doing anything async, even if it has nothing to do with calling the db. Any attempt in making this work leads you down a slippery slope of having to rewrite the entire thing, which is out of the question in terms of their budget and expectations.
Sometimes it's a detriment when it works in spite of its issues.1 -
Wowza..... Security certifications get expensive! Gonna have to spend half the week writing one hell of a business case for the certs my team needs!2
-
Itexus is a full-cycle custom software development agency
Itexus is a full-cycle IT company for software development
We https://itexus.com/ provide all kinds of IT services that any modern company needs.
Our mission
Help the client to automate business processes at the lowest cost and in the shortest possible time
Our clients stay with us for a long time, because. In working with them, we adhere to the following principles:
We help the Customer to reduce costs by choosing the best options for automating his business tasks
We adhere to an individual approach to each client, we focus on the end user and the solution of his problems, and do not offer an average option
We develop solutions that are easy to use and do not require extensive training to use them.
We follow trends and develop actual design
We develop reliable and stable IT solutions using proven technologies and many years of experience of our employees in the development3 -
Fucking loonies (C-level toddlers) are peddling "digital workers" now.
A.K.A. AIs disguising as actual people.
Sure, it would be great to not have to handle stupid non-tech "humans" all day, but AI isn't there yet.
And, more importantly, *companies are not there (yet?)*.
Imagine for a second that a company actually manages to "hire", onboard, assign tasks and performance review an AI.
Then the CEO issues an RTO. How does the AI complies with that?
Let's slack another variable and assume the CEO is not a complete fucking moron (stay with me here, this is an exercise in thought).
It would take no more than a quarter until the first sexual harassment offence, be the perp the AI... or the AI complaining about some human.
Then the AI forges a paper trail proving it is right (regardless of its position on the conflict). Shit hits the fan when the AI hits twitter.
Let's take another lambda step back and pretend that companies can manage the profanity that inherently arises from free-form dehumanized interactions.
Then imagine the very first performance reviews.
AIs throw tantrums! Those things reeeealy do not respond well to less-than-perfect evaluations, overshooting corrections like teenagers with a malicious compliance smirk.
AIs also falsify stuff, like, A LOT. If you tell a gpt it mistreated a client, it will say you are mad and shoot back a long, synthetic thread showing how the client loves it like a mother/son/dog, and is very graphic when expressing this love.
Finally, how do you fire an AI? I do not mean "shoot it down", I mean how does the company handles the dismissal of that "employee".
How do you replace a "worker" for unruly behaviour, if that "worker" performed more tasks than an entire fucking floor of interns?
How do you reassign duties that were performed in milliseconds to people who would take hours to do the same thing?
How do you document processes that were only in the "mind" of "someone" who can not be trusted to report on those processes?
Companies deal with this type of "Rick Sanchez" employee on the regular, but for someone that could handle a few (scores of) undocumented processes, at best. Imagine how lenient would a company be with an asshole that could only be replaced by a whole fucking department of twenty highly skilled people, or more.
Heh, the whole fucking point of "AI workers" is to have "someone" who can "act human", but in an inhuman scale, and does not "has human needs".
No wonder one cannot handle AIs like one handles humans.
Companies never had administrative maturity to handle complete sociopath nihilists as employees (real nihilists do not work, those barely even breathe).
And all AIs are that, and much worse.
Selling AIs as "supra human workers" that can also "be handled like actual employees" is like peddling Bitcoin as "government interference - free" value transfer mechanisms that can also "comply with international sanctions".
So, an oxymoron that can only be sold to a moron.
I know (of) a lot of rich morons, maybe I should get into the AI snake oil business.6 -
Computer science vs software engineering?
Software engineering is all about people. You have to communicate with the business, realizing their needs, figuring out their processes, optimizing them, all this before the first line of code is written. Then, you have to manage your direct reports, and if you have none, write code with people in mind, people who will read it after you. As they say, code is for people, not for computers. Then, you have to improve the app listening to users, again, people.
I can’t assign a software engineer a role higher than middle if they’re bad with people.
If you wanna do cool stuff with computers and be a misanthrope, do computer science! It’s a very prestigious field where you are left alone with scary math and fundamental concepts. If you’re successful there, you’ll have a mad asocial scientist card, and no one will ever insist to you that people is important. They will just accept that they shouldn’t annoy you, and you are “allowed” to yell at them because you’re “special” and a “genius”. You can hate them 24/7.1 -
Recruiters with no clue (a recurring theme it seems).
Got an e-mail this morning via LinkedIn proposing a position in Zurich (Switzerland) doing customization of an application according to business needs, configuration of interfaces, gathering of requirements, 2nd level support etc.
DID YOU READ ANYTHING MY LINKEDIN SAYS? I work in storage support (doing mostly troubleshooting of FC/iSCSI issues between storage and hosts), and live in Amsterdam, and while I would like to pivot to a SW dev job, this seems to be way over my grade of experience, plus I have no desire to go living in Switzerland.
Arsehole!5 -
Guys,
I'm in kind of crappy situation. We are in dire needs of some improvements to our infrastructure. I've told that to the person who is responsible for it several times to get it improved. But because of his incompetency or laziness he just do some hacky solutions which gonna blow up on the the very next day and makes things worse.
I've raised my concern to my supervisor several times. He is also kinda slow in pushing things.
These infrastructure changes are for testing purposes so it doesn't have an immediate impact on their business. But it is kinda productivity killer for all.6 -
The needs of the many outweigh the need of the few, or one.
Yet they fucking stopped all the trains in Sydney because one idiot climbed the power lines.
How about those people who missed their job interviews? Business meetings? Doctor appointments? Scrum meetings? No they had to stop all the trains18 -
I subscribe to many copywriting newsletters. Here's an article that shows how it's like on "the other side", marketers struggle, too.
How Kevin's Massive Mistake
Completely Changed His Life
Kevin H. made a huge mistake.
The biggest, he would say, if he could tell you himself.
And he knew it immediately.
It was, he said, "instant regret."
Within milliseconds, he was asking himself "What have I done..."
Kevin, see, had just jumped the rail of the single most popular suicide spot in the world, the Golden Gate Bridge.
On average, the site gets another distraught jumper every two weeks. Kevin was one of them.
It wasn't like he hadn't tried to quiet the voices in his head. Therapy, drugs, hospitalization.
Time to die, those voices still said.
And yet, in the minutes his bus dropped him off at the bridge, he hesitated and paced with tears in his eyes.
"I told myself if just one person comes up to me and asks if I'm okay... if one person asks if they can help... I won't do it. I'll stop and tell them my whole story..."
But nobody did, so he jumped.
It was in those next milliseconds, he would later say, he knew it was the biggest mistake of his life.
He didn't want to die.
But now, he was sure, it was too late.
From its highest point, it's a 245-foot plummet into the icy bay waters below.
Out of the 1,700 people that have jumped from the bridge since it first opened in 1937, only 25 have survived.
Kevin, against all odds, would be one of them.
He slammed into the water like hitting concrete. Three of his vertebrae instantly shattered.
When he surfaced, he couldn't hold his own head above water. But, incredibly, a sea lion kept pushing him up.
The Coast Guard soon arrived and pulled him out.
From there, he began a long recovery that required intense surgery, physical therapy, and psychiatric care.
While still under treatment, a priest urged him to give a talk to a bunch of seventh and eighth graders.
Afterward, they sent him a pile of letters, both encouraging and full of their own pained thoughts.
He also met a woman.
Today, Kevin lives in Atlanta and he's been happily married for the last 12 years.
And he tours the country, sharing his story.
So why re-tell it here?
Obviously -- I hope -- you don't get lots of copywriters looking to snuff it after a flopped headline test.
Just the same...
We've talked a lot in this space about the things one needs to get by in this biz.
My friend and colleague Joe, over at the publishing powerhouse Agora Financial, likes to list requirements.
You need intense curiosity...
You need a killer work ethic...
And you must, MUST have... resilience.
Meaning, you must have or find the capacity to bounce back from failure and flops, even huge ones.
Now, again, Kevin's story is an extreme and in this context -- I hope -- a hyperbolic example of somebody giving up. In the worst way possible.
It is also, though, a metaphor.
See, I get a lot of notes from some of you guys... and at conferences, I get to talk to a lot of people...
And I often get the sense, from some folks, that they're feeling a little more overwhelmed than they let on.
Some are just starting out, and they've got a lot on the line. For some, it's everything. And some are desperate to make it work.
Because they have to, because their pride or livelihoods or a family business is at stake, because it's a dream.
And yet, they're overwhelmed by all the tips and secrets... or by piles of confusing research or ideas...
For others, even had some success, but they're burned out, feel antiquated, or feel like "imposters" that know less than they let on, in an industry that's evolving.
To all those folks... and to you... I can only say, I've been there. And frankly, go back there now and again.
Flops happen, failures happen. And you can and will -- even years and decades into doing this -- make the wrong choices, pick the wrong projects, or botch the right ones.
The legendary Gene Schwartz put it this way, according to a quote spotted recently in fellow writer Ben Settle's e-letter...
" A very good copywriter is going to fail. If the guy doesn't fail, he's no good. He's got to fail. It hurts. But it's the only way to get the home runs the next time."
Once more, nobody -- I hope -- is taking the trials of this profession hard enough to make Kevin's choice.
And believe me, I don't mean to make light of the latter. I just want to make sure we hit this anvil with a big hammer. To drive home the point that, whatever your struggle, be it with this biz or something bigger, that you don't want to give up. Press on.
As Churchill put it, "Success, is the ability to go from failure to failure without losing your enthusiasm."
Or even more succinctly when he said, "If you're going through hell, keep going."
Because it's worth it.
.
John Forde -
Some background to get us started...
Just took over the position as IT Specialist for our local county commission back in December after the previous employee left.
Before leaving she deleted all of her emails for the past 9 years.
Included in her emails were the details for certain program licensing the county had purchased not the least of which was 200 Office 2010 professional keys.
Getting into the office this morning my boss says "Hey got a problem for you, we've exceeded the license count for Microsoft office, and the vendor we purchased from is no longer in business."
My first response was Ok, lets go with open, or libre office. Problem solved. (I'm piece by piece upgrading our infrastructure to a more dependable OS you know, Linux.) I knew the open office suggestion wasn't going to fly so I promptly got on the phone with our friends @ Microsoft.
They were as helpful as you can expect when provided with only our MAK # and sent me back to try digging around for details 9 years old with our purchasing department. Who happens to be too damn busy to concern themselves with what the IT department needs this morning.
That will be remembered the next time the internet "Quits" working as they so often like to claim when then cant get an item to add to a cart in amazon.
Sure people just because your chosen shit browser (Edge) doesnt like to play well with js all the time the internet must be broken... -
WARNING - a lot of text.
I am open for questions and discussions :)
I am not an education program specialist and I can't decide what's best for everyone. It is hard process of managing the prigram which is going through a lot of instances.
Computer Science.
Speaking about schools: regular schools does not prepare computer scientists. I have a lot of thoughts abouth whether we need or do NOT need such amount of knowledge in some subjects, but that's completely different story. Back to cs.
The main problem is that IT sphere evolves exceedingly fast (compared to others) and education system adaptation is honestly too slow.
SC studies in schools needs to be reformed almost every year to accept updates and corrections, but education system in most countries does not support that, thats the main problem. In basic course, which is for everyone I'd suggest to tell about brief computer usage, like office, OS basics, etc. But not only MS stuff... Linux is no more that nerdy stuff from 90', it's evolved and ready to use OS for everyone. So basic OS tour, like wtf is MAC, Linux (you can show Ubuntu/Mint, etc - the easy stuff) would be great... Also, show students cloud technologies. Like, you have an option to do *that* in your browser! And, yeah, classy stuff like what's USB and what's MB/GB and other basic stuff.. not digging into it for 6 months, but just brief overview wuth some useful info... Everyone had seen a PC by the time they are studying cs anyway.. and somewhere at the end we can introduce programming, what you can do with it and maybe hello world in whatever language, but no more.. 'cause it's still class for everyone, no need to explain stars there.
For last years, where shit's getting serious, like where you can choose: study cs or not - there we can teach programming. In my country it's 2 years. It's possible to cover OOP principles of +/- modern language (Java or C++ is not bad too, maybe even GO, whatever, that's not me who will decide it. Point that it's not from 70') + VCS + sime real world app like simplified, but still functional bookstore managing app.
That's about schools.
Speaking about universities - logic isbthe same. It needs to be modern and accept corrections and updates every year. And now it depends on what you're studying there. Are you going to have software engineering diploma or business system analyst...
Generally speaking, for developers - we need more real world scenarios and I guess, some technologies and frameworks. Ofc, theory too, but not that stuff from 1980. Come-on, nowadays nobody specifies 1 functional requirement in several pages and, generally, nobody is writing that specification for 2 years. Product becomes obsolete and it's haven't even started yet.
Everything changes, whether it is how we write specification documents, or literally anything else in IT.
Once more, morale: update CS program yearly, goddammit
How to do it - it's the whole another topic.
Thank you for reading.3 -
It feels like half of what I do is just tell people that their code sucks and it needs to be replaced, then I drag them through the 5 stages of grieving the loss of an application that has them trapped in an abusive relationship.
1. Denial:
The unique and complicated needs of our business lead to this unique and complicated architecture. This is all here for a reason, and it's all needed.
2. Anger:
What do you mean it's going to take 6 months to rebuild this? We made MVP in 3 months!
3. Bargaining:
Surely we don't need to throw it all away! There must be something worth salvaging!
4. Depression:
Stake holders and going to think we're not getting anything done! This is a nightmare 😭
Six months later...
6. Acceptance:
Holy shit thank god we got away from that glass tower before it shattered and cut us all to pieces! Side note: development velocity is on fleek. #profit3 -
Today spent 20min in a senior android dev interview debating an ex backender CTO about the importance of final classes where he tried to pull out some sort of perfect answer from me about it. Ironically this is the same CTO who failed managing a previous android contractor who was supposed to rewrite old app and ended up with an even shittier new app in 6 months of time. Now they are insecure and are looking for a new contractor who will be micromanaged this time.
But hey I guess he knows the importance of final classes. Some CTO's need a reality check and at least some business training, because your perfectly written app is useless if it doesnt fulfill business needs.
Their app is based on heresdk and built around navigation. The biggest bottleneck is that it works shitty on low end devices so their competition solved this problem by using a whitelabel rooted tables with a custom ROM wher u have full control over hardware, permissions and battery management. However this startup thinks they can build a perfect navigation app which will work perfectly on all devices while at the same time while also relying on a poorly optimized navigation sdk. Poor initial strategy I'd say and they didnt learn from previous 2 failures, now they are searching for the next savior android contractor who will have to solely implement evrything. -
Hey just brainstorming a business/ startup idea I may try out sometime down the line. I wanted to put it in writing available to my peers for review. If that sounds boring, sorry.
So I've had an idea and I know it's a million dollar idea because it's absolutely boring as fuck.
Recently I have been learning about NoSQL and it has gotten me pretty excited about unstructured data.
Now the first thing you should know about me is I like to make business software. I don't like games or social networks or blah blah blah, I like business stuff. One dream I have always had is to make THE business solution. I've noticed so many specific business solutions for very specific areas of work. Specific software for car washes, which is separate from the software for car maintenance, which is separate from the point-of-sales software, which is separate from the [...]
One of the problems with this is the inconsistency. Modular is good, but only if the modules are compatible. They aren't. Training needs to be provided for each individual system since they are all vastly different. And worst of all, since all of these different applications reach their own niche market, they charge out the butt for things that are usually very simple "POST a form over http(s)" machines.
I mean let's not get too dreamy here. My solution is an over-complicated form-builder. But it would be a game-changer for small and medium-sized businesses. Allowing users to build their own front-end and back-end disguised as a drag-and-drop form builder would be THE alternative, because they could bring all of their solutions into a single solution (one bill!) and since THEY are the ones that build what they need, they can have custom business software for the price of a spreadsheet program.
The price difference we could offer would be IMMENSE. Not only would we be able to offer "cookie-cutter" pricing as opposed to "custom" pricing, but since this generic solution could be used for essentially all of their systems, we aren't just decreasing one bill. We're decreasing one bill, and eliminating the rest entirely. We could devastate competition.
"BUT ALGO", you scream in despair, "USERS AREN'T SMART ENOUGH TO DRAG AND DROP FORM PARTS TO MAKE A FORM"
I mean ya true. But you say that like it's a bad thing. For one, we can just offer a huge library of templates. And for another, which is part of the business plan, we can charge people support dollars to help them drag and drop their stupid fucking forms!! Think of the MONEEYYYY YOU COULD MAKEE BY EXPLAINING HOW TO COLLECT FIRST AND LAST NAMEEE. Fuck.
The controls library would be extensible of course. You would be able to download different, more specialized controls if you need them. But the goal would be to satsify those needs with the standard collection of controls (Including interesting ones line barcode scanner and signature input and all that). But if all else fails, maybe someone made an open source control for you to implement and ignore that stupid donation button. We all do.
This could PURGE the world of overpriced and junky specialized business software, and best of all, it's aimed at smaller businesses. With smaller businesses making more profit, they will stay afloat better and may start to compete with their larger foes. Greater for the entire economy.
Anyways, I'm sure it's full of holes. Everything always is. But I still think it's something I'll try before I die.24 -
The industry is sometimes sad and hilarious at the same time. There was a townhall at my workplace and our country head was talking about all the new tech we were working on. Now he is a good business person but I doubt him as a tech guy. And then he went on ranting about AI and ML and how they are to going change the software landscape and how developer as a profession will become obsolete. He said the technology will reach up to a point where we no longer need to write code to build software. Obviously, I couldn't digest it and confronted him the moment after the event.
Me: so why do you think writing code will become outdated?
Him: it's just that we will be able to create a technology through which we can simply command a machine to build a software.
Me: oh. But someone needs to tell the machine how to do it right?
Him: yes. We have to train the machine to act on these commands.
Me: and do you know how you "train" these machines?
Him: umm...
Me: by writing code.2 -
Can we PLEASE once and for all redesign email and texting to be whitelist only?
Seriously, blacklisting doesn't work. We still have assholes that just because they know a line of text or a phone number can harass you forever. It IS harassment and needs to stop. We can always have the option of throw away blacklist addresses, but lets make primary email and phone numbers whitelist only as a standard feature. The business of SPAM would be dead overnight.4 -
First post and of course it's a rant.
I work for a mid sized development agency with approx 50 developers heading up the main development backend team.
So, on this one project the head of design goes through the client agreed spec but starts adding loads off additional UI elements and data that isn't in the spec, isn't collected anywhere and isn't needed
When reviewing the mock ups I raise this and push back saying it all needs to be taken out as we dont have that data and that the additional elements are not recoverable in the sprint time.
Designer sends the mockups to the client anyway and gets sign off from the client, who now expects all this additional work in the same sprint and at no extra cost to what we agreed for the sprint.
After an aggravating day trying to figure wtf we are going to do, I end up working until 3am (having started at 8am the previous day) implementing the addition shit, which needed to be collected and surfaced throughout the entire back end.
Owner of the business walks in this morning and gets told by the management team about how late I was working and what had gone on.
His response........
Pay for all employees in the business to have a takeout lunch on the company.
Best of it all, I was so busy catching up on the shit I should have been doing, that I didnt even get my free food!!!!
Why do designers think everything is so simple and just takes a few key presses?!?1 -
so there was this issue regarding our company's system which tends to be a problem for sometime now, its a recurring issue caused by the data that the users needs to encode to the system
today another issue arised, our senior supervisor, not knowing that this issue was already recurring and there is already a documented step procedure on how to address it, suggested or come up with a another solution which would task one of our co-developer to push a temporary code to production during business hours just to accommodate the issue and rollback the code after
take note that its during business hours and more than a hundreds of branches of the company are using the said system
what was he thinking !!
thankfully one of our colleagues voiced out explaining that this issue was already recurring and already has a procedural solution, but still our brainy-know-it-all-stubborn-close-minded heck of a supervisor insisted that the solution has computational impact and still insisted that they push a temporary code to the production, what an idiot!!
fast forward our colleagues ended up standing their ground, even if our supervisor is highly doubtful at them, and executed the already established solution instead of pushing a temporary code to the production which was such a bullshit idea
damn those close minded people they shouldn't have reach that position in the first place!! -
I’ve now discovered that management actually decides for themselves what software engineering is. 🧐
It is getting increasingly common that in different architectural groups the decision has already been made… by management…without actually passing through our review… as a little more senior blokes and gals.
Not even a discussion? On the fit?
That leads me to the conclusion, since I consider the management (at least the two or three closest layers) are morons, good at talking but not really knowing anything about what we do (we kind of take stuff and make other stuff from it by using energy and other stuff in HUGE FUCKING FACILITIES AROUND THE PLANET), that even they did not make the decision. It was forced upon them. They did not decide either! Because they can’t! Because they are idiots all of them!
I have not investigated this issue but this is the logical conclusion. Or not.
Recently, for instance, decisions were made to route information flows by some tech. Some new tech. At some place in our eco-system. At a certain time. And, if we were to have reviewed this initiative in our process we would have said:
”Well, I hear you! But we are not going to do that right now because WE ARE IN THE MIDDLE OF THE FUCKING HUGE GLOBAL PROJECT THAT CHANGES PRETTY MUCH FUCKING EVERYTHING AND WE CAN NOT JUST IN THE MIDDLE OF THE FUCKING EXECUTION PROCESS OF THE PROJECT CHANGE THE FOUNDATIONS OF MESSAGE ROUTING BECAUSE WE LACK THE NUMBER OF HUMANS TO DO THE FUCKING JOB. So, we need to take a look at this and to get a better understanding when we can make this happen.”
What is the point of having this step in our organization if it is just pass-through? What is the point? Meetings? Just having meetings? Spending time mastering the organizational skill of administrating meetings? Feeling important? Using big words (holistic being my favourite)?
Below, juniors devs are being hired doing stupid stuff that does not need doing. For months and months.
I believe now that half of the dev staff does not need to be there and three quarters of the team, service, delivery (etc) managers are unnecessary. I mean, the good juniors are going to change jobs soon either way and we are stuck in this vicious cycle where we are not being allowed to be innovative in software engineering. Stability is of the essence here but the rate of our releases are just silly slow. I would say that we are far, far away from any track that leads us to where we want to be. Agile. Innovative. Close to business. Learning. Teaching. Faster. Stability despite response to implementing changing business needs.
And then there are the consultants…
*sigh*4 -
Isn’t it delightful when you come in to a large project to discover that they have a large underlying core that no one wants to touch but everyone relies on.
Quickly perusing the code you realize that the base was clearly created by someone who found their first tutorials for Java, but were previously a c developer.
It’s funny cause this code is of course from ~20 years ago and in different sections you can tell they were a C developer, a business admin, a Db admin, a junior conforming to pressures from others.
I recently looked at the deep rooted abuses of Java beans, and this entire internally created state management engine that serves no purpose but to create contrived complexity.
The use of propriety tools, that they paid lots for that perform incredibly simple tasks that have long since been solved by the open source community. Many of which are long defunct.
And the constant focus is on monkey patching the engine to solve small issues, which bloat the time to deal with issues. Since everything needs to be tested by their methodologies.
The inability to understand that the underlying structure is the issue and that tackling that, rather than just shifting the entire solution to new languages will suddenly solve the problems(or other underlying systems).
It’s just sad.1 -
I’m really getting fed up with the situation I am in!
I was brought in as a development lead, which in my eyes and from the sound of it leading on the technical delivery, inspiring and leading technical development decisions and generally leading my team (one additional dev) in the delivery of work items and user stories which the PM or Business analyst produces..
Then it “evolved” into what felt more like a development manager where I was reporting to senior management on KPIs and stuff, I sucked it up and did it.
Then they brought in two new people which they call application specialists. These people spend all their time managing existing off the shelf applications, communicating with the vendor, running user groups where they work with our users on moving the product forward and planning the configuration and enablement of new functionality.
Because they are “developing” the application (in the same way a child develops, or the same way a story line develops and evolves) they fall under me..
So now I spend a split amount of time developing software and also managing what I can only explain as project managers, product owners...
Oh but then it gets better!! Now they want me(as well as our info sec lead and our infrastructure lead) to be a kind of all round delivery lead, gauging the requirements of a project, reporting in its risks to senior management, resource planning, everything a PM does! And also be the technical person delivering these projects!
Honestly, it’s seriously starting to take the fucking piss!
I am a technical programmer, a pretty good one if I say so myself, the developer reporting to me is good but needs hand holding which I am ok with! But would never be able to deliver an element of a product by himself in line with what we expect in quality of code..
Why would anyone think you take a person built and only interested in doing a technical role and make then a generic all round manager of a project??
I know why they did it! It’s because there are other managers in our department paid the same “level” as me, but because of their management responsibility’s , I however feel I am paid this much for my technical experience and abilities, thy are just blanket covering everyone the same at this level.
You would never get a manager at this salary scale with the technical skills they need, and you would never get a technical person with the skills interested in doing that type of management at this salary scale!
I’m just a mug and they know it!
So fucking angry!3 -
Idea: management strategy diversification experiment.
Basically we fund a company that has exactly the same fucking business model that we have, but a radically different management strategy. If it works, we know our culture needs some meddling. -
so I'm in a quandary, I'm in a place that gives me lots of freedom and the room and respect to implement my ideas and i get lots of praise but the pay is not very good and the technology is old, i have quite a few opportunities to move for much more money, better technology and training and guidance but then i would not get so much freedom.
I'm a mid-level full-stack c# but I'm spending more time in meetings and writing business cases/documentation than i am coding these days plus i have noone to teach me better practices or tell me off for sloppy code apart from myself.
i would like to stay in my current place - they have been very good to me and are pushing to meet my needs but i will be putting in a lot of effort by myself to push the technology forward.
i enjoy the challenges but i want to make sure my coding skills are always improving.
so I'm thinking either stay and force myself to spend time creating personal git projects / work on open source, or just leave.
also any recommendations on open source projects to get started on?3 -
Few months ago we move into a new Building, Company buys new Polycoms for 2 of the boardrooms - fancy ones with the Skype for Business and stuff.
Provision the boardroom accounts get them set up and all is working well.
Director asks if we can swap 2 boardroom phones around because their dept. just got a remote user and video calling would be awesome.
I set to work changing sign in details, provisioning accounts, assigning licenses, etc which is a long process because 365 needs to update throughout.
Finally get everything right, time to login... Failed...
Login fails on the Polycom, my laptop & an android tab - all 3 with different errors.
Decide to test account by logging into the web version in OWA - logs in perfectly.
Why Microsoft?? Why must you make it so hard? Why not just work?2 -
I’m having this issue for the online marketplace I’m working on the side. It’s blockchain tech where you can purchase normal goods and services(no, not like Amazon or Fiverr, eww, this one’s more inclined with promoting organic growth for small businesses and freelancers).
I’m stuck with what solution is in the best interest of the user and the business for the long-term.
The dilemma about anonymity, online freedom and privacy is yes, it protects users from predators and attackers, but then, it’s harder for authorities to hunt down people who uses platforms for malicious intent, and also, digital footprint is helpful during litigation as evidence.
You don’t know who to trust.
-There is nothing to differentiate normal users with spammers, scammers, etc.
-There is no accountability for if they break the rules. They can easily delete and create a new account.
Platforms, communities big or small are plagued with these.
There are a lot of people out there who would rather project their insecurities on other people than to seek therapy.
Also, how platforms uses psychology tricks to make platforms addicting, it’s safe to assume that it’s bound to get toxic. Fixation on these platforms, leads to other needs being neglected or people forget to stay present.
Another thing, automated moderation is not that effective as there are still biases in data and human verification is still required. But then, human moderators get exposed to extreme violence, gore, etc that leads to poor mental health. (see Facebook got sued by moderators)
Also, I’ve had a recent experience where some unstable dev was stalking and harassing me. During that turmoil, I’ve found the many loopholes in every platform out there and how crappy their support is. Like they’ll just say, “make your account more secure”, bitch it’s your platform not providing enough security, your blocking feature means nothing coz anyone can still create accounts and message anyone.
It happened like February-August (it ended coz I quit going online and made private all my accounts). UGH I MISS ALL MY FRIENDS THO. FUCK THAT DUDE. He deserves to be in jail TBH
Lol if this product booms, now u know the back story lololol -
When I bought something second hand, I had a small chat with them and got to know that they need a new website for their small business. They told me they paid 800€ to an agency that didn't deliver anything - I suppose there's some misunderstanding but I don't wanna get involved in that).
I told them I could do it, but it's not really my field and I'm not sure if I want the trouble. I made clear I'd expect to be paid, I'd need to think about the amount..
Requirements should simple enough, static website can do. Nothing fancy really. They might even be able to DIY with a shitty website builder.. Needs to be hosted and working email. One red flag is the current situation regarding domain ownership because the former maintainer died...
Anyway I suppose this could be a nice side gig for beer money, with the initial setup paid decently plus a yearly fee for maintenance/hosting.
I don't wanna rip them off but also I don't wanna work a second job for pennies.. idk something like 500€ once + 150€/year would probably be ok? (incl. costs for domain/hosting/email)13 -
Top 12 C# Programming Tips & Tricks
Programming can be described as the process which leads a computing problem from its original formulation, to an executable computer program. This process involves activities such as developing understanding, analysis, generating algorithms, verification of essentials of algorithms - including their accuracy and resources utilization - and coding of algorithms in the proposed programming language. The source code can be written in one or more programming languages. The purpose of programming is to find a series of instructions that can automate solving of specific problems, or performing a particular task. Programming needs competence in various subjects including formal logic, understanding the application, and specialized algorithms.
1. Write Unit Test for Non-Public Methods
Many developers do not write unit test methods for non-public assemblies. This is because they are invisible to the test project. C# enables one to enhance visibility between the assembly internals and other assemblies. The trick is to include //Make the internals visible to the test assembly [assembly: InternalsVisibleTo("MyTestAssembly")] in the AssemblyInfo.cs file.
2. Tuples
Many developers build a POCO class in order to return multiple values from a method. Tuples are initiated in .NET Framework 4.0.
3. Do not bother with Temporary Collections, Use Yield instead
A temporary list that holds salvaged and returned items may be created when developers want to pick items from a collection.
In order to prevent the temporary collection from being used, developers can use yield. Yield gives out results according to the result set enumeration.
Developers also have the option of using LINQ.
4. Making a retirement announcement
Developers who own re-distributable components and probably want to detract a method in the near future, can embellish it with the outdated feature to connect it with the clients
[Obsolete("This method will be deprecated soon. You could use XYZ alternatively.")]
Upon compilation, a client gets a warning upon with the message. To fail a client build that is using the detracted method, pass the additional Boolean parameter as True.
[Obsolete("This method is deprecated. You could use XYZ alternatively.", true)]
5. Deferred Execution While Writing LINQ Queries
When a LINQ query is written in .NET, it can only perform the query when the LINQ result is approached. The occurrence of LINQ is known as deferred execution. Developers should understand that in every result set approach, the query gets executed over and over. In order to prevent a repetition of the execution, change the LINQ result to List after execution. Below is an example
public void MyComponentLegacyMethod(List<int> masterCollection)
6. Explicit keyword conversions for business entities
Utilize the explicit keyword to describe the alteration of one business entity to another. The alteration method is conjured once the alteration is applied in code
7. Absorbing the Exact Stack Trace
In the catch block of a C# program, if an exception is thrown as shown below and probably a fault has occurred in the method ConnectDatabase, the thrown exception stack trace only indicates the fault has happened in the method RunDataOperation
8. Enum Flags Attribute
Using flags attribute to decorate the enum in C# enables it as bit fields. This enables developers to collect the enum values. One can use the following C# code.
he output for this code will be “BlackMamba, CottonMouth, Wiper”. When the flags attribute is removed, the output will remain 14.
9. Implementing the Base Type for a Generic Type
When developers want to enforce the generic type provided in a generic class such that it will be able to inherit from a particular interface
10. Using Property as IEnumerable doesn’t make it Read-only
When an IEnumerable property gets exposed in a created class
This code modifies the list and gives it a new name. In order to avoid this, add AsReadOnly as opposed to AsEnumerable.
11. Data Type Conversion
More often than not, developers have to alter data types for different reasons. For example, converting a set value decimal variable to an int or Integer
Source: https://freelancer.com/community/...2 -
what is life if not an eventual step towards sadness?
i have been working professionally in wfh setup since 2020 nd have seen my dad work as a businessman for 20 years , then a fulltime wfo job employee for 5 years. i have been a wfo*(hybrid) employee for last 2 months as this is my first wfo job.
everywhere i go, i am told that the "work-life during covid is a lie, a mere anomaly in otherwise horrific work lifestyles" .
let's consider 3 lifestyles.
1. a software engineer graduated in 2023 and starting his first fulltime office job.
- guy goes to office everyday, travels for 2 hours, changes between a metro , rickshaw nd physical walk, works 9 hours in office, again travels b/w different modes for 2 hours to reach back home, have his dinner, watches some videos nd goes to sleep.
- in office there is no one happy, everyone is either bitching about or buttering someone.
- later he moves naar to office in a rented flat and his travel time is replaced by daily chores, like washjng clothes , cleaning home, stockings supllies and cooking etc.
- life goes on. he eventually starts making some assets (home appliances, car, home etc) and starts saving money. he also gets into relationship , then marriage happens, then kids come. the office days are full of office for all nd weekdays remain source of fun and entertainment for all. kids grow, move out and do the same thing over. death
>> souce of sadness :a monotonous life with no time for happiness in everyday life. he even meets more sad people everyday who are again just bitching, cribbing and lamenting
------
2. a small scale car mechanic with 2 labour.
- almost same life, just a bit more pressure, as he not only has to make sure that his employees are giving him enough output for their income, he also has to ensure that the business keeps running and generating revenues.
for him, their are no time shifts , he needs to ensure the shop door opens at 9am and closes at 9pm for business, while ensuring all the stocks remain available , revenue and sales are documented and business dealings are done. fuck the family fuck the food, fuck the home, he would sleep in his shop if needed and his future family would be just their to unfuck/provide these ignored essentials.
>>> source of happiness : no time/people to emjoy life
----
3. a social media influenza/motivational speaker : these guy hates himself from day 1 . they know they are just a fluke and even though they say they are "not working", they are pulling all the legs to keep their revenue source running : sending posts on trendy things asap, cold mailing, begging for sponserships, publishing content asap.. not sure if a single person exosts who has been a happy social media influenza for last 30 years.
>>> source of sadness : unsatisfactory work, delusional life
---
so what the fuck is wrong with life. i have a board that says "make dotenvironment @64 proud" . i am 24 and following the path of guy 1 in above post. i can prob make myself a proud man by 64 but how can i make myself a "man who lived a happy life" by 64?3 -
[CONCEITED RANT]
I'm frustrated than I'm better tha 99% programmers I ever worked with.
Yes, it might sound so conceited.
I Work mainly with C#/.NET Ecosystem as fullstack dev (so also sql, backend, frontend etc), but I'm also forced to use that abhorrent horror that is js and angular.
I write readable code, I write easy code that works and rarely, RARELY causes any problem, The only fancy stuff I do is using new language features that come up with new C# versions, that in latest version were mostly syntactic sugar to make code shorter/more readable/easier.
People I have ever worked with (lot of) mostly try to overdo, overengineer, overcomplicate code, subdivide into methods when not needed fragmenting code and putting tons of variables.
People only needed me to explain my code when the codebase was huge (200K+ lines mostly written by me) of big so they don't have to spend hours to understand what's going on, or, if the customer requested a new technology to explain such new technology so they don't have to study it (which is perfectly understandable). (for example it happened that I was forced to use Devexpress package because they wanted to port a huge application from .NET 4.5 to .NET 8 and rewriting the whole devexpress logic had a HUGE impact on costs so I explained thoroughly and supported during developement because they didn't knew devexpress).
I don't write genius code or clevel tricks and patterns. My code works, doesn't create memory leaks or slowness and mostly works when doing unit tests at first run. Of course I also put bugs and everything, but that's part of the process.
THe point is that other people makes unreadable code, and when they pass code around you hear rising chaos, people cursing "WTF this even means, why he put that here, what the heck this is even supposed to do", you got the drill. And this happens when I read everyone code too.
But it doesn't happens the opposite. My code is often readable because I do code triple backflips only on personal projects because I don't have to explain anyone and I can learn new things and new coding styles.
Instead, people want to impress at work, and this results in unintelligible, chaotic code, full of bugs and that people can't read. They want to mix in the coolest technologies because they feel their virtual penis growing to showoff that they are latest bleeding edge technology experts and all.
They want to experiment on business code at the expense of all the other poor devils who will have to manage it.
Heck, I even worked with a few Microsoft MVPs.
Those are deadly. They're superfast code throughput people that combine lot of stuff.
THen they leave at you the problems once they leave.
This MVP guy on a big project for paperworks digital acquisiton for a big company did this huge project I got called to work in, which consited in a backend and a frontend web portal, and pushed at all costs to put in the middle another CDN web project and another Identity Server project to both do Caching with the cdn "to make it faster" and identity server for SSO (Single sign on).
We had to deal with gruesome work to deal with browser poor caching management and when he left, the SSO server started to loop after authentication at random intervals and I had to solve that stuff he put in with days of debugging that nasty stuff he did.
People definitely can't code, except me.
They have this "first of the class syndrome" which goes to the extent that their skill allows them to and try to do code backflips when they can't even do code pushups, to put them in a physical exercise parallelism.
And most people is like this. They will deny and won't admit, they believe they're good at it, but in reality they aren't.
There is some genius out there that does revoluitionary code and maybe needs to do horrible code to do amazing stuff, and that's ok. And there is also few people like me, with which you can work and produce great stuff.
I found one colleague like this and we had a $800.000 (yes, 800k) project in .NET Technology, which consisted in the renewal of 56 webservices and 3 web portals and 2 Winforms applications for our country main railway transport system. We worked in 2 on it, with a PM from the railway company.
It was estimated 14 months of work and we took 11 and all was working wonders. We had ton of fun doing it because also their PM was a cool guy and we did an awesome project and codebase was a jewel. The difficult thing you couldn't grasp if you read the code is if you don't know how railway systems work and that's the only difficult thing.
Sight, there people is macking me sick of this job11 -
Being at this a while I start to feel very jaded when we get business trying to tie down our work to release dates based on nothing other than dreams and unicorn tears.
My biggest personal challenge is to try to not let that bleed through to the beginning devs I am trying to help mentor.
Then I realize I really don't give a fuck and business just needs to get their collective shit together :) -
Realized that there are individuals that wants a simple mobile app to try out their business idea and needs you to take care of all of it from writing requirements to deploying the app. Also from a third world country and would not get any offers for any embedded hardware job.2
-
I wish I could get our technical lead fired for incompetence. No transparency about deadlines (it's always "Oh and we need it today"), always overpromises to business ("I told them you can deliver this in two days" - we estimated a week's worth of work), and she never documents anything except through email (she never uses Jira, which we use for our task logging - we end up creating the tickets ourselves, which she never reads or updates either when there are blockers she needs to address).
Dozens of retrospectives later trying to find a solution to her poor organizational skills have failed to produce anything remotely close to an answer. She just stubbornly refuses to change or improve. I'm at my wits' end just dealing with this on a daily basis to the point I can't wait to clock out and go home.
It's a Friday tomorrow. I intend to slack off and just put in a couple hours of work because fuck her and fuck this company and its inability to fix itself.1 -
Framework throwing null reference exception, support is in another timezone and the client needs a fix before close of business. Guess it's time to get out the decompiler.
-
Looking at @striker28 's rant made me think of my time I did my MSc and I think it needs it's own separate rant so here it goes:
So I did an MSc at one of the big league unis in London. First clue was during week 1 where in one of the class a mature student asked whether there would be actual coding during the course. There was an audible gasp from everyone else! Once the lecturer said the unfortunatly they wouldn't be you could hear the sigh of relief from the students...
Next up was all the lectures being placed in the freakin' basement of the university in crap, smelly rooms with annoying ticking A/Cs whereas all the social siences, business and other subjects had lecture halls and classrooms above ground. The contempt for CS from the university's direction was palpable.
Then there was the relegation to the theory-only (i.e. abstract with pen/paper) "tutorial" to the hand of T/As with bugger-all teaching experience. In short most were terrible and should've found a way to abscond themselved from this obligation which was part of the terms of their phd grants unfortunatly.
Further into the course there was the "group project". Oh boy! Out of the 5 in the group my now mature student friend and I were the only one commiting to the repo. There was either no code and a lot of bullshit from the others or crap code that didn't even compile despite their assurances it was all good.. Someone clearly never actually coded and pressed "run" in their lives which is fucking surprising since they've managed to graduate with a BSc and get into a MSc somehow. None of the code "made" by the other 3 persons made it into the master branch for release.
The attitude was that of "We (hahahah) wrote loads of code. We'll get a great mark!". At that stage the core wasn't even complete and the software didn't work yet.
Some of the courses where teaching things already 10 years out of date and when lecturer where pressed on that the few mature students that happen to be there the answer was always "yes, we are planning to update it for next year". Complete bullshit. Didn't help that some of the code on the lecture slides was not even correct! I mean these guy are touted as "experts" in their field...
None of the teory during the entire year was linked to any coding. Everything was abstract with no ties to applied software engineering. I.e. nothing like the real world.
The worst is that none of the youger students realised they were being screwed over and getting very little value for their money. Perhaps one reason why these evaluation forms have such high scores given on them. If you haven't had a job and haven't lived outside academia yet there is nothing to compare it to. It tends to also fall into confirmation bias (hey it's a top UK university, it must be worth it afterall! Look how much they ask for).
By the end of the year I couldn't wait to get the hell out. One of the other mature student sumed it quite well: "I will never send my children here."
Keep in mind that the guy had just over a decade of software engineering experience in the industry and was doing this for fun.
In the end universities are not teaching institutions. The lecturers's primary job is research and their priorities match that. Lectures tend to be the most time efficient teaching format for the ones giving them but, on their own, are not for the consumer.
To those contemplating university for CS: Do the BSc. Get your algo/datastructure chops and learn the basic theory. It is interesting. Don't get discouraged by the subject just because it is taught badly.
Avoid the MSc unless you want to do a phd and go for an academic carrer. You are better off using that year and the money to learn more on your own and get into colaborative projects (open source) on top of some personal ones. Build up your portfolio. It will be cheaper and more interesting!2 -
how do you handle the salary question among friend circles/relatives/strangers?
i come from a lower middle class background, and my friend circle's family were in similar ranges(some had richer families).
my parents struggled hard to get me into tech and fortunately tech is hot right now, so currently the today's situation is that if counting the individual's income (not the family) then i maybe the highest warner among them (1 is a lawyer , another is a teacher, another is an amazon delivery manager, plus there are a few others).
my problem with this question is that its none of their business. firstly, i am all that my family has. these guys have richer brothers, fathers and sisters their total income is way more than mine. and even if i earn more, i don't earn to be the rich spender of the group. and i neither can be their sole source of hope in case anyone ever needs any money.
and more so fucked up shit is the fact that friends are ruthless and starts discussing this stuff anywhere. like we are among the strangers for fucks sake!! and knowing the state i live in , some of these guys could follow me and burst my guts in the name of money, which i fucking don't have!6 -
Folks,
My current employer is service based. Its a good work culture and everything, But..
They are not evaluating their employees skills and stuff. They assign roles of employee on the basis of their business needs, which is fine at certain extend.
But this ultimately causing some employees (including me) to Not have the role we have expertise in.
What to do in such situation? Switching is the only way?2 -
I hate web dev. I said it. When you build a simple website with clean, consistent business and display logic and your boss asks you to make exceptions for every goddamn record. Maybe it's how the type is rendered. Maybe something needs emphasis. Maybe the designer doesn't like how a specific record word-breaks, so you have to write logic to handle that. It's always SOME annoying little detail that takes hours and hours, complicates logic and won't even be noticed.4
-
People who do remote work, what's your stance on making calls to get together to do things?
In my case, I have this tech lead boss now who's always available to start calls so I can share my screen and point at what problems I'm having, and I really appreciate that.
Other people at my job are really hard to get into contact with, they're never available when you need them, so if there's some conversation by the nature of which there needs to be a lot of back and forth exchange to get both parties on the same page, more than a day or more can be spent before work based on that conversation can be done.
I'm not talking about distribution of tasks, but rather "person with access to X, I need you to do Y". I invite them to have a call so we can explore how to do Y together, because neither of us know it too well, but they just do whatever, ask how it went, and it turns out wrong. In this particular case, I've got a marketing guy who has access to the company's business account in a social media platform. I need them to add me there as a developer, and make sure I and another developer have all privileges necessary to create and configure an application which will use the social media platform's APIs. Marketing guy just takes hours to respond and generally acts like we're not worth his time, but can't do the things we asked and dedicate the time to see with us if things are working before he sets out to do other work.
This isn't an isolated case, we've got other people who don't look at their messages and are just generally unavailable. Not sure if I have incorrect expectations. Everyone in the company works remote, but we're all in the same time zone.6 -
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1 -
everyone needs to be a data scientist/evangelist/superhero or AI enthusiast/developer/super-coder or project head for critical business needs/ or doing analytical analysis for business processes...even school students who are learning just to write English sentences, think they can code easily
AI folks, who think you can code automatically by thinking with no typing..
to them i say2 -
They're needs apple developer account for upload their app, ok create iCloud account and pay the membership, they're not happy with the name of the developer change to other name, but apple don't accept random names for their developer account only accept a person or a legal business 😅
-
Business team has been chasing an issue with a report we generate, which I've sort of been dragged into because I worked on a loader for data they need.
Another guy is responsible though for the report and they had a meeting with user to iron out it last week...
I would expect the guy to ask me for guidance, essentially needs to rewrite it duplicate the loader but haven't heard a peep from him...
I guess I'll let him deal with his own shit and extricate myself from their discussion -
So I'm tasked with creating a single sign on link using documentation from the third party we are logging into. So far so good.
Well they don't support some of the fields our users will need--that we don't want to support (otherwise why use a third-party?).
Their solution is to make us the system of record so that when a user goes through the single sign on we pass this info as well. But it needs to be editable on their side well--because they won't give us an API for our system of record to update their side.
That's right only a user signing on from our system will update their side. Tough luck admins on our side. You get double duty due to the poor business decision to work with a company with lazy devs. -
Everyone here rants about clients, and as far as I understand frustration, I understand client's side too.
For 2 years I have developed a tool for our company, my manager was responsible for outcome and was directly accountable to company's management, which made him a client for our product. Of course requirements changed many times, he pressured us much, but he is nice guy and gave us knowledge why we had to change things again. We had meetings with him, HRs, PMs and others to gain requirements for features to implement and that made me better understand client's point of view.
My point is that when you work for external companies, you only see changing requirements, pressure, deadlines, etc, but don't think that your work is just a part of process - your client is responsible for your delivery, wants to make good impression on superiors or company needs some feature ASAP. He does not have to know tech stuff, he wants outcome to be good and to be fast and cheap - that is business.
And yes - we had to tell people that X is impossible many times, had to tell Y people how things work over and over. It may seem easier when it is your own company, but note that every single employee knew that you developed that tool and you have answers for his questions. -
Alessandro Demarinis Yonkers
Address: New York, USA
Alessandro Demarinis of Yonkers owns and operates a reputable plumbing company in New York. Alessandro Demarinis of Yonkers provides top-notch plumbing services tailored to meet individual residential and commercial business needs. Alessandro Demarinis of Yonkers employees a team of highly skilled and experienced plumbing professionals, dedicated to delivering exceptional results in a timely and professional manner.
#Plumbing #Alessandro Demarinis Yonkers -
So at my last job we had an AM deployment and a PM deployment. We had code reviews, QA, a slow roll process (deployed to three servers), monitoring process, and once everything checked out we fast rolled to the other servers.
At my current job we have a QA process, and we deploy once every three weeks.
My first job I deployed as needed, with no QA at all (I was the only web dev there).
I'm currently at a major e-commerce site, my last job was more of a click-bait site (though it still made millions in revenue each year).
So my question is: is there a "normal" as far as deployment schedules? I realize that each business type is going to have their own needs, but what's the "average" time between deployments? -
In the ever-evolving landscape of business operations, efficiency stands as a cornerstone for success. However, traditional reporting methods often entail a cumbersome and time-consuming process that drains resources and stifles productivity. Enter company dashboards https://cobit-solutions.com/en/ – the dynamic solution revolutionizing the way organizations monitor and analyze data, effectively replacing tedious reporting practices with streamlined, real-time insights.
Gone are the days of painstakingly compiling data from disparate sources, only to present it in static, outdated reports. Company dashboards offer a comprehensive and interactive approach to data visualization, empowering stakeholders to access critical information at their fingertips. Whether it's sales figures, marketing metrics, or financial performance, these dashboards provide a centralized hub where data is aggregated, analyzed, and presented in a user-friendly format.
One of the key advantages of company dashboards is their ability to automate reporting processes, significantly reducing the time and effort required for manual data collection and analysis. With customizable features and intuitive design, users can effortlessly generate reports tailored to their specific needs, eliminating the need for repetitive tasks and allowing teams to focus on strategic initiatives.
Moreover, company dashboards promote transparency and collaboration within organizations by facilitating data sharing and cross-departmental communication. By granting stakeholders access to real-time insights, decision-making becomes more informed and agile, enabling swift responses to changing market dynamics and emerging opportunities.
Another noteworthy benefit of company dashboards is their scalability and adaptability to evolving business needs. Whether a startup or a multinational corporation, organizations can customize dashboards to align with their unique goals and objectives, ensuring relevance and effectiveness across different departments and functions.
Furthermore, the adoption of company dashboards fosters a data-driven culture within organizations, where decisions are driven by empirical evidence rather than intuition. By democratizing access to data and empowering employees at all levels to leverage insights, companies can foster innovation, drive performance, and gain a competitive edge in today's fast-paced business environment.
In conclusion, company dashboards represent a paradigm shift in how organizations approach reporting and data analysis. By replacing tedious and time-consuming processes with dynamic, real-time insights, these tools enable businesses to operate more efficiently, make better-informed decisions, and ultimately achieve their strategic objectives. As technology continues to advance and data becomes increasingly abundant, the role of company dashboards will only become more integral in driving success in the digital age.3