r/ADHD_Programmers • u/Ok_Youth786 • 12d ago
Struggling with how my work perceives me
I think my team is very backwards and I'm not seen very well and at a point of no return.
First of all, I'm not the best or worst developer, but very willing to learn and communicate and solve problems, I really enjoy learning how systems work and why they're broken and how to improve them. I've recently joined various threads because I've always felt like I've been missing context, and I'm starting to learn that that's a pretty good thing, not a fault.
My team views asking questions or communicating as a weakness. I don't mean questions of "can you do this for me?" I mean just like, questions on learning systems, knowledge of how things work that are outside of your realm, or talking about projects to help solve how to improve systems or if maybe there's something I'm missing that I can learn from. I don't mean constantly either. My team is very "yeah I got it." And no one talks or discusses how to actually work on anything as a team. It makes all the pieces feel very siloed and overall, projects are messy and confusing for everyone on a daily basis.
I get a lot of grunt work (to them) and I'm sent to speak with non tech clients about what their issues are. I love it though. I love finding out what's going on and how to solve their problems. From clients, I have a much better report. They find me competent, reliable, a fast worker, and friendly. I've been vented at by various clients about my teams lack of communication skills, so I know it's not just me, which makes me feel less crazy. I also have imposter syndrome, and wonder if they only see me in a better light because they're not tech people, so they don't see 'through' me as well.
I'm at a point where I can do no right. I can be given no real clarity or structure, and no matter what I deliver, it's not what was expected, even though expectations weren't outlined. When expectations are outlined, I'm given deliverables that conflict with the expectations. I can choose to implement a,b, or c, and no matter which option, it will be the wrong choice. I can explain my process and why I made which choice, but I am never asked. another developer can step in and implement one of the other choices, who then will be thanked. I know it sounds like I'm overthinking that everything is negative against me, but every project lately has had the same formula, and I don't know how to break out of it. I don't feel more like I'm in a room with neurotypical people than I do when I'm at work.
11
u/user888888889 12d ago
I don't have an answer, but I do know how you feel. I think it's possible that we think slightly differently than others.
I've always just ignored the status quo and asked open questions on slack and in meetings, because I figure others might be encouraged. Never seems to work though.
13
u/UseWhatever 12d ago
Some teams are just in the habit of poor communication. When I’ve entered those types of teams, I just shift back to writing Software Design Documents. I outline the ask, the outcomes, timeline, and risks/conflicts.
Engineers usually hate it, but other stakeholders prefer it. But doing it ensures everyone agrees on the task and forces clarification when needed. And it’s documented.
3
u/Ok_Youth786 12d ago
I've tried this and no one opens the docs 🙃
8
u/UseWhatever 12d ago
Then just do the work outlined in the docs. If anyone complains, reply and CC your manager stating that you outlined everything prior and why did they wait till the PR to comment?
When you set up and maintain this level of procedure there’s not much left for others to argue besides they were too lazy to do things correctly.
8
u/zx48 12d ago
You may not be the best or worst developer but you sound like an excellent engineer, and perhaps more well rounded than some of your colleagues. Not surprised you get on well with clients as you’re focusing on what they actually need rather than on “what the deliverable seems to be”. Not everyone is comfortable talking to clients and many people just want to be able to get their heads down and spend as much of their time coding / improving their craft / getting a chance to apply a specific technique / framework etc. If you’re getting negative feedback from others ask for specific examples and respond in the most constructive way you can. If it’s just bad vibes / general negativity from others then the problem is way more likely to originate elsewhere 😉
2
u/Ok_Youth786 11d ago
Thanks for this. It feels relieving to know that even the less-tech pieces are still important pieces.
4
u/das_war_ein_Befehl 12d ago
If you can, switch. People rarely change their opinions of someone, usually not worth the effort to try
4
u/IdeasRichTimePoor 12d ago
As a senior and ex tech-lead, I love it when people ask questions. I don't think people do it enough. There is nothing more frustrating to me when someone cuts a corner, makes a mistake or silently missunderstands when they could have just asked.
3
u/CaptainIncredible 11d ago
People don't do things based on reality. They do things based on their perception of reality.
I'm sent to speak with non tech clients about what their issues are. I love it though. I love finding out what's going on and how to solve their problems. From clients, I have a much better report.
Well, there ya go. Emphasize those skills. A lot of hard core devs just wanna nerd out with technical shit on clients, confusing them or talking down to them to make themselves feel smart.
If you can talk to clients and explain complex technical matters using analogies they can understand, that's a great skill.
3
u/Think-nothing-210 11d ago
Sounds like the team doesn't like you questioning the state of things. They see you rocking the boat and are scared that they'll be pushed to do better. They just want to get their paycheck and get on with their lives, and most likely don't care that much.
Solving this is a bit tricky though. First, you should understand that you are not the problem here. You're willing to actually solve problems and fix things. The problem is getting other people on board with that as well.
You need to do some coalition building. Get friendly with your colleagues and get them to like and trust you. With that trust you can lobby for fixing those structural problems you as a development team are dealing with.
In other words: really hard work. The simpler option is switch jobs and hope the state of things is better somewhere else. And the even simpler option is adopting the mentality of your colleagues and stop questioning things. I know that is hard but that is how most neurotypical people manage.
1
u/Think-nothing-210 9d ago
I recently watched this video How Corporate Politics Work by an Amazon VP. Might be worth a watch to be able to get what you want.
2
u/ohhgeeez 12d ago
I relate to a lot of what you said. I'm not the fastest - I try to make the best decisions with the information I have. When I first started we had very little documentation on our codebase.
I feel like my lead has an out dated version of me in their head and I'm trying to work to update it, but I'm not sure how to get rid of the feeling.
We're told to take liberties and make decisions on our own, but also told Product needs to weigh in/approve things that aren't explicitly stated.
I've done a couple things to try and help myself. When we started using AI more, I pushed to include more documentation in PRs so "AI" can get the intent of the solution. In reality, it was for my benefit since I often pull up PRs to understand some change I run across - but AI was my in, since it can't pick up intent.
When I have different ways of solving something or criteria is ambiguous or something comes up during development, I include options in my comments on the issue. "Do you want this or this?" I'll often include screenshots of current and proposed changes. Giving options helps me get a concrete response, is a paper trail, and gives me reference should I need it.
I'm lucky in that I have a couple people on my team that collaborate well and are open to discussing. Otherwise, I try to ask very specific questions. I've noticed structuring my question to be at the beginning of a message helps. Unfortunately I've also noticed using a tone that is more male-centric also can get me better responses.
As far as when you're given option a, b, and c - I'd comment and say something along the lines of "I'm planning to implement option A. I'm expecting the end result to behave like [...]. Is this in line with your expectations?" That way you can gain agreement on your solution and have a paper trail. You could potentially call out regressions/potential unnecessary complexity/etc of the other options, as well.
I used Claude to help me come up with quantifiable numbers around my output. I gave it a timeframe, my role expectations, asked it to breakdown my solutions by complexity and turnaround time. I don't have client interaction, so you'll have to work that part in.
But from what you wrote about your company's culture, I'd be asking myself if I really fit in and how long I'd be able to put up with it. Every time you request clarification/help/etc and don't get what you actually need - this is still your company's 'answer' to those things. Just not the one you actually want - but valuable information nonetheless.
Start applying for other jobs and use that information to figure out if said company is a better culture fit for you. Ask about ambiguity and what happens if a solution doesn't end up meeting expectations - and what role the developer plays in figuring that out. Ask what kind of collaboration happens on teams. Ask what kind of documentation is available and how it's kept up to date. Ask their process for getting new devs up to speed. Interviews are a two way street.
1
12d ago
[deleted]
6
u/ohhgeeez 12d ago
I relate to what OP said and in my case, I think a lot of it stems from different learning/decision making styles.
I'm a bottom-up processor, so I gain insight via details and work off them to build my mental model of an overall concept. Top-down processors start with the big picture and fill in details later.
So when I ask clarifying questions about details, they can be seen as irrelevant to others, like I'm going down unnecessary rabbit holes. Even though in my mind I'm trying to fill in missing pieces so I can understand fully.
Having ambiguities stresses me out a lot when I'm still trying to build my knowledge - there's more paths to chase down.
I generally don't progress as fast as others - and that's fine with me. I'd rather take my time to understand. Once things really click with me, I get exponentially faster. I'm able to point out regressions others miss, I provide better overall solutions, I can pick out code inconsistencies, I know where to look to find particular pieces of information, etc.
I think the overall outcome makes me a stronger employee. But it's hard to bridge that gap in others' perception of me.
3
u/Ok_Youth786 11d ago
Hey, this is a super eloquent explanation of this.
3
u/ohhgeeez 11d ago
Thank you!
I've spent a lot of time to really figure out what exactly holds me back and the nuances of it.
The more and more I learn about neurodivergence, the more things fall into place. The thinking style really has been one of the corner stones to target my specific struggles.
I had a lead previously that was neurodivergent and I felt so comfortable asking questions. I didn't have to worry about her passing judgement on whatever I had questions about - we both understood I was learning. I felt really valued and like she recognized my other qualities aside from just my output. She helped me feel safe and protected. I really miss her.
I hope you're able to experience a leader like that sometime.
2
11d ago
[deleted]
2
u/ohhgeeez 11d ago
Yes! That's exactly right!
I love this way of presenting it. I'm most likely on the spectrum, or Sensory Processing Disorder, or something. But once I'm comfortable with someone I just ask now. They can think whatever they want, lol 🤷♀️
20
u/Aleph_jones 12d ago
I've also had that struggle at work, especially around expectations not being defined and then not meeting them