I’m a business analyst, and a big part of my job involves working with engineers and product managers to gather detailed, in-depth information. For reasons I don’t fully understand (though I have my theories), I often find that engineers, in particular, seem oddly reluctant to share the information I need. This makes the process more challenging than I’d like. Does anyone have tips or tricks for building trust with engineers to encourage them to share information more willingly and quickly?
EDIT: Here’s a summary with more details for those who requested more info: I’m working on optimizing processes related to our in-house file ingestion system, which we’ve been piecing together over time to handle tasks it wasn’t originally designed for. The system works well enough now, but it’s still very much a MacGyver setup—duct tape and dental floss holding things together. We got through crunch time with it, but now the goal is to refine and smooth everything out into a process that’s efficient, clear, and easy for everyone to follow.
Part of this involves getting all the disparate systems and communication silos talking to each other in a unified way—JIRA is going to be the hub for that. My job is to make sure that the entire pipeline—from ticket creation, to file ingestion, to processing and output—is documented thoroughly (but not pedantically) and that all teams involved understand what’s required of them and why.
Where I’m running into challenges is in gathering the nitty-gritty technical details from engineers. I need to understand how their processes work today, how they’ve solved past issues, and what they think would make things better in an ideal world. But I think there’s some hesitation because they’re worried about “incriminating” themselves or having mistakes come back to haunt them.
I’ve tried to make it clear that I’m not interested in punishing anyone for past decisions or mistakes—on the contrary, I want to learn from them to create a better process moving forward. My goal is to collaborate and make their jobs easier, not harder, but I think building trust and comfort will take more time.
If anyone has strategies for improving communication with engineers—especially around getting them to open up about technical details without fear—I am all ears.
If you are saying things like ‘I’m not interested in punishing anyone for past decisions or mistakes’, I think I can see the problem.
I’m not interested in punishing anyone for past decisions or mistakes
right so you think our decisions were mistakes rather than at best suboptimal but reasonable given the information at the time? how arrogant
My husband is an engineer. Screaming, “what the fuck are talking about?” is probably not the way.
I think people have already done a god job of covering the likely concerns. Here are the things I would emphasize.
Bear in mind that a lot of developers just hate doing documentation. :-}
Make sure that their management has made working with you a part of the engineers’ work load and goals. No one is going to provide good information when every minute they spend is putting them behind on things that directly affect their careers.
Provide them with a context for what you are trying to accomplish. Tell them the why and how, not just the what. That information can be very general or it can be at the level of providing specific examples of how you intend to present the information you gather. Find out what they would like to know, particularly since it’s likely to vary from person to person.
Keep in mind how different people can be. There are reasons for the stereotypes about developers, but their are pointy ends on every bell curve. You are likely to find a few people who communicate very well and can help you get the information you need from those who do not.
You sound like you have good intentions and the skill set for doing this kind of work. Don’t let negative responses discourage you. Work with the people you have, treat them with respect, and make sure they get credit for the work they do with you. Let them see what you’re doing and ask for feedback. There are going to be things you can’t control in the process, but if you work openly and in good faith people will usually respond in kind.
Thank you for the positive response, and for not automatically assuming I’m some corporate asshole drone 🤣 . I have leadership support from all teams involved.
hesitation because they’re worried about “incriminating” themselves
This is a hard one. Because this is not about engineers, but their nature as people.
An anecdote: A lawyer, once casually asked me - if I were to design a building (this was hypothetical, because I am not a civil engineer) and after construction, was to realise some mistake that would cost lives, would I go on to tell them about it - and his tone seemed like he considered it common sense that I won’t report it.
So, at least in his mind, it is common sense that people hide their mistakes.technical details
I am a kind of person that doesn’t know that people find it difficult to understand concepts out of their domain (mostly because I understand most, well explained stuff, irrespective of domain) and if someone were to ask me about my work, I would easily wander into the details. After a few years of industry experience, realising that to not be the case, I tend to be more abstract.
If you want the engineers to tell you more in depth about the technical stuff, I’d suggest you to show them your aptitude to understand their stuff and you will see them going more into detail of it. I had a manager (kind of), who was also an engineer and used Linux on a regular basis. I found it easy to discuss more in depth regarding solutions (the product was using Linux too) due to his familiarity.
Real life mechE here. I’ll tell you how my brain works.
99% of the time when I get an odd request from outside of the department, it goes one of many ways:- the request is literally not in my scope of work and I let them sit for a day or two and then politely deny with a CC to my manager.
- the request is so vaguely worded that I could give a 2 sentence answer or a 20 page pdf answer or a PowerPoint full of flowcharts, and all would be “right”, leaving me in a state of decision paralysis and needing clarification.
- the request is something I can help with but I don’t know your technical capability levels, so I try to keep it very generic and high level as to not simply knock you over with a technical dictionary.
- the request is in my scope of work and very doable, but I do not want to inadvertently share information that I may not be allowed to divulge freely to other parts of the company.
And of course, there’s a lot of CYA reluctance too depending on what’s being asked.
If you’re asking first or second level engineers things like “how does your technical work flow do it’s thing?” you are starting at the wrong level for a documentation project of this massive scope. Engineers have managers whose job is to translate requests into technical terms and figure out who is the best at doing what. That’s what mine does: he takes a super weirdly worded ECR (engineering change request) and translates them into technical steps and clear direction for me. Then I can pick out the details needed to make it happen, confirm them, and document them.
You need to define clear needs out of your request: start with your end goal, the processes you need, the mechanical details of the processes you need to write, how much detail you are comfortable with, and the format in which you want it . and take all of that to the senior or director level of whatever department manages those systems. They may or may not know the exact information you need, but it should be their job to delegate and translate the request such that their reports can collate what you need in the form that you need it. And because it’s the director delegating, the engineers have inherent CYA and will be a lot more comfortable giving you what you need.
I relate to this style more than the other comments in this thread, this seems more typical of a large company.
You need to define clear needs out of your request: start with your end goal, the processes you need, the mechanical details of the processes you need to write, how much detail you are comfortable with, and the format in which you want it . and take all of that to the senior or director level of whatever department manages those systems. They may or may not know the exact information you need, but it should be their job to delegate and translate the request such that their reports can collate what you need in the form that you need it. And because it’s the director delegating, the engineers have inherent CYA and will be a lot more comfortable giving you what you need.
Unfortunately this adds to the bureaucracy, but it really is the most effictive way of translating business needs to engineering needs. It’s not a straightforward process, and accurately defining the steps that need to happen for a job to get done, takes someone with a lot of experience and training.
If you’re in a startup or smaller company, then I think the other comments that prioritize asking and listing to what the engineers recommend, is the best approach.
Anecdote from my first job (software engineering): New manager wants to know what our team does and how our process and software works. Like, he really really wants to know it!
Okay, I book a timeslot and prepare some slides and an example; we have a meeting. I go over the high level stuff, getting more and more specific. (Each person on our team was responsible for end-to-end developing bootloaders for embedded HW.) When I got to the SW update process and what bit patterns the memory needs to have and how the packets of data are transmitted, he called off the meeting and I’ve never seen him since.
I guess, he didn’t want to know THAT much after all.
Fair enough. But I actually do want to know that stuff, and it’s not over my head.
Engineers are, as a rule, bitches. You gotta loosen them up with drugs first if you want a decent conversation.
There are a few things you can do that will help make everyone’s life easier.
First thing, ask engineering what can be done to reduce technical debt and then fight for it aggressively. This is often a hard sell to the product owners at first because it can increase the time it takes to produce new features, at least initially. In the long term, it will pay huge dividends to everyone involved.
When tech debt gets ignored on a new project, the timeline usually goes something like this:
-
Project is barreling toward MVP at lightening speed. The Product owner said “move fast, break things” and engineering is delivering based on that mindset and everything seems to be going great.
-
MVP is almost ready but uh oh! Now a new feature has been requested.
-
“Move fast, break things” doesn’t allow time for code that is easily understandable or extendable to fit new use case scenarios so a huge chunk of the codebase has to be rewritten to accommodate the new feature.
-
Wash, rinse, repeat.
Without a major change in design philosophy, the cycle tends to get worse over time with small features requiring more and more extensive refactoring and the number of regression bugs skyrocketing. Not to mention the code base is now a disorganized, smoldering pile of spaghetti that every dev loathes having to work on. Stakeholders are unhappy. Customers are unhappy. Engineers are unhappy. Everyone is unhappy.
Second thing, talk to some actual users, people who are NOT involved in the project, to get their feedback. As an engineer, I like working on projects that add value to someone’s life, or at least make their work day easier. I want the user experience to be positive. I want the features I’m working on to enhance that experience. I don’t want to waste my time working on features that are completely useless and will be rejected by the users as such just because some VP who doesn’t understand what the users want has a bright idea. I’ve experienced this a lot throughout my career and to some degree it’s curbed my interest in software engineering, simply because I feel like a lot of my time and effort were wasted on projects or features that were DOA.
-
Probably they’d rather drink a dogshit milkshake every single morning than use fucking JIRA, and they’re hoping you die of natural causes before you get a chance to force it on them.
Hire people who can speak, read And write English to a very high proficiency. Prioritise it.
Have you asked them why they are reluctant to turn over the deets?
I’ve certainly withheld info because explaining DMARC is a lot more time consuming then just saying it’s a special type of spam filter.
Actually, no. Not in so many words. It seems so simple. My theory was that they are afraid of admitting mistakes because they think I’m going to “report” them or something, and make them look bad. And I have opened at least 3 times with how I am not remotely interested in anything like that, and I am looking to document process, and get their ideas for what an ideal process would look like for them. I feel like they don’t believe me.
Again, verbal assurances mean nothing, especially if they know the issue has internal political implications as this one obviously does. And even if they believe you, that doesn’t mean they trust your boss, so anything they say could still burn them later. Words alone can’t resolve this dilemma.
Also, has anyone tried what you’re trying before? If so, maybe you’re struggling because of past failure, not your fault but still your problem now.
This is an area my company has historically sucked at. Hard. I aim to fix that, and in fact that is the reason my team was created.
The engineers have their own tasks and deadlines to deal with, why are you talking to them directly to get the information you want? You need to talk to their project manager to either give you access to the database in question, write a tool that generates the report you need or write a one time query to get this information. All of these things take time and need to be planned and resourced. I hope you’re not just walking up to people and asking for random lists of customers that ordered more than once in the last year or whatever?
This is not at all what is happening here, but your sentiments are certainly valid. This is about process creation and improvement.
You should probably add some specifics, because your original post is super vague.
first, you’re talking about software “engineers” which means you aren’t talking about engineers in general.
and there’s a good chance none of them have ever had an engineering course in their life. they’re hackers who are good at making code.
the reason they probably seem reluctant to share is that what they’ve cobbled together with bubble gum and bailing wire is difficult to explain quickly and thoroughly AND they’d be taking time away from their assigned tasks to do so without having any change to their deadlines.
stop blaming them and start blaming their management for not giving them the time and permission they need to help you. go to the management and say you need so-and-so to be assigned 40 or 80 hours specifically to help you understand these widgets.
and in the future you need to push for clean up, documentation, lessons learned, and training to be part of every project estimate.
I’ve tried to make it clear that I’m not interested in punishing anyone for past decisions or mistakes—on the contrary, I want to learn from them to create a better process moving forward. My goal is to collaborate and make their jobs easier, not harder, but I think building trust and comfort will take more time.
I’d wager that the engineers have experienced such promises in the past and got burned. Engineers, by nature, are very analytical. Re-gaining trust that was once burned will take a lot of work. And managers like you are exactly the kind of people that burn engineers.
Good point. I’ve saved all my vitriol for our incompetent Product Team though 😜
The deeper I get into a subject involving engineering, the less I can relate what I know effectively. If I’ve done the thing many times, I can talk about it more freely.
It boils down to, “I don’t know what I don’t know.” The only thing I can do is explain the long path of stuff I’ve figured out in order to get where I am at in my understanding. I don’t have a clear overview scope. I’m aware I have likely made mistakes even within what I know.
If you are asking me for official statements that can come back to me, I’m going to be extremely cautious in what I tell you and only speak about things I am absolutely sure of and have triple checked. Most of what I’m sure of is going to be unhelpful surface level information. Professionally, telling you anything that could be wrong is career suicide. Reputation is the currency of an engineering career.
This is exactly the vibe I have been getting. And I have really been trying to reassure them that I am in no way looking to “punish” anyone for any mistakes. If anything, I want to hear about mistakes, and any solutions that were thought up, as a guide to how we can improve the process going forward, to make their jobs easier, as well as everyone’s. It’s all super positive, and none of this will ever “come back to bite them.” But without finding out their challenges, it makes it very difficult to try an anticipate what issues we may run into as we build these processes, and further on down the line.
Try to also explain how you currently understand the systems and processes, and ask them to correct what believe need to be corrected, or why not ask them who else might know better