AI and Developer Productivity

The world of software development is in constant flux, but few forces have driven as profound a shift as artificial intelligence. What once seemed like science fiction is now an everyday reality, with AI tools seamlessly integrating into developer workflows, promising not just incremental gains but a fundamental redefinition of productivity. In 2025, developers are finding themselves empowered by intelligent assistants, automated guardians of code quality, and even AI “colleagues” capable of tackling complex engineering tasks.

I have written a bunch of articles in CODE Magazine about AI. All of them have focused on learning AI, such as image generation, creating a local chat bot, and more. But what if you’re not an AI developer? Maybe you’re a ReactJS developer writing front-end code all day long. Or maybe you write REST APIs using Python all day long.

Let’s be honest, AI is exciting, but many of us are still working day-in-day-out delivering business functionality code, things your employer needs today. Should you ignore AI? Far from it. This article explores how AI is boosting developer productivity across the software development lifecycle, complete with practical examples to illustrate its transformative power.

The AI-Powered Developer: A New Paradigm

As of today, at its core, AI for developers isn’t about replacing human creativity; it’s about augmenting it. By offloading repetitive, time-consuming, and error-prone tasks, AI frees developers to focus on higher-level problem-solving, architectural design, and innovative solutions. This shift fosters a more engaging and less frustrating development experience.

Let’s dive into the key areas where AI is making a tangible difference.

There are many ways I see that AI can help you as a developer. This is by no means an exhaustive list, if you have ideas do share.

AI as Your Pair Programmer

The most visible and widely adopted application of AI in development is in code generation and intelligent completion. There are many competing tools you can use. Tools like GitHub Copilot, Tabnine, and Amazon CodeWhisperer act as highly intelligent pair programmers, anticipating your next move and suggesting relevant code snippets, entire functions, or even boilerplate structures. In fact, there are VSCode extensions that let you plug into any AI model to get specific help for your scenario. You can even use Ollama to run things locally if you’re in an air-gapped secure environment. Of course, the capabilities of cloud-based models are far ahead of what Ollama on your local machine can do, but Ollama with a local model is still superpowers that you didn’t know you had.

There are many benefits of incorporating AI as your pair programmer.

The first is, of course, speed. Using AI drastically reduces the time spent on writing repetitive code or searching for syntax. How often do you find yourself struggling to find the right syntax for a particular thing you’re trying to do? Or writing repetitive code that you know you can write, but would rather have a helper write for you, and maybe…

…this article is continued online. Click here to continue

Related Article

AI with No Internet Connection

ZoomIt – Screen zoom and annotation

ZoomIt is a screen zoom, annotation, and recording tool for technical presentations and demos. You can also use ZoomIt to snip screenshots to the clipboard or to a file. ZoomIt runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image. I wrote ZoomIt to fit my specific needs and use it in all my presentations.

Using ZoomIt

The first time you run ZoomIt it presents a configuration dialog that describes ZoomIt’s behavior, let’s you specify alternate hotkeys for zooming and for entering drawing mode without zooming, and customize the drawing pen color and size. I use the draw-without-zoom option to annotate the screen at its native resolution, for example. ZoomIt also includes a break timer feature that remains active even when you tab away from the timer window and allows you to return to the timer window by clicking on the ZoomIt tray icon.

Shortcuts

ZoomIt offers a number of shortcuts which can extend its usage greatly.

FunctionShortcut
Zoom ModeCtrl + 1
Zoom InMouse Scroll Up or Up Arrow
Zoom OutMouse Scroll Down or Down Arrow
Start Drawing (While In Zoom Mode)Left-Click
Stop Drawing (While In Zoom Mode)Right-Click
Start Drawing (While Not In Zoom Mode)Ctrl + 2
Increase/Decrease Line And Cursor Size (Drawing Mode)Ctrl + Mouse Scroll Up/Down or Arrow Keys
Center The Cursor (Drawing Mode)Space Bar
Whiteboard (Drawing Mode)W
Blackboard (Drawing Mode)K
Type in Text (Left Aligned)T
Type in Text (Right Aligned)Shift + T
Increase/Decrease Font Size (Typing Mode)Ctrl + Mouse Scroll Up/Down or Arrow Keys
Red PenR
Red Highlight PenShift + R
Green PenG
Green Highlight PenShift + G
Blue PenB
Blue Highlight PenShift + B
Yellow PenY
Yellow Highlight PenShift + Y
Orange PenO
Orange Highlight PenShift + O
Pink PenP
Pink Highlight PenShift + P
Blur PenX
Draw a Straight LineHold Shift
Draw a RectangleHold Ctrl
Draw an EllipseHold Tab
Draw an ArrowHold Ctrl + Shift
Erase Last DrawingCtrl + Z
Erase All DrawingsE
Copy Screenshot to ClipboardCtrl + C
Crop Screenshot to ClipboardCtrl + Shift + C
Save Screenshot as PNGCtrl + S
Save Cropped Screenshot to a FileCtrl + Shift + S
Copy a Region of The Screen To ClipboardCtrl + 6
Save a Region of The Screen To a FileCtrl + Shift + 6
Start/Stop Full Screen Recording Saved as MP4 (Windows 10 May 2019 Update And Higher)Ctrl + 5
Crop Screen Recording Saved as MP4 (Windows 10 May 2019 Update And Higher)Ctrl + Shift + 5
Screen Record Only The Window That The Mouse Cursor is Positioned Over Saved as MP4 (Windows 10 May 2019 Update And Higher)Ctrl + Alt + 5
Show Countdown TimerCtrl + 3
Increase/Decrease TimeCtrl + Mouse Scroll Up/Down or Arrow Keys
Minimize Timer (Without Pausing It)Alt + Tab
Show Timer When MinimizedLeft-Click On The ZoomIt Icon
LiveZoom ModeCtrl + 4
LiveDraw ModeCtrl + Shift + 4
Start DemoTypeCtrl + 7
Move back to the previous snippet (DemoType)Ctrl + Shift + 7
Advance to the next snippet (DemoType User-driven Mode)Space Bar
ExitEsc or Right-Click

Download from here;

Natural Language AI-Powered Smart UI

Looking for real-world AI examples is a challenge and part of this challenge comes from Generative AI (GenAI) news dominating the media. It feels like every AI demo involves chatting with GenAI to produce content. The obligatory chat completion demo has started to become the to-do list of AI demo apps, and, to make matters worse, it’s selling AI short. GenAIs rely on large language models (LLMs), which are the brain behind natural language processing tasks. In this article, I’ll explore the opportunities presented by LLMs using a real-world research-and-development experiment. This experiment is part of on-going research into AI-enabled user interface components (aka .NET Smart Components) by Progress Software and Microsoft.

Read more on code site

Supervised and Unsupervised Learning

Supervised Learning

Definition:
The model learns from labeled data — meaning each input has a corresponding correct output.

Goal:
Predict an output (label) from input data.

Examples:

  • Email spam detection (Spam / Not Spam)
  • Predicting house prices (Price in $)
  • Handwriting recognition (0–9 digits)

Types:

  • Classification (output is a category): e.g., cat vs dog
  • Regression (output is a number): e.g., predicting temperature

Requires Labels? ✅ Yes

Example Dataset:

Input FeaturesLabel
“Free offer now” (email text)Spam
3 bedrooms, 2 baths, 1500 sq ft$350,000

🔍 Unsupervised Learning

Definition:
The model learns patterns from unlabeled data — it finds structure or groupings on its own.

Goal:
Explore data and find hidden patterns or groupings.

Examples:

  • Customer segmentation (group customers by behavior)
  • Anomaly detection (detect fraud)
  • Topic modeling (find topics in articles)

Types:

  • Clustering: Group similar data points (e.g., K-Means)
  • Dimensionality Reduction: Simplify data (e.g., PCA)

Requires Labels? ❌ No

Example Dataset:

Input Features
Age: 25, Spent: $200
Age: 40, Spent: $800

(The model might discover two customer groups: low-spenders vs high-spenders)


✅ Quick Comparison

FeatureSupervised LearningUnsupervised Learning
LabelsRequiredNot required
GoalPredict outputsDiscover patterns
OutputKnownUnknown
ExamplesClassification, RegressionClustering, Dimensionality Reduction
AlgorithmsLinear Regression, SVM, Random ForestK-Means, PCA, DBSCAN

Supervised Learning Use Cases

1. Email Spam Detection

  • ✅ Label: Spam or Not Spam
  • 📍 Tech companies like Google use supervised models to filter email inboxes.

2. Fraud Detection in Banking

  • ✅ Label: Fraudulent or Legitimate transaction
  • 🏦 Banks use models trained on historical transactions to flag fraud in real-time.

3. Loan Approval Prediction

  • ✅ Label: Approved / Rejected
  • 📊 Based on income, credit history, and employment data, banks decide whether to approve loans.

4. Disease Diagnosis

  • ✅ Label: Disease present / not present
  • 🏥 Healthcare systems train models to detect diseases like cancer using medical images or lab reports.

5. Customer Churn Prediction

  • ✅ Label: Will churn / Won’t churn
  • 📞 Telecom companies predict if a customer is likely to cancel a subscription based on usage data.

🔍 Unsupervised Learning Use Cases

1. Customer Segmentation

  • ❌ No labels — model groups customers by behavior or demographics.
  • 🛒 E-commerce platforms use this for targeted marketing (e.g., Amazon, Shopify).

2. Anomaly Detection

  • ❌ No labeled “anomalies” — model detects outliers.
  • 🛡️ Used in cybersecurity to detect network intrusions or malware.

3. Market Basket Analysis

  • ❌ No prior labels — finds item combinations frequently bought together.
  • 🛍️ Supermarkets like Walmart use this to optimize product placement.

4. Topic Modeling in Text Data

  • ❌ No labels — model finds topics in documents or articles.
  • 📚 News agencies use it to auto-categorize stories or summarize themes.

5. Image Compression (PCA)

  • ❌ No labels — model reduces dimensionality.
  • 📷 Used in storing or transmitting large image datasets efficiently.

🚀 In Summary:

IndustrySupervised ExampleUnsupervised Example
FinanceLoan approvalFraud pattern detection
HealthcareDiagnosing diseases from scansGrouping patient records
E-commercePredicting purchase behaviorCustomer segmentation
CybersecurityPredicting malicious URLsAnomaly detection in traffic logs
RetailForecasting salesMarket basket analysis

Training, Validation and Test Data in Machine Learning

Training Data

  • Purpose: Used to teach (train) the model.
  • Contents: Contains both input features and corresponding output labels (in supervised learning).
  • Usage: The model learns patterns, relationships, and parameters from this data.
  • Size: Typically the largest portion of the dataset (e.g., 70–80%).

Example:
If you’re training a model to recognize handwritten digits:

  • Input: Images of digits
  • Label: The digit (0–9)

Test Data

  • Purpose: Used to evaluate how well the model performs on unseen data.
  • Contents: Same format as training data (features + labels), but not used during training.
  • Usage: Helps assess model accuracy, generalization, and potential overfitting.
  • Size: Smaller portion of the dataset (e.g., 20–30%).

Key Point: It simulates real-world data the model will encounter in production.

Validation Data

  • Purpose: Used to tune the model’s hyperparameters and monitor performance during training.
  • Contents: Same format as training/test data — includes input features and labels.
  • Usage:
    • Helps choose the best version of the model (e.g., best number of layers, learning rate).
    • Detects overfitting early by evaluating on data not seen during weight updates.
  • Not used to directly train the model (no weight updates from validation data).

Summary Table

AspectTraining DataValidation DataTest Data
Used forTraining modelTuning modelFinal evaluation
Used duringModel trainingModel trainingAfter model training
Updates model?YesNoNo
Known to modelYesSeen during trainingNever seen before

Tip:

In practice, for small datasets, we often use cross-validation, where the validation set rotates among the data to make the most of limited samples.

Typical Size Ranges for Small Datasets

Dataset TypeNumber of Samples (Roughly)
Very Small< 500 samples
Small500 – 10,000 samples
Medium10,000 – 100,000 samples
Large100,000+ samples

Why Size Matters

  • Small datasets are more prone to:
    • Overfitting – model memorizes data instead of learning general patterns.
    • High variance in performance depending on the data split.
  • Big models (e.g., deep neural networks) usually need large datasets to perform well.

💡 Common Examples

  • Medical diagnosis: Often < 5,000 patient records → small dataset.
  • NLP for niche domains: < 10,000 labeled texts → small.
  • Handwritten digit dataset (MNIST): 60,000 training images → medium-sized.

🔁 Tip for Small Datasets

If your dataset is small:

  1. Use cross-validation (like 5-fold or 10-fold).
  2. Consider simpler models (e.g., logistic regression, decision trees).
  3. Use data augmentation (e.g., rotate/scale images, reword texts).
  4. Apply transfer learning if using deep learning (e.g., pre-trained models like BERT, ResNet).