We've all been there as Engineering Managers: facing a complex issue that does not have a straightforward answer. We apply our past experience but are not sure whether we miss anything. For example, we were looking for that rockstar candidate during hiring, but all we found were candidates that were not perfect. Among these candidates, who is the best for the team?
There is never a perfect decision. Fortunately, with generative AI rising, it also becomes a great tool to help us in such situations. AI is not just about automating tasks anymore. One of the most powerful uses of AI is for brainstorming. I often use them to help with decisions like hiring, team structure, and technical architecture choices. It can digest team context and provide recommendations.
With the right amount of help from AI (we don't want to go too far!) it supports our judgment to make a better decision.
π‘ Key Takeaways
Engineering leaders can brainstorm solutions by describing their problems and situations to AI tools such as ChatGPT (with proper care of PII & business secrets).
Working with AI is a process of "interactive brainstorming". Start broad, refine, and find the answers.
Gen-AI as a Decision-Making Partner
Interactive Brainstorming
The strength of AI tools like ChatGPT is to provide endless ideas toward a question, and we would utilize it for brainstorming solutions. Unlike traditional search engines, we can always ask follow-up questions.
The cycle looks like this:
- We start from broad/basic questions (e.g, how to improve team productivity)
- AI provide general suggestions
- We either:
- 1. refine our questions by adding more context; or,
- dig deep into one (or more) of the suggestions
- AI provide more suggestions
- Repeat 3 & 4
I call this "interactive brainstorming". It's a cycle where we gradually move toward the answer that we are looking for. It's like talking to a consultant or coach, but with unlimited time β±οΈ
Expect Multiple Options, Not A Single Answer
If you remember all the memes on internet about AI making mistakes, you are probably aware that do not rely on AI to provide one perfect answer. Instead, think of AI as a tool that presents multiple options with pros and cons.
AI can make mistakes
Your job as an engineering manager is to evaluate these options using your experience and judgment. AI provides the data, you provide the context and make the final call.
Remember: AI is a partner, not a replacement for your decision-making skills.
Techniques For Providing Relevant Context
To get the best results from AI in decision-making, you need to feed it the right information. Here are some examples of context:
- Team dynamics: team members, skill sets, workload, etc.
- Goals: Be specific about what the team wants to achieve.
- Historical data: Important past project outcomes and metrics.
- Constraints: budget, time, and resource limitations.
You don't have to provide everything, but anything can be helpful. I would suggest building a prompt template that can be used in different contexts. Save it as a text file and add details to it every time you provide new contexts to AI. It will turn into a knowledge base.
By giving AI this context, you'll get more accurate and useful insights. It's like briefing a new team member β the more they know, the better they can contribute.
Problem-Solving Example: Hiring Decisions
Hiring is common in managing a team. However, for new Engineering Managers, it's always overwhelming when making the first hiring decision.
Companies usually provide a guideline in hiring, but it won't tell managers how to find the best fit for their specific team. In addition to Googling various resources, it's also helpful to seek answers from AI. It's common to have one candidate that is good enough to pass all interviews, but we are wondering whether we should keep looking.
Let's use hiring as an example to see how can we have a conversation with AI and move toward the solutions that we are looking for:
1. Start with the Basic Questions
Let's start with the basics and use ChatGPT as an example. I would start with the prompt:
What factors should a manager consider when evaluating a software engineer candidate for the team? There is a candidate that has passed all interviews but the manager is wondering if they should proceed.
ChatGPT will give me a list of factors. For example:
- Technical Skills and Fit
- Team Dynamic Compatibility
- Cultural Fit
- ...
The benefit of using AI is that we can continue the conversation. Let's add some details in the next step!
2. Refining Questions by Adding Contexts
Seeing all the options provided by AI, you probably will have some ideas what to look for. But in case it's still unclear, it's always good to look at our problem statements: Why are we hiring? What problems are we trying to resolve?
Let's say the reason why we are hiring is due to addition of some big development projects. In that case, give this detail to AI and they will help us narrow down the options.
For example:
The main reason of hiring is that there is a big project coming, and the team needs an extra hand. In that case, what factors should the manager prioritize?
And we'll get some more accurate answers such as:
- Project-Specific Experience
- Team Dynamics and Workload Management
- Communication Skills
- ...
Now we have more accurate options to consider. Since AI knows that the main reason of the hiring is for a new project, it will surround its answers with the project. If there are other issues that we are resolving, such as having not enough senior members in the team, it's also helpful to provide those contexts.
3. Provide Constraints
One common challenge for managers is that they don't know whether they should keep looking or move forward. Often times there is no rockstar candidate. In that situation, we can provide this context to AI as well:
The candidate is good enough to pass the criteria, but the manager is wondering whether they should keep looking. What are some factors that can support the manager making this decision?
We'll get some more factors from AI:
- Urgency of the Hiring Need
- Fit Beyond Minimum Criteria
- Potential Risks vs. Benefits
- ...
You might feel that AI is just giving a list of options without ranking their priority. No problem. Just ask them to do it:
Rank these factors
It will give you a more accurate ranking of which factors should you prioritize.
Remember, the brainstorming process is always interactive. Imagine AI as a consultant. Ask all questions that you want.
4. List Priority Factors and Make a Decision
At this point, you probably already have more than 30 factors to consider thanks to AI, but we are not going to use all of them.
Create a document and put all the important factors for the team, and add details to those factors. This helps organize our thoughts in decision-making. For example:
- π’ Good Skills match. Shorter onboarding time.
- π’ Available immediately.
- π‘ Might have language barrier. Still learning English.
Just like a hiring scoreboard, once you are happy with the list, you'll make a well-informed decision.
In this process, AI helps rank the most important factors related to the team. It might not seem very difficult for experienced managers, but for those who are not familiar with this topic, it could be a great learning opportunity.
Best Practices For AI Collaboration
Start Broad, And Refine
Begin with a wide-angle view when using AI for your projects. π Cast a broad net with your initial prompts to get a comprehensive overview. For example, ask "What are the main considerations for refactoring a legacy codebase?" This approach helps you understand the full scope of the task.
As you gather info, narrow your focus. Refine your prompts to dig deeper into specific areas. You might follow up with "What are best practices for refactoring JavaScript in a monolithic app?"
It's like zooming in on a map - start with the whole country, then drill down to your exact destination.
Ask For Structured Response Including Guides, Examples, And Risks
Request guides, examples, and potential risks for each task. This approach helps you get actionable insights and spot potential issues early.
For instance, when planning a new feature, prompt the AI: "Provide a step-by-step guide for splitting the frontend and backend in a monolith app. Include best practices and risks."
π‘ Key elements to request:
- Clear, numbered steps
- Potential pitfalls and how to avoid them
- Best practices specific to your tech stack
Techniques For Iterative Refinement
Refining AI outputs is crucial for getting the best results. It is like a conversation - you're guiding the AI to bring you close to the answers.
Start by analyzing the initial response. What's missing? What could be improved? Use this to form your next prompt. For example, if the AI suggests a database schema, you might ask, "How can we optimize this schema for read-heavy operations?"
Some suggestions:
- Ask for alternatives: "What are other approaches to solving this problem?"
- Request pros and cons: "List the advantages and disadvantages of each method"
- Seek real-world examples: "Show me how top tech companies have implemented this"
Each iteration brings you closer to the optimal solution for your software development process.
Challenges While Working With AI Tools
Handling PII & Private Business Information
When using AI tools like ChatGPT, you need to be careful with sensitive data. Companies like OpenAI usually train their model using your conversations with AI. In worst scenarios, they might accidentally store or leak private info.
Here are some key points:
- Always check your company's policies & restrictions on AI use.
- Be cautious about personal information or private business data. We don't want names, phone numbers, and addresses to be leaked.
- Always use role-playing in conversations with AI. Avoid using "I" and "we" to indicate that this is your real situation.
Balancing AI And Human Creativity & Accountability
While AI can generate code and ideas quickly, it's crucial to maintainΒ human oversight. You don't want to lose the creative spark of your team or end up with AI-dependent processes.
We have seen so many developers abusing AI and use ChatGPT-generated codes directly in their codebase without modifications. We don't want to see that happening on Engineering Managers.
Use AI as a helper, not a replacement for human thinking. Combine AI insights with human expertise for better quality control. The goal is to enhance your team's capabilities, not make them AI-dependent.
Other Use Of AI In Decision-Making
Supporting Materials
AI can find relevant info & ideas to back up your decisions. You might ask for insights on similar decisions, industry trends, or past examples. This saves you time digging through docs.
Sounding Board
AI can act as a brainstorming partner when you're tackling tricky problems. Describe your situation and ask for different perspectives or solution ideas. This can help you spot angles you might have missed.
You can also use AI to simulate team discussions. Present a potential decision and ask how different roles (devs, QA, product) might react. This lets you anticipate concerns and refine your approach.
Frequently Asked Questions
What AI tools are best for interactive brainstorming?
Most popular tools like ChatGPT, Claude, or Gemini are useful in this case. Different tools have their own strength and insights, so I would recommend use multiple tools if you struggle with finding insightful answers on one tool.
However, it would be helpful if the tool has a "knowledge base" functionality available, so that you don't have to input your prompt from scratch every time. So far, I think Claude is the best for usability, but ChatGPT has better insights sometimes.
What are the best practices for integrating AI into engineering management processes?
Start small when adding AI to your work. It would work the best with areas that you are not familiar with. AI can provide general advices to lead you through the door.
Always check AI results. Don't rely on them completely. Use your own judgment too.
Keep learning about new AI tech. It changes fast. Stay up to date to get the most benefits.
Top comments (0)