From Annoying Intern to Senior Sidekick: A Developer’s Guide to Mastering AI

Let’s be honest. We’ve all been there. You paste a chunk of code into an AI chat window, type « fix this, » and hold your breath, hoping for magic. What you get back is a syntactically correct, beautifully useless piece of nonsense that completely misses the point. You sigh, close the tab, and go back to cursing at your screen and console.log()-ing your way to a solution.

The initial « wow » factor of AI in software development has quickly been replaced by a more pragmatic, and sometimes frustrating, reality. These Large Language Models (LLMs) aren’t the magical oracles we were promised. They won’t steal our jobs tomorrow, but they are changing the very nature of our work. The difference between a developer who struggles with AI and one who thrives with it comes down to a simple, fundamental shift in mindset.

Stop treating your AI like a search engine or a magic 8-ball. Start treating it like a hyper-enthusiastic, infinitely patient, but slightly amnesiac junior developer.

Once you make that switch, everything changes.


The « Vague-Posting » Fallacy: Why Your Prompts Fail

You wouldn’t walk up to a new team member, vaguely gesture at a monitor, and say, « Code something. » You’d get a blank stare, and rightfully so. Yet, this is precisely how most developers interact with AI.

A bad prompt is the developer equivalent of vague-posting on social media. It lacks context, intent, and constraints.

  • Bad Prompt: Write a Python script for an API.
  • AI’s Inner Monologue: An API for what? Using which framework? Flask? FastAPI? What should the endpoints be? What data format? Does this person even know what they want?! I’ll just give them a generic Flask « Hello, World! » and hope they go away.

To get professional-grade output, you need to provide a professional-grade brief.

The Anatomy of a Killer Prompt: Giving Your Junior AI a Proper Spec

Think of your prompt as a ticket in Jira or a project brief. It needs to be clear, concise, and contain all the necessary information for your « junior dev » to succeed. Here’s your new checklist.

1. Assign a Persona: « You Are a… »
This is the most underrated trick in the book. By giving the AI a role, you anchor its knowledge base and response style. It’s the difference between asking a random person for directions and asking a seasoned taxi driver. Use instructions files for that, even generate instructions based on your codebase (GEMINI.md, AGENT.md, copilot-instructions.md, .cursorrules, etc.).

Example: "You are a senior backend developer with 15 years of experience in .NET Core and a specialist in postgres optimization."

2. Provide Rich Context: The Lay of the Land
Your intern can’t work in a vacuum. They need the full picture. This is the most crucial part. Don’t be lazy here (it will be time more consuming if you are). Provide:

  • Relevant Code: The specific function, class, or component you’re working on.
  • File Structure: If relevant, explain the project’s layout.
  • Dependencies & Versions: (Using .NET Core 9.x and EF Core 9.x)
  • The Goal: What business problem are you trying to solve? Why does this code need to exist?

3. Define the Objective & Constraints: The « What » and « What Not »
Be explicit about the task and, just as importantly, the boundaries.

  • The Task: "Refactor this function to improve its readability and performance."
  • The Constraints: "Do not add any new external libraries. The function must remain backward-compatible with the existing API signature. Ensure you add type hints and a clear docstring explaining the logic."

4. Show, Don’t Just Tell: The Power of Few-Shot Examples
If you want the output in a specific format, give it an example! This is called « few-shot prompting » and it’s incredibly effective.

Example: "I want you to generate unit tests. Here's an example of a test for a similar function: [Paste example test code]. Now, generate three new tests for the following function: [Paste new function code]."

5. Demand a Specific Output Format: The Deliverable
Don’t let the AI just dump a wall of text. Tell it exactly how you want the information presented.

Example: "Please provide your answer in a Markdown format. First, provide the refactored code in a .NET code block. Second, create a bulleted list explaining the key changes you made and why. Finally, provide a new set of unit tests in a separate code block."


The AI-Powered Workflow: Moving Beyond Simple Code Generation

With this robust prompting strategy, you can now integrate AI across your entire development lifecycle. It becomes less of a novelty and more of a force multiplier.

For Debugging:

  • Old Way: "My code is broken, here it is."
  • New Way: "You are an expert Typescript debugger. I'm getting a 'KeyError' on line 42 of this script. Here is the full function, the stack trace, and a sample of the JSON object that is causing the error. Explain the root cause and suggest two ways to fix it, one being a simple hotfix and the other being a more robust, long-term solution."

For Refactoring and Code Reviews:

  • Old Way: "Make this better."
  • New Way: "Act as a senior software architect conducting a code review. Analyze this TypeScript function for potential performance bottlenecks, anti-patterns, and opportunities to use more modern ES6+ features. Provide your feedback in a list, referencing line numbers and suggesting specific code improvements."

For Documentation and Onboarding:

  • Old Way: "Write docs for this."
  • New Way: "Generate a README.md file for this Go project. The project is a command-line tool that does [X]. Include sections for: 'What it is', 'Installation' (assuming Go 1.19+ is installed), 'Usage' with three clear command-line examples, and a 'Configuration' section explaining theconfig.yamlfile."

For Learning and Exploration:

  • Old Way: "Explain Rust's borrow checker."
  • New Way: "I'm an experienced C++ developer trying to understand Rust's borrow checker. Explain it to me using analogies related to C++ memory management, like smart pointers (unique_ptr, shared_ptr) and RAII. Provide a simple code example in both C++ and Rust to illustrate the concept of ownership."

The Human in the Loop: You’re Still the Pilot

Here’s the crucial takeaway: AI is a phenomenal co-pilot. It can handle navigation, check systems, and manage communications, freeing you up to focus on the hard stuff—like actually flying the plane.

Your value is no longer in your ability to write boilerplate code or remember the exact syntax for a LEFT JOIN. Your value is in:

  • Architectural Vision: Designing complex, scalable, and maintainable systems.
  • Critical Thinking: Knowing when a piece of AI-generated code is brilliant and when it’s dangerously naive.
  • Domain Expertise: Understanding the business logic and user needs that the code is meant to serve.
  • Prompt Engineering: The new meta-skill of effectively directing your AI partner.

The developers who will be left behind are the ones who either reject these tools entirely or use them naively. The ones who will thrive are those who master them, transforming their AI from an annoying intern into a trusted, senior-level sidekick.

So, the next time you open that chat window, take a deep breath. You’re not talking to a machine; you’re briefing your new junior. Give them the respect of a clear, detailed task, and you’ll be amazed at what they can do for you.

How to activate Bing Chat Enterprise

Here we are, Bing Chat Enterprise is out ! Have a look at the official product page : Your AI-Powered Chat for Work | Bing Chat Enterprise (microsoft.com). With Edge for Business already available, Edge is placing itself as personal and professional place to browse and use Internet service.

  1. Connect to this link to accept Bing Chat Enterprise Supplemental terms : https://www.bing.com/business/bceadmin
  2. Check the box to accept terms and click on Activate in Bing chat Enterprise zone :

In case of success you will have the following message :

If you are licensed for Microsoft 365 E3, E5, Business Standard, Business Premium, or A3 or A5 for faculty, it will comes at no additional costs for your company.

Next time, you and your collegues, will open Edge, you should see a Protected label in the upper right corner that indicates Bing Enterprise is enable and you can share data and conversations with Bing Chat securely and privately.

How to integrate OpenAI API (Text, Codex, DALL-e, ChatGPT coming soon) in your .NET Core app in 15 minutes

OpenAI API overview (from Open AI)

The OpenAI API can be applied to virtually any task that involves understanding or generating natural language or code. We offer a spectrum of models with different levels of power suitable for different tasks, as well as the ability to fine-tune your own custom models. These models can be used for everything from content generation to semantic search and classification.

To makes it a little more understandable, so with OpenAI API you can : generate and edit text, generate/edit/explain code, generate and edit images, train a model, search, classify and comapre text. Checkt the documentation here.

We will use DaVinci GPT-3 model in our app, but you can try other models :

LATEST MODELDESCRIPTIONMAX REQUESTTRAINING DATA
text-davinci-003Most capable GPT-3 model. Can do any task the other models can do, often with higher quality, longer output and better instruction-following. Also supports inserting completions within text.4,000 tokensUp to Jun 2021
text-curie-001Very capable, but faster and lower cost than Davinci.2,048 tokensUp to Oct 2019
text-babbage-001Capable of straightforward tasks, very fast, and lower cost.2,048 tokensUp to Oct 2019
text-ada-001Capable of very simple tasks, usually the fastest model in the GPT-3 series, and lowest cost.2,048 tokensUp to Oct 2019

Important : today (02/17/2023), ChatGPT API is not yet available but OpenAI indicates that it will come soon.

Phase 1 : get your secret API key

  1. Go to the OpenAI website and create a new account
  2. Signup for an OpenAI account
  3. Confirm your email address
  4. Log in to your account and navigate to the ‘View API keys’ dashboard
  5. Click on ‘Create a new secret key’

Store your API key in a secure location. You can test the API right now, but if you intend to use OpenAI API in a real workld case scanerio, check OpenAI documentation for details on usage and pricing.

 Phase 2 : create you .NET Core project to consume OpenAI API

  1. Open Visual Studio 2022
  2. Create a new .NET Core project (in my case a Web API)
  3. Install the ‘OpenAI‘ NuGet package as below :

4. In your program.cs file, just copy the following code (replace the apiKey with yours, generated in phase 1)

using OpenAI_API;
using OpenAI_API.Completions;

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.UseHttpsRedirection();

app.MapGet("/givemesecretoftheuniverse", (string prompt) =>
{
    var apiKey = "sk-5ucaz1m00000000000000000000000000000000";
    var answer = string.Empty;

    var openAIAPI = new OpenAIAPI(apiKey);

    var completionRequest = new CompletionRequest
    {
        Prompt = prompt,
        Model = OpenAI_API.Models.Model.DavinciText,
        MaxTokens = 2000
    };

    try
    {
        var result = openAIAPI.Completions.CreateCompletionAsync(completionRequest);

        if (result != null)
        {
            foreach (var item in result.Result.Completions)
            {
                answer += item.Text;
            }
            return Results.Text("Answer of the universe : " + answer);
        }
        else
        {
            return Results.BadRequest("Not found");
        }
    }
    catch (Exception)
    {
        return Results.Problem("OpenAI API is not available or key are incorrect");
    }
});

app.Run();

5. Run your application, and open your Postman app or your favorite web browser to open the following URL : https://<your computer ip / localhost>:<your project port>/givemesecretoftheuniverse?prompt=what is the secret of the universe

6. The flow of the power of OpenAI will flow throught your screen 😁🚀🌚

More possibilities 🚀😁

As said earlier, you can use Codex, Dall-E, etc from OpenAI just by changing the Model = OpenAI_API.Models.Model statement and adapt your code consequently. Today, ChatGPT API is not yet available but OpenAI indicates that it will come soon.

You can also try this .NET library which is pretty cool as well : https://github.com/betalgo/openai

Conclusion

Integrating OpenAI APIs into your application is just as easy as creating a minimal API with .NET Core, so test it, learn it, and make our world a better one. With ChatGPT coming soon, accessible AI is becoming a reality.

Dall-E image generator directly accessible from Edge

Tired of MidJourney Discord chat based image generator or to log in Open AI ? This week, Microsoft discretly adds a shortcut in Edge to bring image generation directly to Edge users in the UI. To enable this feature :

  1. Get the lastest version of Edge
  2. Click on the + button in the right side panel
  3. Check the ‘Image creator’

4. Connect your to Microsoft account :

5. Play with Dall-E (25 credits) without quitting Edge :

You’ll be able to get your creation history by clicking on the ‘My creations’ tab. Happy image generation 🚀

Session Machine Learning et .NET avec ML.NET au Diginova 2019

Pour cette session en compagnie de Christopher Maneu (Microsoft France R&D), j’ai eu le plaisir de pouvoir parler de ML.NET, cette bibliothèque que l’on a déjà implémenté dans un produit et qui fonctionne à merveille (ou presque quand ce ticket aura été corrigé) et qui permet à tout développeur d’intégrer du Machine Learning dans ses applications .NET.

Ce duo avec Christophe a permis de comparer les solutions et de préciser les différents scénarios d’utilisation des services et framewok que Microsoft met à disposition des développeurs (ACS, CNTK, ML.NET) : quand l’utiliser, les scénarios connectés/déconnectés d’ACS et ML.NET, quel effort de montée en compétence pour les développeurs (SDK + apprentissage du Machine Learning), etc.

Un sujet extrêmement intéressant qu’il a fallut traiter en peu de temps .. .mais qui sera traiter plus en profondeur au prochaine Afterworks Microsoft 😉