Sunday, May 31, 2026

What a Visual Perception Course Taught Me About the Future of Developers

 Part I

Course Content Summary

On 28–29 May 2026, I attended this NUS course Engineering Visual Perception for Autonomous Systems (by Tian Jing), which covers from sensors to deployment. It explains how vision sensors (cameras, LiDAR, radar) capture data and how images are represented as pixel arrays with color channels.

The following is listed for reference — not that I fully understood every detail, but it captures the key topics covered.

Image Classification

The core classification task assigns a label to an entire image. Two architectures are taught:

  • ResNet-18 (CNN) — 18 layers with residual/skip connections, 11.7M parameters, 1.81G FLOPs
  • Vision Transformer (ViT) — patch embedding (16×16), class token, positional encoding, transformer encoder; 86.6M parameters, 17.56G FLOPs, higher accuracy

Key concepts: convolution operations, pooling, fully connected + SoftMax layers, transfer learning (freeze pretrained layers, fine-tune last K layers).

Object Detection

Detection outputs both a box label (classification) and box coordinates x, y, w, h (regression).

  • YOLOv11 architecture: backbone → neck → head; input 3×480×640 → output 84×6300 (80 COCO classes + 4 box coords, 6300 anchor locations)
  • YOLO annotation format: class_id, x_center, y_center, width, height (normalized)

Training & Evaluation

  • Training: data augmentation, optimizer (SGD/Adam), learning rate scheduling, cross-entropy loss
  • Classification metrics: accuracy, precision, recall, confusion matrix (TP/FP/TN/FN)
  • Detection metrics: IoU, AP@50, AP@50-95, mAP (mean average precision)

Emerging Trends

  • Static → Dynamic: video tracking, event recognition
  • Vision-only → Multimodal: sensor fusion, vision-language models
  • Closed-set → Open-world: VLMs with text prompts for zero-shot detection
  • Accuracy → Robustness: adversarial attacks and security
  • Perception → Reasoning: spatial reasoning, conversational queries over visual data

Hands-on Workshops

Workshops were run on Google Colab using provided Jupyter notebooks in Python: solar panel defect classification (ResNet/ViT) and candy detection (YOLOv11).


Part II

Reflections: AI, Developers & the Changing Landscape

The "Black Box Productivity" Paradox

The workshop experience perfectly illustrates the current shift: we ran ResNet and ViT notebooks on Colab, got correct results, without understanding the source code. This works — until it doesn't. When the model underperforms on your own data, debugging requires understanding the layers you skipped over.

The Freemium Trap & AI Investment Cycle

Massive capital is flowing into AI infrastructure (OpenAI, Google, Microsoft). The playbook is clear: offer free access to build dependency, then monetize. Google Colab already tiered its GPU access; GitHub Copilot is capping free usage; OpenAI raised API prices. These companies are subsidizing adoption with investor money, knowing that once teams build workflows around these tools, switching costs are high.

The risk for developers and organizations: building critical skills and pipelines on platforms whose pricing you don't control.

Developer Role Shift: From Creator to Verifier

AI can now generate boilerplate, debug simple errors, and scaffold entire projects. This shifts the developer's core job:

Old RoleNew Role
Write code from scratchVerify AI-generated code for correctness, security, edge cases
Memorize syntax/APIsEvaluate architectural trade-offs
Debug line-by-lineValidate system-level behavior
Individual contributorAI orchestrator + quality gate

The challenge: verification requires deeper understanding than writing. You can copy-paste a ResNet training loop from Copilot, but catching a subtle data leakage between train/validation splits requires real expertise. The skill floor rises, not falls.

Fresh vs. Experienced Developers — Corporate Perspective

FactorFresh DeveloperExperienced Staff
AI tool adoptionFast, native usersSlower adoption, but deeper judgment
Code verificationLimited — can't spot what they haven't seenStrong — pattern recognition from years of debugging
CostLower salaryHigher salary
Risk with AI-generated codeHigh — may accept flawed output ("it runs, ship it")Lower — skepticism from experience
Domain knowledgeMinimalDeep, hard to replace
AdaptabilityHighVaries

The honest answer: neither alone is optimal. And this mirrors what happens in the classroom too — in a class like the EVPAS workshop, younger students may grasp new concepts like "occlusion" or "mAP" faster, partly because they're closer to academic training and often operating in English natively. But speed of recall is not depth of understanding.

You may forget the word "occlusion" by the next day's exam, yet still arrive at the correct answer by reasoning through elimination — recognizing that partial visibility behind another object is the only option that fits. That's exactly the kind of structured problem-solving that experienced professionals bring.

AI-generated code works the same way — the person who can logically evaluate whether an output makes sense beats the person who memorized the syntax but can't reason about edge cases.

  • Fresh developers are productive fast with AI tools but dangerous without mentorship — they become the person in the workshop who "gets results but doesn't know the details." In production, that gap causes incidents.
  • Experienced developers bring the judgment to verify, debug, and architect — but if they resist AI tools, they lose the speed multiplier. Being a non-native English speaker or an older learner in a fast-moving field adds friction, but it also forces a habit of deliberate learning — double-checking, cross-referencing, reasoning by elimination — which is precisely the verification mindset the AI era demands.

The most effective corporate strategy: pair experienced staff (as verifiers/architects) with AI-augmented fresh developers (as accelerated producers). The experienced developer's role shifts from writing code to reviewing AI-assisted output and teaching juniors what to watch for.

The Real Challenge

The deeper issue is asymmetric skill decay: if junior developers never learn to build from scratch (because AI does it), they never develop the judgment needed to verify. You end up with a generation that can prompt but can't debug — exactly like running a Colab notebook successfully without understanding why it works. The moment the pre-built solution breaks, they're stuck.

The developers who will thrive are those who use AI to move faster while insisting on understanding what the code does — treating AI as a power tool, not a replacement for knowledge. And ironically, the "disadvantage" of being an older, non-native learner — having to slow down, reason carefully, and verify before committing — may be the exact discipline this new era rewards most.

Conclusion

In this fast-pacing AI era, learning is truly endless — new models, new frameworks, new paradigms emerge before you've finished digesting the last one. It can feel impossible to catch up, and the honest truth is: you probably can't catch everything. But that's not the point. As the Chinese saying goes, 姜是老的辣 — "older ginger is spicier" — meaning experience carries a sharpness that youth alone cannot replicate. The value of a seasoned professional is not in memorizing every new API or chasing every trending tool, but in knowing what matters: staying aware of ongoing trends, keeping a watchful eye on where the technology is heading, and — most critically — blending that awareness with the deep domain knowledge accumulated over more than 20 years of real-world practice. Frameworks will come and go, AI tools will rise and be replaced, but the understanding of how systems actually work in production, why certain designs fail under pressure, and what questions to ask when something looks too good to be true — that kind of wisdom is earned, not prompted. The path forward is not to outrun the young, but to out-think the noise: learn selectively, verify rigorously, and let experience be the compass that AI cannot replace.

A question for you, the reader: Every one of us is getting older — that clock doesn't pause for any technology wave. So have you thought about your own future in this AI era? With AI closing the gap between one person and an entire team, are you going to run a one-person company powered by AI — leveraging your domain expertise with AI as your tireless co-worker? Or will you continue seeking traditional employment, hoping the next round of layoffs passes you by? There's no wrong answer, but there is a wrong strategy: not thinking about it at all.
This article was written with the assistance of AI (GitHub Copilot), based on my course experience and personal reflections.

No comments:

Post a Comment

What a Visual Perception Course Taught Me About the Future of Developers

  Part I Course Content Summary On 28–29 May 2026, I attended this NUS course  Engineering Visual Perception for Autonomous Systems (by Tian...