Admitting your mistakes is just as important when continuously growing as a developer and designer.
Adopted an antiquated framework? Enabled and force pushed your changes to a team's master? Built everything with script.aculo.us?
More times than you think, it's also beneficial to your colleagues as well (whether they admit it or not), since you're sharing something that can help them improve their skill sets with intellectual feedback based on personal experience.
Well, here I am, shaking my head in disappointment. I was so happy that I had separated two database models last week, but as the "full picture" started to become much more clear to me that it was not only an unnecessary approach (since there are better ways to handle the intended goal), but also started an avalanche of changes that went against my personal love of writing DRY code. (aka , "Don't Repeat Yourself".)
I don't feel time was wasted, because now this goes into my mental log as "shit not to do", which is a fairly critical part of your evolution as a professional.
So, as a friendly counter to the question, "What was your biggest success this week?"...
What was the biggest mistake you've made this month?
Tuncay Üner
Software Craftsman
The mistake I made this month is underestimating my ability according to job necessity !
Sometimes, just reluctant to do something. Pretty lazy. Initially, I planned to complete experiments for a paper. Later I found there're lots of hidden traps, having to figure out all challenges one by one, which wasting lots of time. I was frustrated by some unexpected problems, then wanted to give up. But finally I have to face the problems. Therefore, what I learned is that difficulties are there, keep yourself calm and solve them without any anxiousness. That's life.
I over engineered my Android app. I am kind of restructuring it into just 3 classes now.
I created a Board game and created a lot of unnecessary components like Cell, Piece and Player when they aren't needed. The UI could just switch players automatically and the pieces could be stored as ints in a 2D array.
IDK what was up with me. But I am now writing all that crap in 3 files. I just finished have of it today.
Never write unnecessary code just to make it extra flexible and/or reusable in the unknown future.
I feel relieved telling this here ;)
I think mine was mergibg my test server and development server into one by mistake.. Book was not very clear but managed to sort it in the end 😂
My biggest mistake this month....is that I still haven’t quit my job 🤪. But actually, I’ve made a mistake of listening to my superior during PR. I had an elegant solution to a particular problem(a bit of a duck 🦆 typing in C# for 2 similar, but not related entities), he said it’s too complex(yeah, fill object’s properties and turn it into a desired type is soooo complex 🤣). Made me rewrite it into a bulk of copy-paste logic, that took 3x more space and looks awful(+ harder to maintain). He said it will cut some logic branching, but it did not at all, it has even increased it....
I know about reducing complexity and all for it, but it just triggers me, when developers complain about ‘complex’ solutions, just because they don’t know the language features and can’t utilize them(even though this feature fits the problem like a glove and was even introduced to solve such problems).
Sorry for the rant 🤭
Out of excitement I introduced Redux and all the middlewares of Redux like Redux-Saga, Redux-Actions, Redux-blah blah in my part-time project.. despite knowing it wasn't necessary 😅
Now for anything I want to write in React, I endup writing 3x more code in Redux middlewares 🤦🏻♂️
Lesson learnt: Before you add any framework/library to your project, make sure you try to picture the maintenance overhead it could add to your project
The biggest mistake I made was to introduce a bug on a production app yesterday. So, how did I introduce the bug?
I wrapped my component with an error boundary. In addition to wrapping my component, I accidentally wrapped a dropdown within the error boundary. When the dropdown changes, the error boundary resets (using a key) and everything within it (component tree) is re-constructed. This means that the dropdown componentWillUnmount is called and a new dropdown constructor is called.
So, what was the bug? When I open the dropdown, I remove the body scroll. And when the dropdown is closed, the body scroll is set again (to auto). I forgot to put this logic in componentWillUnmount. As a result, when the error boundary is reset, the body scroll is not reset.
Why is this the biggest mistake of the month? It was embarrassing. After the release, customers used the Dropdown and after that they were not able to scroll the page.
Second, there were multiple technical mistakes:
Overall, I feel a bit guilty because I am a senior developer and should not be introducing these sort of bugs while coding. I am waiting for the day when I write perfect code :)
My recent fails are less coding mistakes, but more of the every-day kind...
My biggest mistake today? Ordering pizza when I'm on a diet. I am so weak 😖, but it's so good 🍕
And on Monday, I was a bit shaky, so I managed to evenly distribute my meal across the whole room.
Well, but I also got one at work: I accidentally truncated a few tables of a productive DB, whoops. Good thing: The data in there is mostly configs, and the DB in which I wanted to originally truncate the tables still held the copy, so I fixed it without anyone noticing. Really, where was my head, though....
Maximilian Berkmann
Web and programming
Not being a more assertive scary Project Manager who escalate issues and risk a more time fashionable way.