Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "product requirements"
I'm a self-taught 19-year-old programmer. Coding since 10, dropped out of high-school and got fist job at 15.
In the the early days I was extremely passionate, learning SICP, Algorithms, doing Haskell, C/C++, Rust, Assembly, writing toy compilers/interpreters, tweaking Gentoo/Arch. Even got a lambda tattoo on my arm after learning lambda-calculus and church numerals.
My first job - a company which raised $100,000 on kickstarter. The CEO was a dumb millionaire hippie, who was bored with his money, so he wanted to run a company even though he had no idea what he was doing. He used to talk about how he build our product, even tho he had 0 technical knowledge whatsoever. He was on news a few times which was pretty cringeworthy. The company had only 1 programmer (other than me) who was pretty decent.
We shipped the project, but soon we burned through kickstart money and the sales dried off. Instead of trying to aquire customers (or abandoning the project), boss kept looking for investors, which kept us afloat for an extra year.
Eventually the money dried up, and instead of closing gates, boss decreased our paychecks without our knowledge. He also converted us from full-time employees to "contractors" (also without our knowledge) so he wouldn't have to pay taxes for us. My paycheck decreased by 40% by I still stayed.
One day, I was trying to burn a USB drive, and I did "dd of=/dev/sda" instead of sdb, therefore wiping out our development server. They asked me to stay at company, but I turned in my resignation letter the next day (my highest ever post on reddit was in /r/TIFU).
Next, I found a job at a "finance" company. $50k/year as a 18-year-old. CEO was a good-looking smooth-talker who made few million bucks talking old people into giving him their retirement money.
He claimed he changed his ways, and was now trying to help average folks save money. So far I've been here 8 month and I do not see that happening. He forces me to do sketchy shit, that clearly doesn't have clients best interests in mind.
I am the only developer, and I quickly became a back-end and front-end ninja.
I switched the company infrastructure from shitty drag+drop website builder, WordPress and shitty Excel macros into a beautiful custom-written python back-end.
Little did I know, this company doesn't need a real programmer. I don't have clear requirements, I get unrealistic deadlines, and boss is too busy to even communicate what he wants from me.
Eventually I sold my soul. I switched parts of it to WordPress, because I was not given enough time to write custom code properly.
For latest project, I switched from using custom React/Material/Sass to using drag+drop TypeForms for surveys.
I used to be an extremist FLOSS Richard Stallman fanboy, but eventually I traded my morals, dreams and ideals for a paycheck. Hey, $50k is not bad, so maybe I shouldn't be complaining? :(
I got addicted to pot for 2 years. Recently I've gotten arrested, and it is honestly one of the best things that ever happened to me. Before I got arrested, I did some freelancing for a mugshot website. In un-related news, my mugshot dissapeared.
I have been sober for 2 month now, and my brain is finally coming back.
I know average developer hits a wall at around $80k, and then you have to either move into management or have your own business.
After getting sober, I realized that money isn't going to make me happy, and I don't want to manage people. I'm an old-school neck-beard hacker. My true passion is mathematics and physics. I don't want to glue bullshit libraries together.
I want to write real code, trace kernel bugs, optimize compilers. Albeit, I was boring in the wrong generation.
I've started studying real analysis, brushing up differential equations, and now trying to tackle machine learning and Neural Networks, and understanding the juicy math behind gradient descent.
I don't know what my plan is for the future, but I'll figure it out as long as I have my brain. Maybe I will continue making shitty forms and collect paycheck, while studying mathematics. Maybe I will figure out something else.
But I can't just let my brain rot while chasing money and impressing dumb bosses. If I wait until I get rich to do things I love, my brain will be too far gone at that point. I can't just sell myself out. I'm coming back to my roots.
I still feel like after experiencing industry and pot, I'm a shittier developer than I was at age 15. But my passion is slowly coming back.
Any suggestions from wise ol' neckbeards on how to proceed?32
1. I join a company.
2. I get deeply involved in "how to run the company", and get nice compliments from both coworkers & management about my skills in conveying startup/scaleup advice & necessities to upper management.
3. With my ego inflated through all the sweet talk, I think "ah, what the hell, let's do this again", and I accept a Lead/CTO promotion. I have to join board meetings, write reports on quarterly plans and progress.
4. I get unhappy/stressed/burned-out because I really just want to be a developer, not a manager/executive.
5. Upper management understands, I give up my lead position, lock myself back into my coding cave.
6. I get annoyed because the requirements I receive become more and more disconnected from reality, half of the teams seem to have decided to stop using agile/scrum, the testing pipeline breaks all the time, I get an updated labor contract from HR by mail which smells like charred flesh, etc
7. The annoyances become too much to do ANY work. I yell at the other devs outside of the entrance of my cave. There is no answer, only a few painful moans and sighs.
8. I emerge from my cave. The city has turned into a desolate wasteland. The office is a burning ruin, the air sharp and heavy with black soot. Disemboweled corpses of developers litter the poisoned soil.
Product Managers dressed in stained ripped suits scream at each other while they try to reinforce concrete barricades with scotch tape and post-its. *THUMP* Something enormous is trying to break through. "Thank God, bittersweet, you're still alive! The stakeholders! They have mutated! We couldn't meet the promised deadlines! We've lost the whole mobile app department, and that kid there is the last of the backenders and he's only an intern! You're here to save us, right? RIGHT?".
In the corner, between the overflowing coffee machine and a withered cactus, a young boy has collapsed onto the floor. His face is covered in moldy coffee grounds, clasping on to his closed macbook for dear life, wide-open eyes staring into the void, mumbling: "didn't backup the database, and It's all gone" over and over.
A severely dented black Tesla with a dragging loose bumper breaks through the dried up vertical herb garden and the smoothiebar, and comes to a halt against the beanbags in a big cloud of styrofoam balls.
The CEO limps out, leaking blood all over the upholstery. He yells to the COO: "The datacenter is completely flooded with sewage! I saved the backup tapes though", holding a large nest of tangled black magnetic tape mixed with clumps of mud above his head.
9. I collect my outstanding salary and sell any rewarded options/shares for a low dumping price, take a 5 month holiday, and ask a recruiter about opportunities in a different city.14
Requirements vs Delivery - Guide to Programming
This one is a killer and I've received it in multiple forwards in office email, and we always have a good laugh seeing this joke.
Client: “Our next requirement, and this is something big you know, we need an elephant”
IT Team: But why don’t you adjust with a buffalo, even it is big…. and black?”
Client: No, we need an elephant only, let me explain our current process……” (client explains for an hour)
IT Team: Fine, I understand your requirement. But our system supports only a buffalo…
Client:We need only an elephant!
IT Team: Ok, let me see if I can customize it for you”
Requirements are taken as follows:
Client wants a big black four legged animal, long tail, less hair. Having trunk is mandatory. The same was documented, signed off and sent to offshore for development!
At the Offshore Development Centre,
Design/Development – Based on requirement all features are supported in base product (as buffalo), for trunk alone a separate customization is done.
Finally the customization is shown to client:2
1. If your contract allows it (and it should), get more involved in public dev community. Your employer benefits greatly from making a small closed source core product, with a giant open source ecosystem around it. Write public articles. Working in a community larger than one single business is fun.
2. Start a company coding club, a "labs" division, work in a slightly more exotic language. Great if your employer gives you time, but using some of your own is worth it too. Work on non critical tools, creative experiments. Sometimes you stumble onto incredibly valuable ideas which would never have popped up if you had strictly followed stakeholder requirements.
3. Listen to your body. If you feel restless, go for a run. If you feel tired, take a nap. If you're stuck, wander around the company. If you feel down, go find a place with more than a dozen trees. And always have a notepad nearby for doodling!5
I've had my share of incompetent coworkers. In order of appearance:
1. A full stack dev. This one guy never, and I mean NEVER uses relationships in their tables. No indexing, no keys, nada. Couple of months later he was baffled why his page took ten seconds to load.
2. The same dev as (1). Requirement was to create some sort of "theme" feature for a web app. Hacked it by putting !important all over the place.
3. The same dev again. He creates several functions that if the data exists returns a view, and if it doesn't, "echo '0'". No, not return 0 or return false or anything, but fucking echo. This was PHP. If posted a rant about this a few months ago.
4. Same dev, has no idea what clean code is. No, not just reusable functions, he doesn't even get indenting right. Some functions have 4 spaces, some 2 tabs, some 6 tabs! And this is inside the same function. God wait until he tries Python...
5. Same dev now suggests that he become the PM. GM approves (very small company). Assigns me to travel to a client since they needed "technical assistance about the API". Was actually there to lead a UAT session.
Intermezzo, that guy went from fullstack dev to PM to sales (yes, one who calls clients to offer products) to business development, to product analyst in the span of two years.
After a year and a half there, I quit.
6. New company, a "QA engineer" who also assumes the role as the product owner. Does absolutely no tests other than "functional tests" in which he NEVER produces any form of documentation. Not even a set of test cases. He goes by "intuition".
7. Same guy as (6), hands me requirements for a feature. By "hands me" I mean he did that verbally. No spec documents, no slack chat, no Trello card. I ended up writing it as a card in Trello. Fast forward to the due date, he flips out because that wasn't what he wanted. Showed him the card. He walked away, without thinking of a solution how this mess should be handled.
Despite all this, I really don't want him (6&7) to leave the company. The devs get really stressed out at this job and he does make a really good person to laugh with/at.
Saturday late night wisdom.
Software developers you need to work on communication skills.
Everytime LinkedIn says need a problem solver. It means a guy who can understand what non technical guy is asking for and translate that to a software or at least come up with a example of why he is wrong. Explain them. They are not dumb fellows for asking that feature. You might think the feature is stupid. Don't assume this. Sit with them. Understand thier user flow, understand the frustration your software is causing them. Then you'll see why are asking for that X feature.
Every feature request made is basically my opportunity of understanding of product. Don't wait for users to tell you requirements. Understand and suggest, implement prototypes and show them, a causal question such as "Hey would you think providing a keyboard shortcut for this submission is great?"
Understand our job is not just to write software.
Our job is to solve thier problems using software knowledge.
Don't you agree ?4
You know your product manager is evil when you find this in the official product requirements documents.7
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8
Client: "Dear Mr. I still have not received the final version yet. I had planned to send it out to my customers at the end of the week."
Me (1st answer I did not give):
"Ok. I accept your statement as true, since I did not send you anything. Furthermore I respect your wish."
Me (2nd answer I did not give):
"Well I am sorry. Before today you did not once mention that there was a deadline. ASAP is not how I do things. Please do your project management."
Me (answer I gave): "Dear Client, due to a huge demand for our services we are forced to prioritise. We are doing our best to complete the project as fast as possible. Please understand however that we can not reschedule with 3 days notice. Because of technical requirements the product can be send on Friday next week. Please let us know if this works out for you. - Kind regards. Me. "
During a company wide status meeting where all product managers, architects and directors assemble:
Me: *A product architect leading a team of devs*
Directors: So are there any issues or risks you see in delivering the next build in target time for Client 1?
Me: There are too many changes in feature requirements. First they said we can use a shared NFS for storage. Now they are asking to switch over to SFTP pull mode.. blah blah..
Directors: Oh I see.. well we can support both solutions then.
Me: But the deadlin..
Directors: *ignores what I say* Will be a good marketing point for future.
Me: But there are too many regressions in integra..
Directors: *ignores what I say* We should also meet deadlines. That is the most important thing.
Me: Its not as easy as 1+1=2.. The team needs more time to..
Directors: *ignores what I say* Ok lets move on to the next point. What about Client 2?
Those developers working under non-technical bosses, i understand your pain.
1. Pain when they don't realise that output != number of hours put in. Aaaaaaand that acting busy doesn't mean someone's working.
2. Pain when chilling out in office is necessary, because mind jobs don't work same as other jobs. Wherein if you don't vent it out you're gonna screw up the code. Them not getting that.
3. Pain of "meetings".
4. Pain of changing the feature when you're done, and them acting as if its a minor change.
5. Pain of vague requirements.
6. Pain of a product not thought through, and them trying to blame the implementation.5
!(short rant) && (long story)
So these last 2 months of my life have been quite topsy turvy. Everything was pretty much unexpected and now I am on my way to Banglore, which is referred to as the Silicon Valley of India.
All this started in mid Feb when one day my ceo dropped a mail to all of us saying he wants to covey something important. A little background story about my company before I go on. We were a bunch of 6-7 tech guys working on a location based analytics product and had a decent client base. I had joined them in November 2017 and I was very hopeful that I would get to learn a lot owing to the good seniors from reputed universities and their experience. Coming back to the day, the ceo called us and dropped a bomb on us that the funding is depleted and we only have enough money to pay you salaries for this month. "We didn't anticipate that this day will come but currently we are in talks with some companies that are looking to acquire us. I am very much hopeful that we will figure something out by the end of this month(Feb). Until then, I can't stop you from applying to other companies but don't reveal that we are in this situation." So, keeping my fingers crossed I was waiting for the acquisition and wasn't looking for any other opportunities.
The company work was under hold and during this time one of my friends approached me with his idea. Since I had nothing else to do, I agreed to work with him. I was living in Mumbai, the city with one of the highest living standards in India, and I was paying exorbitant rent without any income. There was no news until mid March when the ceo called and dropped bomb#2 that an Indonesian company is looking to acquire us and he had scheduled an interview for the entire team. This isn't what I had signed up for. Indonesia wasn't a country I had even considered, let alone leave the country. Still I appeared for the interview and it went very well.
No news from the company or the ceo after that. One of my friends advised me to start applying to other companies and not rely on this acquisition. Now the problem was I couldn't reveal about the acquisition in my interview, so I used to give some bullshit about me not liking the work here. The company didn't buy it because how can someone judge a company in just 4 months. So obviously I didn't clear the interviews, also partially because I didn't meet their technical requirements.
March end, I moved to my hometown in Gujarat because obviously I had started to get broke in this expensive-ass city. The friend with whom I was working with also didn't have any issue since it was just tech and coding and I could do it remotely. Comes mid-April when the ceo called and said the acquisition is done and gave me some details about it. For confidentiality sake I can't reveal the details but I figured enough red flags for me to go with it.
*Eye of the tiger playing in the background*
Now started my quest of finding a decent job. The edge I had now was that I could reveal about the acquisition to the other company. I started applying left right and center to any company I could find. Amazon, saavn and some good-ass Indian companies. The thing that now came in my way was my experience. I am 23 year old(soon to be 24) with around 20 months of experience. Everyone wanted a 3-5 year experience guy/girl. Soon, my entire optimism was draining and I even considered going back to my first company.
During this time, I got a call from this company in Banglore who were looking for a candidate which best suited my profile. I went all guns blazing and appeared for the interview. I had 6 rounds of technical interview plus 1 logical reasoning. And since I was giving the interview remotely, I had one round on each alternate working day. Everyday was a challenge and I spent the nights in anxiousness and anticipation. Meanwhile I was appearing for other interviews too, since I wasn't too hopeful about my chances in this one.
Cut to April 27, I got an offer from this company and without negotiating they offered me the package I was hoping for.
After this entire ordeal, I realised one thing. Whatever happens, happens for good. Looking forward to this new city, new company, new people and new environment.11
I tried to convince my boss that using 3d rendering to display information on webpage is unnecessary luxury.
The web browser would hang if the user is using an average pc and there is too much data to render.
This product is aimed for average joe, but he argues that computers in foreign countries are high end devices ONLY.
Such a bullshit.
I asked what if someone with low spec laptop tries to view the webpage.
He said, we will set a min spec requirements for using the website.
Are you fucking kidding me?! RAM and Graphics requirements for a webpage?!
My instinct says that the thing I'm working on would probably end up as waste of time.
But I'd probably learn cool tricks of threejs.5
"A well defined problem is a problem half solved."
~ Charles Kettering.
Feel like crying on hearing this when the product feature requirements change in so aGiLe way.3
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
Backstory: Offering manager brings a project through a few months of requirements gathering / feasibility study etc. Project spends 8 months with a R&D team to flesh out. Our team gets 6 months to turn it into a ship able product. 4 months in, offering manager calls a meeting.
OM: ok so you are all working on project X, well I need your input on something
Team: Ok, go ahead
OM: what do you think the app needs to do?
Team: ... I'm sorry?
OM: well we've been looking at it, and we don't think it does very much compared to existing apps. We need a killer feature but we don't know what. Any ideas?
Team: well we were looking at project Y originally, which was a lot more advanced. But you pulled the plug in favour of this.
OM: yeah, believe me customers will want project X a lot more. It just needs to do something interesting ... you know what I mean?
Team: not really, if it doesn't have anything, why did we go for it?
OM: ok I don't think I'm being clear. Point is, if anyone has any ideas let me know, we need to ship it in 2 months and it needs to be killer
I handed in my notice that week and was asked why ... let's just say I told them.
So, my boss was angry at me today because...
1. "Why are we taking so long to finish the software?". We started coding in March, and during that time I kept asking for requirements, design and his answer was, "You build it and we'll see." . During that time, after creating the system with only three type of user modes, he was like "Oh, I want customized user permissions." Took me 1 month to come up with a design, implementation for everything. Also during these months, nearly 2 months was wasted because he kept giving me other things to do, and I was not focusing in my current project.
Today he was mad because he expect me not only to build the infrastructure, setup servers, write backend code, do QA etc, He wants me to be a product designer. A fucking product designer. My answer to him was "If you refuse to help with designing the UX, either hire someone or I will just copy/paste things for internet. If the UI works, there's where my job is done."
Fucking hell. Not only I am being under payed, but he expects do to the job of 5 other people. Fuck this shit.11
I just had a chat with the CEO (I'll call him John) of the company I work at. I was trying to get a real alignment on what I need to do to be a valuable resource to this company. They promoted me (without a raise in pay) to a different (management) role, and I do not know what I need to do to be the best in this role.
During the discussion, the CEO failed to provide any usable metrics, or a way to track those, except for phrases like "higher productivity" and "higher quality". How to track? No idea.
So, at this point, me being the idiot I am, wanted to make things explicit:
*Me: Okay, so what if I request for a 20% raise six months from now, what metrics will you look at to decide whether to give me the raise.
(My last raise was a big one, more than 100% or so, more than a year ago. That was a dev role, and I was paid 2 cents earlier, so the doubling to 4 cents wasn't really a big deal.)
John went on a long rant on how people just expect raises every year, inflation, etc. All good and fine.
But then he mentioned something strange.
*John: ...and you know, for the last three years, there has been a race to retain resources. During this race, many companies, including us, had to pay people WAY MORE THAN THEIR VALUE to retain them. These people are going to be the first to be fired during cost-cutting as they are the most expensive resources at the company without any proven value. These people should not expect raises to come soon, and if they do expect that, they need to prove the value themselves.
Now, I, being a simpleton, am wondering how is it fair for an organization to pay someone "more than their value" to retain them once so that they can just be fired two years later. How did the company decide the value of such employees to begin with?
And all this is ignoring the fact that in the company there are no metrics, no KPIs, and performance of a person is how much the CEO likes that guy. How TF the people who joined a year ago and never interacted with the CEO prove their worth?
Developers are building PowerPoints and configuring JIRA/Confluence/Laptops of Sales team, project managers are delegating management to developers and decision-making to the CEO, Technical architect is building requirements documents, Business Analyst is the same person as the QA team lead (and badly stretched), and the Release Manager is the Product Technical Admin that cannot write one sentence in English. And then we got 3.8 hours in meetings every DAY. Why TF are Dev Managers in "QA KPI Meeting"? Why are "developers" writing documentation on "How to create meeting notes at <company>"?
And, in this hell-storm, how does one really demonstrate one's value?15
"Impossible deadline experience?"
When product owners promise delivery dates.
One day, I came back from a two weeks holiday, relaxed. I noticed a teammate missing. "Yes, he took the week off". Sure, why not.
We were working under a bastardized enterprisey version of Scrum (didn't we all at some point?). So we didn't just have a product owner, we had three and an additional "Head of PO". Because enterprises can't live without hierarchies or something. Barely an hour after I came into office, she entered the room and came straight to me. "Your coworker was almost done implementing feature X. You need to finish it immediately. No worries, though, coworker said the rest is a piece of cake".
It wasn't. There was *a lot* left to do, the JIRA task wasn't entirely clear, and the existing code for the feature was so-so (obviously WIP code). I estimated two weeks for the implementation, plus some time to clarify the requirements. When telling "Head of PO" she lost her shit. Screaming things like "this feature is due the end of this week" and "I signed this with my blood!". Well, I didn't, and I made it clear that I hadn't been consulted on this, thus I would not accept any blame in case we missed the deadline.
So I gave my best that week, getting pestered by "Head of PO" all the time. "Is it done yet?", "why does it take so long?" and "your coworker would've been done by now!". Yeah fuck you, too. Not only was I not relaxed any more, I was even more stressed than before my holiday! Thanks, you stupid bitch.
Well, her arbitrary deadline came and the feature wasn't ready. And what happened was... exactly nothing. The following week my coworker returned, who gave me an apologetic smile. "I told her the feature was nowhere finished. And even me, being familiar with the task, couldn't make it in time". We finished the feature together that week, and that was the end of it. So... "Head of PO" either didn't listen or lied to me. She then stressed me to the max right from the day I came back from my holiday. And in the end it didn't even matter.
Again, thanks you stupid bitch, for creating a toxic work environment. Should you ever read this, I'm happy I quit and I hope you miss every single deadline for the rest of your life. Screw you.8
I make a presentation to explain to the boss why we had to tweak around the requirements in order to keep backwards compatibility and stuff. I take 15 minutes explaining how our system currently works and how these requirements would change it, etc etc.
"So... is this workflow okay for our customers?"
They stared into the presentation slide for a good minute.
"I think we should align this row over here with that square over there."
"Oh don't worry this is a demo. But do you think our customers will still be okay with these changes?"
"Yeah, but these two elements are unalligned and they look pretty bad."
I'm starting to think that fancy speech can deter people from questioning or complaining to you. I'm pretty sure they don't know their own product as well as I know it.3
The moment when the product manager changes your requirements last minute and you have to change all of your code. 😑1
I dive in head first.
Some existing program annoys me, so I get this itch to write a selfhosted Spotify in Go, or a conky with 3D graphics in Rust.
I check the homepage of the language, download the tools, check which IDE is great for it.
Then I just start writing code, following the error corrections thrown by the IDE, doing web searches for all errors. Then when I run into a wall, I might check the reference docs or a udemy course.
Often I don't finish the project, because time is limited and I still have 4 million other things to do and learn, but at least I've learned a new language/tech.
Con: For tech which uses unique paradigms like Rust's memory management or Go's Goroutines, it can be frustrating to bash away at a problem using old assumptions.
Pro: By having a real demand for a product with requirements instead of a hello world or todo app, it's much easier to stay motivated, and you learn beyond what courses would teach you.5
Agreed to work on a mobile app project on Android. No contract signed, just was given what the client wanted from this sub-contractor.
No specific details given, had to figure out a lot of the minute details of how they wanted the application to behave. We would deliver a working part of the product before getting a % of the pay. We charged $30 /hr on a mobile app, low as heck.
It was me and another developer, neither of us had any contact with the clients to ask questions, all questions had to go through the sub-contractor. Many arguments and months later we find that what they're asking for only a phone manufacturer can do. Sub-contractor blames us for not doing our "research" when she/he was the only one able to contact the client to get requirements.
Sub-contractor wanted us to refund money. We declined but offered solutions.
Sub-contractor goes to client and manages to get approval of what we were able to do. Finally a light in this dark tunnel spanning 7 months.
On the day of releasing to the client the finished app, we get notification from Google that the app won't be published due to a recent policy change that came into effect in January. WTF.
Go back to sub-contractor, tell the bad news. Once again he/she says it's our fault for not doing the "research". Yeah as if we knew what Google is going to change. Asks for paid money back. We refuse.
We lastly suggested that we remove what Google wants removed on the app and release it that way.
We had billed 300 hours cumulative divided among 3 people (including the sub-contractor who didn't appear to do anything), and just 2 months of development. It's been 7 months and we were only paid for 240 hours, the rest was unpaid, and the sub-contractor still wants to make us give it back. /rant13
Spent a lot of time designing a proper HTTP (dare I even say RESTful) API for our - what is until now a closed system, using a little-known/badly-supported message-over-websocket protocol to do RPC-style communications - supposedly enterprise-grade product.
I make the API spec go through several rounds of review with the rest of the dev team and customers/partners alike. After a few iterations, everybody agrees that the spec will meet the necessary requirements.
I start implementing according to spec. Because this is the first time we're actually building proper HTTP handling into the product, but we of course have to make it work at least somewhat with the RPC-style codebase, it's mostly foundational work. But still, I manage to get some initial endpoints fully implemented and working as per the spec we agreed. The first PR is created, reviews are positive, the direction is clear and what's there already works.
At this point in time, I leave on my honeymoon for two weeks. Naturally, I assume that the remaining endpoints will be completed following the outlines/example of the endpoints which I built. When I come back, the team mentions that the implementation is completed and I believe all is well.
The feature is deployed selectively to some alpha customers to start validation testing before the big rollout. It's been like that for a good month, until a few days ago when I get a question related to a PoC integration which they can't seem to get to work.
I start investigating and notice that the API hasn't been implemented according to the previously agreed upon spec at all. Not only did the team manage to implement the missing functionality in strange and some even broken ways, they also managed to refactor my previously working endpoints into being non-compliant.
Now, I'm a flexible guy. It's not because something isn't done exactly as I've imagined it that it's automatically bad. However, I know from experience that designing a good/clear/future-proof API is a tricky exercise. I've put a lot of time and effort into deliberate design decisions that made up the spec that we all reviewed repeatedly and agreed upon. The current implementation might also be fine, but I now have to go over each endpoint again and reason about whether the implementation still fulfills the requirements (both soft and hard) that we set out to meet.
I'm met with resistance, pushback and disbelief from product management and dev co-workers alike when I raise the concern that the API might actually not be production-ready (while I'm frantically rewriting my integration tests and figuring out how the actual implementation works in comparison to what was spec'ed).
Oh, and did I mention that product management wants to release this by end-of-week?!7
I really enjoy my old Kindle Touch rather than reading long pdf's on a tablet or desktop. The Kindle is much easier on my eyes plus some of my pdf's are critical documents needed to recover business processes and systems. During a power outage a tablet might only last a couple of days even with backup power supplies, whereas my Kindle is good for at least 2 weeks of strong use.
Ok, to get a pdf on a Kindle is simple - just email the document to your Kindle email address listed in your Amazon –Settings – Digital Content – Devices - Email. It will be <<something>>@kindle.com.
But there is a major usability problem reading pdf's on a Kindle. The font size is super tiny and you do not have font control as you do with a .MOBI (Kindle) file. You can enlarge the document but the formatting will be off the small Kindle screen. Many people just advise to not read pdf's on a Kindle. devRanters never give up and fortunately there are some really cool solutions to make pdf's verrrrry readable and enjoyable on a Kindle
There are a few cloud pdf- to-.MOBI conversion solutions but I had no intention of using a third party site my security sensitive business content. Also, in my testing of sample pdf's the formatting of the .MOBI file was good but certainly not great.
So here are a couple option I discovered that I find useful:
Solution 1) Very easy. Simply email the pdf file to your Kindle and put 'convert' in the subject line. Amazon will convert the pdf to .MOBI and queue it up to synch the next time you are on wireless. The final e-book .MOBI version of the pdf is readable and has all of the .MOBI options available to you including the ability for you to resize fonts and maintain document flow to properly fit the Kindle screen. Unfortunately, for my requirements it did not measure-up to Solution 2 below which I found much more powerful.
Solution 2) Very Powerful. This solution takes under a minute to convert a pdf to .MOBI and the small effort provides incredible benefits to fine tune the final .MOBI book. You can even brand it with your company information and add custom search tags. In addition, it can be used for many additional input and output files including ePub which is used by many other e-reader devices including The Nook.
The free product I use is Calibre. Lots of options and fine control over documents. I download it from calibre-ebook.com. Nice UI. Very easy to import various types of documents and output to many other types of formats such as .MOBI, ePub, DocX, RTF, Zip and many more. It is a very powerful program. I played with various Calibre options and emailed the formatted .MOBI files to my Kindle. The new files automatically synched to the Kindle when I was wireless in seconds. Calibre did a great job!!
The formatting was 99.5% perfect for the great majority of pdf’s I converted and now happily read on my Kindle. Calibre even has a built-in heuristic option you can try that enables it to figure out how to improve the formatting of the raw pdf. By default it is not enabled. A few of the wider tables in my business continuity plans I have to scroll on the limited Kindle screen but I was able to minimize that by sizing the fonts and controlling the source document parameters.
Now any pdf or other types of documents can be enjoyed on a light, cheap, super power efficient e-reader. Let me know if this info helped you in any way.4
End user when criticizing a developer for 'taking long' to create something of value from scratch:
(4 hours later): "What's taking you so damn long? Are you retarded?"
Oh I don't know, maybe I have to make sure that tests in my code run well, maybe I have to evaluate everything to meet the custom satisfactions of the user for his ever-so-custom requirements and I also have to make sure I discard what they don't like? And maybe it takes time to deliver a quality product, and so on?
Or would you prefer I deliver an untested product that I didn't bother to think about and I haven't bothered to make sure it matches with their requirements?
What end users don't understand is the involvement in a quality product.2
This is PART 1/2 of a series of rants over the course of a software engineering class years ago.
We were four team members, two had never failed a class, I’ll refer to them as MT and FT, male and female top students, respectively, and an older student with some real world experience who I’ll refer to as SR.
Rant 1: As I was familiar with the agile methodologies I became the Scrum Master and was set with the task of explaining it to the team members, SR showed up late and nobody seemed interested in learning new methodology. At this point I knew we'd have trouble as a team.
Rant 2: FT made up her project proposal without informing anybody, which required a real client/product owner. We only figured it out after her proposal was accepted as the project, so we ended up working with fake requirements.
Rant 3: This one is partly my fault. I researched first and then worked, which meant I was the last to turn up my work. In one activity MT pressures me and I agree to a deadline so everyone can send their work to the teacher in a timely manner. Since I was the last to finish, I was also asked to give the doc some formatting, which I did in a hurry so it wasn't the best.
The next day MT and FT start complaining about me, saying I took too long and that they expect me to do better next time or else. At the same time they were stressed and in a hurry because we had to explain the project outline in front of the class and they didn't study.
Turns out copying and pasting all your work in less than an hour means you don’t learn anything. FT actually asked me for help days before and I sent her a website in English, which she wasn't very good at, so she just ran it through Google Translate and called it a day.
Later FT called me rude for interrupting MT in the presentation, which I did because he started making up stuff about the project.
Rant 4: SR expressed his dislike for school through profanity in variable names and commit messages. This caused MT and FT to dislike him. I thought it was immature but if anything it should’ve been reported to the teacher and move on.
Rant 5: I was stuck trying to get the REST API working for the project Admittedly this was my fault, too, because I was pushing for the usage of things nobody was familiar with for the sake of learning. This coupled with SR’s profanity led to drama and the progress was dropped, starting over from scratch.
At this point I stepped down from the Scrum Master role as nobody seemed to listen anymore.4
Customer requested the implementation of a "Master PIN" Code for accessing their appliances, to be used by field technicians when the users forgot their PIN.
Actually they could also read or reset it via USB using the config utility, but then again it's much more convenient not having to carry a laptop all the time...
Our only contact person at that company - the guy we got all the requirements from, let's call him Mr. L - wouldn't talk only positive about the company and managers, but we never worried as the project was making good progress.
In the final phase of the project, Mr. L was often hard to reach, always seemed to be busy even when we just needed a prototype approved to start production.
He always claimed to be waiting for approval from his supervisors and engineers, still discussing minor things with them.
When he left the company about three months later, it turned out he was pretty much the only person knowing about the details of the project, and his successor would start asking us very basic questions about the appliance,
wondering why we had implemented certain things the way they were.
(Well, how about we implemented everything just as requested by a former co-worker of yours?!)
Somewhere in the preliminary specs previously exchanged with Mr. L, there is even a hint of a "Master PIN", but the value is never specified anywhere on paper.
Today, we are not sure if anyone except for him even knew about it.
Maybe we should ask them whether they are now selling a product that has a 4-digit backdoor PIN nobody at the company is aware of?
Obviously, it is the birth year of Mr. L.2
Rant r = new Rant(Rant.TEAM_PROBLEM);
Three months ago, a senior, one year older than me, decided to join me in doing startups. He said he's good at finance stuff (his parents are fund managers), and he is interested in startups just like I am. He treated me very nicely, so I gladly accepted him.
I'm currently working on many projects, and some of them won me quite a few awards, most notably on the national competition. I also got invited into startup incubator programs, met some awesome people and offered free scholarships at universities in my country.
He frankly said he joined because he wanted to learn about startups and have those "privileges" too, and I'm cool with that.
Anyway, the problem is that I'm the one doing all the work. He's really nice, doesn't claim anything whatsoever, but the thing is he doesn't have any skills whatsoever except soft skills like communicating. So, I'm horribly tired from working alone.
My tasks mostly involves full-stack development, such as planning the specs, designing and developing frontend for mobile apps and progressive webapps, developing microservices for the backend, up to deploying and maintaining the servers. It's a lot of work for a single person to handle in such a short timeframe.
Not only that, but I'm also the one handling the business/marketing part, albeit I'm still learning. From doing paperworks, pitches, business models, up to creating advertising materials for the product.
I'm obviously not the smart ones like the people out there, but I keep focusing on improving my skills.
So, he said he could help me, and I let him try. What did you think he did?
He made pitch decks using default fucking PowerPoint themes, shooted a demo video with his phone cam in 320p potato resolution and expect me to "add some effects", gives me loads of requirements when all we needed was a simple feature, copying and pasting prior documents in my paperworks which doesn't make any fucking sense at all, and quite a lot more.
Also, he said I should stay in the developer zone only while he maintains the business, whilist he obviously can't do much in the business part either. Seriously...?
I'm okay with his lack of experience, considering he's nice and all, unlike the other business guys I've met in the previous rants. However, I keep questioning myself why he is here in the first place when I'm the one doing everything anyway.
What should I do? Maybe just keep him and recruit more experienced people to join us, as he's not that much of a burden? What do you devRanters think?
Thanks for reading, fellow devRanters! 😀8
tl;dr - why you no read this?
Here I am pondering why I continue to return to my job everyday when we are currently at month 13 of a 4 month project... yea let that set in for a minute... which is still at least 3-4 months away from being deployed due to annual leave of key stake holders and the whole Christmas period creeping up and things just not going as planned every step of the way.
There's no greater demotivater - is that even how you spell it - then being stuck in a project for so long you really just don't give a shit if it works or not anymore.
This has gone from a simple - relatively speaking - project to some monolithic mayhem of requirement changes and process adjustments, that have not only delayed our team, but 3rd party vendors needing to change things as well, or the requirements being wrong early so when you get up to business testing it's like "nope, that's not what we wanted" .... despite all the sessions of you personally giving the PM all the damn requirements.
But in saying that, they (3rd party) aren't innocent either, we have found nothing but issue after issue with their product since we started this project that who ever signed off on going forward with the thing should have been shot from both sides - it's not designed for the scale we will be using it yet we didn't find that out till we got so far into the rabbit hole we had a chance to be able to do load testing.
Meh, guess I'll go to work Monday and spend another week in misery trying to deliver something that just doesn't want to know what the finish line is.4
Aaarrrrghhhh! I am frustrated.
My manager keeps cancelling our 1:1, which I look forward to as a potential platform for
- Me to build a rapport
- Discuss key decisions
- Slowly gain her trust that I can lead the entire product
And whenever we connect once in a blue moon, she started inviting two other team members in. Who the hell does that!!!
My colleague, she is nice and hard-working. But she fucking talks a lot. A FUCKING LOT.
1:1 and such key connects are not meant for status updates and this colleagues goes into every minor detail and explains the shit for 15 minutes each. Non-stop. No one really cares or bothers for that level of statuses.
Today she spoke for 30 minutes without a breather break. Everyone went numb.
But whatever, fuck it. I am getting things done by her so let her talk. I'll get my way through manager and skip level guy.
On the other side, they recruited a half witted potato for training. That was completely unnecessary. I am not putting in my time and efforts on someone who isn't willing to learn and contribute.
I spent more than a week explaining her basics of how to write a god damn user story and detailed functional requirements.
And even after 5 rounds of feedback (45 minutes each) the potato is stuck on colour of the button and alignment.
GOD DAMN FUCK! SOMEONE KILL ALL THE MORONS WHO CANNOT UNDERSTAND BASICS AFTER SO MUCH EXPLANATION.
I was really an impatient guy in past but over the years, I developed to be more calm and forgiving. Yet some people manage to get on my every nerve.
How the fuck am I supposed to grow when I am being dragged down instead being with smart colleagues where we can just accelerate to success!!!!1
Long time no rant from me. Sorry guys, has been a tough time for me.
Little background: I'm an apprentice and as such definitely not a fully trained professional. I'm working in a big company with people who have very let's say interesting ideas what I should be able to do.
This whole disaster begins shortly after I started my apprenticeship. I was offered to choose my first little project. "Something from the backlog, not very challenging and a nice beginner one. It's just about a PoC" ok, le me thinks. I choose to make a weather display.
Basic functionality was provided within the next 3 weeks. My direct boss (let's call him Jo) liked it and talked to his boss (Hugo) about it. Hugo was so excited he called our product manager to get my plugin into our software asap and began to think about where else we could use this.
This is where shit went downhill. Hugo told me it was my task to implement it on a totally different platform and to "host it in azure". I don't know much about azure and I never used it. I told him that I'd need time and some kind of sandbox to try and learn how things work. He promised but nothing ever came through. Not even Jo could do something about this.
They told me I should write this asap because "every customer would LOOOOVE this" and I honestly can't think of a way to meet all their requirements without access to our azure system/ sandbox. (There are a lot of requirements)
Am I wrong? Should I be able to do this? I'm a fucking trainee. I don't know everything.7
That’s it I’m done with writing documents like Software Product Specifications and Software Requirements Documents and Software Architecture Documents, manuals, data sheets and more in MS word..
I’m doing it all form this point forward in LaTeX... I can stay in my editor, it works beautifully with version control because it’s just text... I can split it amung multiple files.. it looks damn sexy. I can focus on the content rather than being distracted by formatting and spelling issues and the rest of that shit.. ALSO.. it doesn’t crash or get corrupted.. well at-least I’ve never had a text editor crash or corrupt my files.
Idk why I didn’t learn latex sooner and do the switch.6
Here's to @Wisecrack:
Some time ago I pitched an idea to my boss about a platform we implement to optimize some fucked-up processes and in fact a whole project and I boasted some 20-30% increase in productivity. Yeah, I know ... what a fucking big mouth.
Truth be told they (almost all project members) went all for it so we started working on that software.
A small step for me, a GIANT LEAP IN A FUCKING CESSPOOL.
And of course it's just the two of us - me and my colleague - as always.
And we don't have requirements - as always.
And now there are deadlines too!
And people be like: IS IT READY YET?
So between playing a consultant, a product owner, systems architect, product manager, designer, front-end/back-end developer, DBA, DevOps engineer, YOU-NAME-IT-ROLE, and dealing with my everyday work-related bullshit (because yes, I do that too) I lost all appetite for it.
I actually loved this idea and what it can be born out of it, now I'm frustrated. It's still relevant and it will still benefit them, but I am already FUCKING SICK AND TIRED OF IT.
So my "oh, how I'd love to help them" personality is fighting my "let them sink in their own shit" personality and I'll see which will come on top. :)
Truth is if I had the "5-years-ago me" energy a good chunk of that project would be done by now. 😁
Also yesterday my daughter had shouted at old people and had thrown stuff at them while at kindergarten. I sure hope they deserved it LOL.
Don't you hate those startup clients who just don't understand "please give us all your requirements as early as possible" and keep making revisions even after product is released? *cries in the corner*
It's been a while DevRant!
Straight back into it with a rant that no doubt many of us have experienced.
I've been in my current job for a year and a half & accepted the role on lower pay than I normally would as it's in my home town, and jobs in development are scarce.
My background is in Full Stack Development & have a wealth of AWS experience, secure SaaS stacks etc.
My current role is a PHP Systems Developer, a step down from a senior role I was in, but a much bigger company, closer to home, with seemingly a lot more career progression.
My job role/descriptions states the following as desired:
I am also well versed in various JS frameworks, PHP Frameworks, JAVA, C# as well as other things such as:
Xamarin, Unity3D, Vue, React, Ionic, S3, Cognito, ECS, EBS, EC2, RDS, DynamoDB etc etc.
A couple of months in, I took on all of the external web sites/apps, which historically sit with our Marketing department.
This was all over the place, and I brought it into some sort of control. The previous marketing developer hadn't left and AWS access key, so our GitLabs instance was buggered... that's one example of many many many that I had to work out and piece together, above and beyond my job role.
Done with a smile.
Did a handover to the new Marketing Dev, who still avoid certain work, meaning it gets put onto me. I have had a many a conversation with my line manager about how this is above and beyond what I was hired for and he agrees.
For the last 9 months, I have been working on a JAVA application with ML on the back end, completely separate from what the colleagues in my team do daily (tickets, reports, BI, MI etc.) and in a multi-threaded languages doing much more complicated work.
This is a prototype, been in development for 2 years before I go my hands on it. I needed to redo the entire UI, as well as add in soo many new features it was untrue (in 2 years there was no proper requirements gathering).
I was tasked initially with optimising the original code which utilised a single model & controller :o then after the first discussion with the product owner, it was clear they wanted a lot more features adding in, and that no requirement gathering had every been done effectively.
Throughout the last 9 month, arbitrary deadlines have been set, and I have pulled out all the stops, often doing work in my own time without compensation to meet deadlines set by our director (who is under the C-Suite, CEO, CTO etc.)
During this time, it became apparent that they want to take this product to market, and make it as a SaaS solution, so, given my experience, I was excited for this, and have developed quite a robust but high level view of the infrastructure we need, the Lambda / serverless functions/services we would want to set up, how we would use an API gateway and Cognito with custom claims etc etc etc.
Tomorrow, I go to London to speak with a major cloud company (one of the big ones) to discuss potential approaches & ways to stream the data we require etc.
I love this type of work, however, it is 100% so far above my current job role, and the current level (junior/mid level PHP dev at best) of pay we are given is no where near suitable for what I am doing, and have been doing for all this time, proven, consistent work.
Every conversation I have had with my line manager he tells me how I'm his best employee and how he doesn't want to lose me, and how I am worth the pay rise, (carrot dangling maybe?).
Generally I do believe him, as I too have lived in the culture of this company and there is ALOT of technical debt. Especially so with our Director who has no technical background at all.
Appraisal/review time comes around, I put in a request for a pay rise, along with market rates, lots of details, rates sources from multiple places.
As well that, I also had a job offer, and I rejected it despite it being on a lot more money for the same role as my job description (I rejected due to certain things that didn't sit well with me during the interview).
I used this in my review, and stated I had already rejected it as this is where I want to be, but wanted to use this offer as part of my research for market rates for the role I am employed to do, not the one I am doing.
My pay rise, which was only a small one really (5k, we bring in millions) to bring me in line with what is more suitable for my skills in the job I was employed to do alone.
This was rejected due to a period of sickness, despite, having made up ALL that time without compensation as mentioned.
I'm now unsure what to do, as this was rejected by my director, after my line manager agreed it, before it got to the COO etc.
Even though he sits behind me, sees all the work I put in, creates the arbitrary deadlines that I do work without compensation for, because I was sick, I'm not allowed a pay rise (doctors notes etc supplied).
What would you do in this situation?4
So the company decided to go agile. I am now a scrum master. And we have the local product owners and all. They made us do daily stand-ups.
I don't know what is a scrum master. Nobody knows what the hell is a stand-up. It seems to be an akward 30 minutes every day, when local product owner asks questions and demands status reports.
I did some googling and it seems that the scrum master is supposed to just support the team and solve problems. In our version the scrum master finds out the system architecture and requirements, fills the backlog, does the system design and reports to the project manager(s). Also reports to the clients about the general project status in an executive meetings. I also do the sprint planning, in which we fit the vague features that we are told into time tables with ready told dates.
Oh yeah, the team is just 2 guys. One of them is me. And the other guy relies completely on me to daily tell what to do, review the work and also answer all the project and company level questions that pop into his mind. He gets angry if he doesn't receive ready-thought solutions to all problems, since "you're the boss and it's your job to tell us what to do".
This is going to be a great year.4
Do not trust Unity Collab.
Been using unity collab as a VCS for months on a project, regularly saving the files, working well.
Today i decided to refactor some code but lost track of some things, so i reverted to a version i checked in 2h before.
Unity replaced my files with the stable build back then, except... half of the files were missing. of course no undo functionality.
months of work were simply not saved in collab. no version had these files, i did modify them regularly and they never caused collab issues.
how can a company not make the vcs they add for their main product work to its minimal requirements?!
Im not sure how i could motivate myself to fix this mess. fuck this trash company, cant have a single project without major issues.2
At the product backlog refinement the product owner told us (the devs) how the database model must be designed! He said he knows it best, because he knows all the requirements. 🙈4
University is a dumb place.
I have been restricted to a predefined list of projects for my dissertation. The trouble is, the project must be a solution to an existing problem. So we're given a product to develop which then requires us to actively search for an implementation which addresses a problem.
Not only have we not proposed a solution ourselves but have also been given a list of software requirements. Wouldn't be an issue if we hadn't been pushed to write about our "requirements gathering" process.
So we have to gather requirements that are the requirements we have been given but do it in an independent way. Yeah, sure.
I am genuinely just going the motions with this fucking place now.9
I know I’ll get mixed views for this one...
So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).
Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.
Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.
What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...
The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.
The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.
Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.
One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...
Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.
Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.
Waterfall has its own problems, But that’s another story for another day..
ANYWAY... soooo where were we ....
Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...
I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.
OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..
Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.15
Job BS that made me consider quitting?
Huh. so timely.
With my previous employer, it was the whole "we're doing Agile and sprints and all the things" with "finish the project in six weeks plus here are some more requirements" garbage. Plus my tech lead always let the business roll over her and add unplanned requirements during a sprint without adjusting the deadlines set by the project managers. In summary: a fuck-all combination of Waterfall deadlines, Kanban tickets and Scrum timeboxes.
At my current employer, it's our business partners who're a bunch of douchebags that don't plan for anything except making sure their bonuses stay intact. Recently they terminated support for a third-party product that literally drives 99% of their web application then says to us "Hey, we need to build our own replacement for the vendor product using an entirely new stack. You have 3 months or our clients will get pissed." Oh, and these business partners keep raising new issues without any documentary basis except "this doesn't feel right" when they test our in-progress work. So helpful <sarcasm />
On the bright side, I'm getting paid whether or not this project fails, so... meh.
Crazy deadlines> Director: "You need to design a new architecture that has failover, multi-AZ, automated deployments, CI/CD pipeline, automated builds/tests as well, for our new SaaS product. You have 3 days to complete it"
Me: "Ok cool. Do we have the new product developed? Can I have the spec docs of the new software, libs and packages required for the env?"
Product Lead: "No we dont have anything yet. The POC is on my local PC, but I dont know what packages are needed to run it"
Me: "So I cant design anything unless I have the minimum requirements to run the new software"
Director: "Just get it up and running in a live environment and we'll take it from there"
Me: *sigh*..this is going to be a big mistake
Well, I am not sure whether this is supposed to be about worst experience as a reviewER or a reviewEE so I'ma do both. First as a reviewer.
So, on my first project in this company, I introduced automated build scripting (read: suggested, was "volunteered" to do it, then had to bust my ads to get it done). Prior to this, our process was run the thing in Visual Studio a bunch of times (don't ask) and package the resulting files. Well, new requirements made this not sustainable.
So after many many meetings in which I assured my co-workers that the script wouldn't cock up and go sideways and format our server (HOW???) and showed them how to work it AND added all the features they requested. I finally send the script out for code review. Oh the joy. Questions like: "why did you implement this?" Came from the guy who told me to implement it. "Can you change the formatting?" I checked and no. "Why isn't this to the code standard?" Because the code standard doesn't include scripting languages.
And here is the piece that takes the whole piss soaked shitsicle pie "I don't understand why we're doing this in the first place. We have a build process already, why do we need a new one?" FUCKING REALLY?!?!? YOU WERE IN THE GODS DAMNED MEETING WHERE WE DECIDED TO DO THIS!!! SET OUT THE REQUIREMENTS!!! LITERALLY EVERYTHING TO DO WITH THIS SCRIPT YOU WERE THERE AND YOU'RE ASKING WHY WE'RE DOING IT NOW!?!?! Fucking hell. I forced it through anyway because I had the higher ups all signed off on it, but seriously. Just because we're doing something new that slightly inconveniences you, doesn't mean it doesn't need to be done. Stop being afraid of change.
Side note: these people actually would regularly hold up process and product improvement because change is scary.2
Fucking product owners. Churning out retarded requirements every sprint and then complaining about how the requirements haven’t been met, just to add new retarded requirements the next sprint.
Hot tip, if your product owner is obsessed over apple events, tell the cunt to go buy a new Apple Watch and suck on apples trillion dollar market value. Fucking goofy cunts.2
I hate doing discovery and system analyst type crap. I'm a Dev, not a technical documenter. I'm not the product owner and I shouldn't be defining requirements for the application. Why does this seem to happen a lot?1
So a product manager emailing devs long essays on requirements? how does that sound? Aren't developers just supposed to implement the specifications? Is requirement gathering and design their job too? Maybe I need a new job before I go crazy.3
PM: have a look on this website and let me know if we can do this?
Me: Umm...the product is unfinished and it is built upon WordPress so it can be done...
Me: Send credentials so that and requirements...
PM: 'Need to finish the website and fix errors'
Me : [that's really vague but okay] Okayyyyyyyy
Me: Send credentials
Me: Moral of the story is, do not approach me if you do not have complete details...please fuck off...
PM : we don't have it1
every day my boss says he'll review the requirements for our product. every day he forgets to do so. every day he asks where the update for the next stage is. every day i remind him. every day he forg ---2
I've been given a huge stack of paper, some users stories and loose specs. Was tasked with engineering the specific requirements, then the models and finally the database. Then I need to build an API on top of that.
Stuff I'll use is Go and Postgresql. Small issue is, I've never done DBs, so I've no idea what to do or where to start.
Does anyone have any resources to help kick-start myself in this field? I've been reading on SQL, but that doesn't really tell me anything about data structures and how to transform those user stories into product requirements.6
So today we had a meeting with the owners of a product we're supposed to deliver a frontend for.
They started by stating their requirements, "we need this to be animated, we need this to be an image, we need a button here...."
Then my colleague asked the one question you should never ask to a person using need that frequently, "what browsers do you intend to support"
"We need to support IE6"
If you, as a product manager, can't give me requirements on a specific ask, how in the hell do you expect me to deliver anything? "Move thing from system A to system B" is not a fucking requirement.3
Fucking lazy product managers....
Can't fucking care about renaming a word document....
The document says template you moron. You are supposed to duplicate it for your requirements. Not edit directly on the template.
And fuck whoever gave this moron edit access to a global template.
When you start a new job and you inherit a steaming pile of shit that NEEDS to integrate with a completely separate application but after repeatedly telling your manager his requests aren’t possible, he denies it and says it is possible.
Some context. They have an old application written in MVC. They want a new application written in react. They want all the old functionality to integrate with the new functionality. I don’t just mean render different views based on the route, I mean they want both applications to integrate seamlessly to create a new application. Not to mention this new application is completely different to the old one and has requirements that aren’t even compatible with the old application.
Also. I got into trouble today for completing the sprint in 2 days and starting on user stories (that were in the sprint, not the backlog). Apparently we’re not allowed to showcase the product until the sprint ends and we go through our retrospective/demo. LMAOOOO
So I am a Software Engineer at a small scale company.
I need to coordinate with customers, understand the requirements and design and develope the solutions.
These sometimes include changing the current product a bit and customize it to fit the client needs or maybe creating a plug-in that could work with the current product and get the job done.
I love the research, design and planning part of the job, I would be super focused and will find solutions for complex stuff. Plan it all to the smallest things.
I know the solution so I can think of what code would be there what would be needede whats already there etc.
But when it comes to coding the solution my laziness kicks in.
My mind is like you already know the solution why you need to code it to.
Then I start procrastinating and end up putting myself under a pile of stuff when the deadline approaches.
I made a point to the management that people are unnecessarily reworking things and throwing away. And all products should have a product owner and they should give requirements. So the management called the same guy(who fucking does pointless rewrites in the name of code cleanup) and said come up with a solution. The guy came with a solution of Agile + Jira and a whole fucking process behind it. So guess what, we are having pointless meetings when we can just finish and ship deliverables.
The management successfully founded an efficient way to effectively waste time. Kuddos.4
Two weeks before the release of a major new version of an application I'm working on, the testers finally got round to testing the new functionality (a set of a few features and a new page). They didn't agree with the requirements and got the requirements to change with the product owner.
The product owner now says that these changes "are easy to implement" and "the new requirements are clear" even though the other devs and I all don't understand the change. How would a product owner even know it is easy to implement?
This is a part rant-part question.
So a little backstory first:
I work in a small company (5 including me) which is mostly into consultation (we have many tech partners where we either resell their products or if there is a requirement from one of our clients, we get our partners to develop it for them and fulfill the client requirements) so as you can see there is a lot of external dependencies. I act as a one-hat-fits-all tech guy, handling the company websites, social media channels, technical documentation, tech support, quicks POCs (so anything to do with anything technical, I handle them). I am a bit fed up now, since the CEO expects me to do some absurd shit (and sometimes micro manages me, like WTF I am the only one who works there with 100% commitment) and expects me to deliver them by yesterday.
So anyway long story short, our CEO finally had the brains to understand that we should start having our own product (which i had been subtly suggesting him to do for a while now!).
Now he came up with a fairly workable concept that would have good market reach (i atleast give him credits for that) and he wanted me to suggest the best way to move forward (from a both business and technical point of view). The concept is to have an auction-based platform for users to buy everyday products.
I suggested we build a web app as opposed to a mobile one (which is obvious, since i didnt want to develop a seperate website and a mobile app, and anyway just because we can doesnt mean we have to make a mobile app for everything), and recommended the Node/react based JS tech stack to build it.
At first he wanted me to single handedly build the whole platform within a month, I almost flipped (but me being me) then somehow calmed down and finally was able to explain him how complicated it was to single-handedly build a platform of such complexity (especially given my limited experience; did I mention that this is my first job and I am still in college, yeah!!) and convinced him to get an experienced back-end dev and another dev to help me with it.
Now comes the problem, I was to prepare a scope document outlining all the business and technical requirements of the project along with a tentative cost, which was fairly straightforward. I am currently stuck at deciding the server requirements and the system architecture for the proposed solution (I am thinking of either going with AWS - which looks a bit complicated to setup - or go with either Digital Ocean or Heroku):
I have assumed that at peak times we would have around 500-1000 users concurrently
And a daily userbase of 1000 users (atleast for the first few months of the platform running)
What would be the best way forward guys?
I did some extensive (i mean i read through some medium blogs! and aws documentation) research and put together the following specs (if we are going through AWS):
One AWS t3.medium ec2 instance for the node server (two if we want High Availability by coupling with the AWS load balancer and Elastic Beanstalk)
The db.t3.small postgres database
The S3 Storage bucket (100gb) for the React Front end hosting
AWS SNS for email/sms OTP and notification
And AWS CloudMonitor for logging amd monitoring.
Am I speculating the requirements properly, where have I missed??
Can u guys suggest what is the best specification for such a requirement (how do you guys decide what plan to go with)?
Any suggestions, corrections, advices are welcome3
Spend a good portion of yesterday bailing out a feature written up by support on one of our clients behalf. It is working now as the requirements stated. This morning, I put it into sup testing and product manager comes and asks if we can rework it almost entirely.
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
My manager/lead is like “Fuck you! I don’t care what your problems are. I have given you my requirements. Build the application according to that. I just want the final product. And tell me when we can have Code Review”.3
Working as a Dev for a while now, I tell new people not to bother with it. There is never any job satisfaction as people in charge never understand the basics.
Instead of learning to write efficient code, figure out how to solve real business problems, work towards a maintainable flexible product to quickly deliver value on changing requirements, write automated tests to improve quality, maintainability and prevent live issues - basically do anything a good Dev strives for - you will just constantly end up working for people with no interest beyond the next couple days, on a shit code base that no one can understand, with people that don't want to learn anything about software design and just check boxes off.
Apart from pay this must be the worst career possible in a technical field.4
TLDR, need suggestions for a small team, ALM, or at least Requirements, Issue and test case tracking.
Okay my team needs some advice.
Soo the powers at be a year ago or so decided to move our requirement tracking process, test case and issue tracking from word, excel and Visio. To an ALM.. they choice Siemens Polarion for whatever reason assuming because of team center some divisions use it..
Ohhh and by the way we’ve been all engineering shit perfectly fine with the process we had with word, excel and Visio.. it wasn’t any extra work, because we needed to make those documents regardless, and it’s far easier to write the shit in the raw format than fuck around with the Mouse and all the config fields on some web app.
ANYWAY before anyone asks or suggests a process to match the tool, here’s some back ground info. We are a team of about 10-15. Split between mech, elec, and software with more on mech or elec side.
But regardless, for each project there is only 1 engineer of each concentration working on the project. So one mech, one elec and one software per project/product. Which doesn’t seem like a lot but it works out perfectly actually. (Although that might be a surprise for the most of you)..
ANYWAY... it’s kinda self managed, we have a manger that that directs the project and what features when, during development and pre release.
The issue is we hired a guy for requirements/ Polarion secretary (DevOps) claims to be the expert.. Polarion is taking too long too slow and too much config....
We want to switch, but don’t know what to. We don’t wanna create more work for us. We do peer reviews across the entire team. I think we are Sudo agile /scrum but not structured.
I like jira but it’s not great for true requirements... we get PDFs from oems and converting to word for any ALM sucks.. we use helix QAC for Misra compliance so part of me wants to use helix ALM... Polarion does not support us unless we pay thousands for “support package” I just don’t see the value added. Especially when our “DevOps” secretary is sub par.. plus I don’t believe in DevOps.. no value added for someone who can’t engineer only sudo direct. Hell we almost wanna use our interns for requirements tracking/ record keeping. We as the engineers know what todo and have been doing shit the old way for decades without issues...
Need suggestions for small team per project.. 1softwar 1elec 1mech... but large team over all across many projects.
Sorry for the long rant.. at the bar .. kinda drunk ranting tbh but do need opinions...
Hey fellow devs,
i finally did it! i applied as a junior dev in a software company for inHouse projects. the job interview is today in one week.
little background story for those of you who are just procastinating at this time:
i have started coding when i was in school. just little stuff - nothing special. after i finished school i edjucated in the business field (did not found the english word. something like office person or in our words "user").
after that my company changed the ERP System and i wanted to do that so badly. and i got that job. i worked my ass of to get that baby running. from entering the orders to production to shipping and billing, i made that all happen by myself. as we had some very specific requirements i also wrote applications myself. after about three quarters of a year we switched to the new system and it ran smoothly (company is producing windows and doors). i was so proud when the first windows were finished.
BUT there was one problem. I was alone. no second it person i could talk to. no one i could learn from and no one who could learn from me. i then decided to change the company. same product, same job - but within a team. It was a whole other experience. i really enjoy the exchange with my colleagues. we learn from each other and we solve problems together. we can rely on each other. As i worked there i also wrote applications for inHouse usage and i even launched my own first app (not related to company - private commercial project)
BUT there is one problem. I am still the only dev. so i try to code the lease i can at my current job so that the team still works and the whole system stays maintainable for everyone. I do not feel good holding back the desire to code something. so after two years (and with a lot of talks with my cousin) i finally applied for a job as a "real" developer.
I have no bachelor, so the invitation for the job interview made me so damn happy. i really hope that i can transmit my passion for this job and if everything fits that they take me.
The next rant will then be about the result of my job interview :)
PS: even if i do not get the job. i am proud of myself that i applied!
Thanks for reading, potato potato1
Couple months ago I mentioned that the product group needed to involve engineering when making promises to the business. Otherwise they were going to write checks our asses can't cash.
Welp, now the situation has happened and I pointed out that a lot of things have been promised for delivery that we haven't planned for or even seen in engineering. And things that I have been harping on haven't even been accounted for and, unlike business promises, these are legal requirements. Now I'm the asshole because I pointed this shit out in front of the whole team.1
Do you ever feel your job is too demanding compared to other software engineering jobs?
I've worked in two companies for now.
First company, Kotlin microservices and we had QAs, didn't have to write a lot of tech specs and no post mortem or on call at all (not yet atleast), it was just talk to PO, he tells the business requirement, we work together to make tickets, no legacy code so was easy to know what to do for tech, no monolith to handle or anything, much easier, just code and meetings.
Current job is meetings with PO telling you what he wants, have to write a full on tech spec and also know business requirements and product knowledge as the current PO doesn't know anything about how the products work, writing huge tech specs, communicating on requests sent my clients on slack, pretty much always firefighting, the system is so fragile and legacy, coding is actually less its mostly spending hours finding out how this shittt legacy flows work (no docs) , PO pretty much does fuck all, just wants meetings and wants us to do very very stupid tedious low impacts projects. This bundled with oncall and onpoint and the absolute sheer amount of incidents our team is involved in (on average we have 4 a week LOL, varying size but they're all very annoying) and the overtime oncall benefit is so bad too, if you do get paged out of hours, you just get that hour back during work hours. In other companies like friends, you get paid for the whole time you're oncall, whether you get paged or not. I can't go out anywhere on weekends or anywhere at all during on call in case I get paged, which happens a lot. Its a cluster of a mess. This bundled with manager stoll not wanting to promote me to IC3 despite all I've done so far.
My question is, is this more normal than I think it is? Is this just how crap our career can be? Mind you I'm in the UK so not getting those mind boggling US wages sadly either. Have US colleagues in same team doing same job but obviously getting more11
Take a job where you can gain some experience in product management and customer requirements, not just a late night caveman just coding.
Anything that brings me closer to understanding how to hopefully run my own business in a few years.
Right guys and gals, I need your opinions.
Recently was approached by a recruiter who thought I’d be a good fit for a role, a role that is a step up from senior dev but without moving into people / project management.
More like a bridge between architects and senior devs.
I thought what the hell, why not. So I agreed to go for it.
It could be quite a decent payrise (though that wasn’t my motivation for going for it) and I like the idea of doing more mentoring, design and research than I do now. It would involve stuff like learning new tech, coming up with examples and implementations of how the dev team need to use it to churn out user stories.
For the last few years I’ve been mainly a back end developer, which didn’t start by choice and I always liked to be full stack.
But the recruitment process for this role has been quite slow (number of reasons) and since then I’ve been given a new piece of work at my current employer doing some greenfield angular work, plus the c# back end.
I’m really, really enjoying this angular work. Haven’t done it for a while and it feels great to get back into it. Seem to be picking it back up with no problems, like the old magic is still there.
Also the money at my current place is good enough.
So now I’m wondering if I should bail on this other role in favour of seeing this out and maybe going back to being full stack (tho for reasons I’ll outline below in the long term that might have to be elsewhere)
But I’m also trying to remind myself that up until enjoying this work there’s a reason I decided to go for this other role.
Current place is a small company that has no project management process. It’s chaos, and everything’s an emergency. There are no requirements for anything, not enough people etc. No one has a clue how to run an IT project.
The one thing we do have is good development practices in our team and we have been greenfield for the last 12 months working on a new product. But we do tend to be pigeon holed into looking after a specific service/area.
But this new place if I got the role, is a bigger company (I’ve worked in small, medium and massive companies so I know what the difference is like), they’re a household name, they have resources for learning, putting people through aws certs, etc. They give people time each week to invest in themselves. Much more agile.
And thinking about it now you don’t often see a role that allows you to ‘move up’ without having to take on people/project management and still having time to be hands on.
(Just maybe more hands on with strategic work than delivering user stories for business as usual)
So just in general, what do you think?
1. write down requirements. what exactly do i want?
2. paint possible solution. how could the finished product look like? while doing this i think through each step of the application and often adjust step 1 until i think 'this is it'
3. design model. how could the database look like. what structure do i need?
4. define milestones. What to do first?
5. Start and keep 1-4 up to date
So the project I have been working on for the past 5 months was finally released yesterday with only very minor problems, this stemmed from both programming side, and users entering data incorrectly.
It has been a rather hectic 5 months. I've had to deal with crap like:
- clients not knowing their own products
- a project manager that didn't document anything (or at least everything into a Google Slides document)
- me writing both requirements AND specifications (I'm a dev, not a PM)
- developers not following said specifications (then having to rewrite all their work)
But the worst thing I think would be the lack of vision from everyone. Everyone sees it as a "project" that should be get it over and done with rather a product that has great potential.
So with the project winding down, and only very few things left to fix/implement. Over these 5 months I learned a lot about domain driven design, Laravel's core, AWS, and just how terrible people are at their jobs. I imagine if I worked with people who gave a damn, or who actually had skills, I probably wouldn't have had such a difficult project.
Right now I'm less stressed but now feel rather exhausted from it all. What kind of things do you to help with the exhaustion and/or slow down of pace?1
Hi, as a developer turned tester I was wondering if anyone here would hear a talk about what on earth testers actually do in a project and how they contribute to the product? I mean besides writing automation scripts or checking if all the requirements are met (the latter is really the most boring part of testing).
I am thinking of doing a talk on this but don't know if Devs might be interested and which conferences I should target.2
What do you even do when dev, other senior QA, your boss and management all give conflicting requirements for a big milestone planning while still ramping up?
My instinct tells me to do what my boss and dev tells me and to come up with the solution that makes the most sense.
No we don't have a product owner ffs. It's like a bizarre waterfall scheme. I have figure out this on my own and hope I made no big mistakes because the ones with the knowledge are unavailable to help. Been thrown in this shit and it's been 3 months I work here. I am honestly trying my best to filter the best out of this.4
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.
Pick up work that lets me get some experience in Product Management and Client Requirements rather than just being a nocturnal cave dweller who only codes.
All to get me one step closer to knowing how to run my own business when hopefully the time comes a few years down the line.
Fellow ranters I have a question.
Do any of you have experience of going from a consultant job to working as a developer for a product company, where the thing you're developing is the actual product and not just some side thing (like a infrastructure company having a website for example).
If so, how did the experiences differ from one another?
I'm considering switching positions to a SaaS company and I'm just wondering how much of all the consultant based BS that I'm constantly stressing over will be erased if I go there.
My biggest gripes about work in my few years of developing have been the lack of team work, really ill formed requirements, low knowledge of the codebase among coworkers and just badly written code bases.
I wonder how much of this stuff is just the nature of the work and how much could be traced back to developers pushing out shitty stuff due to hourly billing, people leaving several times a year.6