Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1
I have been a software engineer for about 14 years now, in the beginning, I thought to be smart meant writing methods that do everything and more. however as I matured in the industry, I learned. keep it simple. 1 method 1 responsibility. One should trail my code and never have to find themselves where they were before in the journey. a journey should have one purpose and not pivot (context disclaimer here) as it goes. good programming is simple programming, its a story not a case of multiple endings.3
I am struggling to have a holiday that includes no work. I keep on panicking at random times that I'll forget to code if I go any longer. Very silly fear I know but it's happening. I dont wanna feel like I have to rediscover my path around my projects when I get back to them. So i think of their structures and things needed to complete them from time to time just to make sure I am on track.11
Okay. For fuck sakes, writing complex code that's meant to handle "everything" and is "super generic" can be a fuck up. Like just keep shit simple. THAT is the show of great and impressive work. Over engineering is not it. Yes your shit works and yes your shit is fancy but was it needed? How long did it even take you for this over kill? How long will it take the next person to understand or not.
Someone now has to sit and run through your shit to get what you were doing. Instead of just being able to look and once and have it all figured out.
Keep things simple.
Lost 2 hours on bullshit 🤬4
When project managers are panicking and you know you are really so close from done, a few fixes and everything will fall into place. But manager is on your neck because "nothing is working" now you must take time to be their psychologist instead of working on what is actually making them panic 🙃 development is a rough space. One bug can stand in front of working products just like that
I really wanna say, please fuck off for a few hours. Thanks bye.3
After drilling yourself with links and resources, documentation and cant execute what you want. You leave it.
Some time later you go back and you are like why the hell didnt I understand this it's so simple :/ and it literally says what to do.
This is when I became a calm developer. Don't rush yourself. If you want to quickly do something. READ dont just look 🙃
Also, don't persist with understand the official docs. The third party explanations will show you flames 80% of the times if you are learning something new.2
Why is sleep not a choice. I have code to write but my body and mind wont let me stay up.
Too many projects so little time
No one to help 🙃
Sleep is really a devs enemy 🙆🏾♂️12
I understand devs find it hard to say "I dont know" because our job is about not knowing then knowing through our own accord, but damn, when you dont know. Let that be known, you may be directed or helped. Both you and the task requester will have a good time. And better expectations set.
Say it with me... "I dont know, but-will-look-into-it"
You might hear something nice like "here are some pointers"3
Me: We have a bug, we are not sure what's really happening yet. We have to look into it.
Project manager: what's happening
Me: We dont know yet
Project manager: How much time will it take to fix it
Me: We dont kn... actually *quick maths* unknown multiplied by "I dont know" divided by logic and addition of past experience - how many times we cant put time on bugs multiplied by we have been here before subtracted by the sqaure root of can we have time to investigate first?
Me: ....mhh an hour or so (then I remember Harry Potter wasnt my classmate) oh actually 2 hrs (in my head, safer)
Bug takes 2 days to solve 🙃
Project manager: you said 2hrs
Me to myself: I said it's a bug. A damn bug.6
Project manager: We have 13weeks for this project. We have promised the client.
Me: okay, why wasnt I consulted on that commitment?
Project Manager: yeah.... we have to do it
Me: okay, if we have 2 dedicated backend and one full time frontend - ONLY on this project.
Project manager: (with the face of lies) yes yes sure we can do that.
6 weeks later, after continuous interruptions. Frontend is behind because he was only on the project to an amount of 2 weeks of the 6 weeks.
Project manager: Are we still on time?
Me: *looks around for prank cameras* no the f#*k we not
Project manager: can we put in weekends?
Me: its 2019 bro, that ain't happening
*But because I am a nice guy, and dont like taking Ls, we will have it ready. Just not gonna tell the project manager, he deserves a few sleepless nights *7
Back in the day, I joined a little agency in Cape Town, small team small office with big projects, projects they weren’t really supposed to take on but hey when the owner of a tech business is not a tech person they do weird things.
A month had passed and it was all good, then came a project from Europe, Poland to be specific. The manager introduced me to the project, it was a big brand - a segment of Lego, built on Umbraco (they should change the name to slowbraco or uhmmm..braco somewhere there) the manager was like so this one is gonna be quite a challenge and I remember you said you are keen on that, I was like hell yeah bring it on (genuinely I got excited) now the challenge was not even about complexity of the problem or code or algorithms etc you get my point… the challenge was that the fucking site was in polish - face palm 1 - so I am like okay code is code, its just content, and I already speak/familiar with 13 human languages so I can’t fail here ill get around it somehow. So I spin up IIS, do the things and boom dev environment is ready for some kick ass McCoding. I start to run through the project to dig into the previous dev’s soul. I could not relate, I could not understand. I could not read, I could not, I could not. - face palm 2 - This dude straight up coded this project in polish variable names in polish, class names in polish, comments in freaking polish. Look, I have no beef with the initial guy, its his language so why not right? sure. But not hey this is my life and now I should learn polish, so screw it, new tab - google translate, new notes, I create a dictionary of variables and class etc 3 days go by and I am fucking polish bro. Come at me. I get to read the previous devs soul through his comments, what a cool dude, his code wasn’t shit either - huge relief. So I rock on and make the required changes and further functionality. The project manager is like really, you did it? I am like yeah dude, there it is. Then I realise I wasn’t the first on this, this dude done tried others and it didn’t go down well, they refused. - face palm 3 -
Anyway, now I am a rock star in the office, and to project managers this win means okay throw him in the deep - they move me to huge project that is already late of course and apparently since I am able to use google translate, I can now defeat time, let the travelling begin. - face palm 4 - I start on the project and they love me on it as they can see major progress however poland was knocking on the door again, they need a whole chunk of work done. I can’t leave the bigger project, so it was decided that the new guy on Monday will start his polish lessons - he has no idea, probably excited to start a new job, meanwhile a shit storm is being prepared for him.
Monday comes, hello x - meet the team, team meets x
Manager - please join our meeting.
I join the meeting, the manager tells me to assist the new dev to get set up.
Me: Sure, did you tell him about he site?
Manager: Yes, I told him you knocked it out the park and now we just need to keep going
Me: in my head (hmm… that’s not what I was asking but cool I guess he will see soon enough -internal face palm 5 - ) New dev is setup, he looks at the project, I am ask him if he is good after like an hour he is like yeah all good. But his face is pink so I figured, no brother man is not okay. But I let him be and give him space.
Lunch time comes, he heads out for lunch. 1hr 15mins later, project manager is like, is the new dude still at lunch.
We are all like yeah probably. 2hrs pass 3hrs pass Now we are like okay maybe something happened to him, hit by a car? Emergency? Something… So I am legit worried now, I ask the manager to maybe give him a ring. Manager tries to call. NOTHING, no response. nada.
Next day, 8am, 9am, 10am no sign of the dude. I go to the manager, ask him what’s up. Manager: he is okay. However he said he is not coming back.7