news 2026/1/17 2:33:56

从教授 SQL 给非技术团队的经验中得到的教训

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从教授 SQL 给非技术团队的经验中得到的教训

原文:towardsdatascience.com/lessons-from-teaching-sql-to-non-technical-teams-7bd8fc9f8289?source=collection_archive---------2-----------------------#2024-03-08

从规模化方法到更量身定制的方法——以及我为什么认为远程辅导是未来趋势

https://medium.com/@jordangom?source=post_page---byline--7bd8fc9f8289--------------------------------https://towardsdatascience.com/?source=post_page---byline--7bd8fc9f8289-------------------------------- Jordan Gomes

·发表于 Towards Data Science ·11 分钟阅读·2024 年 3 月 8 日

在我的职业生涯中,我曾多次参与并举办内部 SQL 培训。虽然这些培训从未是我工作的优先事项之一,但它们却是让我最有满足感的项目之一。当你看到有人开始轻松地运行查询,能够自己找到所需的信息,构建仪表板,甚至更广泛地说,开始对这项新学会的技能感到兴奋时;我不知道——那种感觉真好。

最近,我看到我的一位前“学生”的名字出现在一个共享小组里,提了一个相当复杂的 SQL 问题——我的反应和 Alfred 在《黑暗骑士崛起》里对 Bruce Wayne 点头时的反应一样(如果你不明白这个梗——这里有)。

本文的目标是带你走一遍我举办内部 SQL 培训的历程以及我的收获,培训的对象是整个非技术(或至少不擅长 SQL)的团队,希望你也能在你的组织中分享这些知识,并获得与我相同的喜悦。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/14fc0ff911bd2bf712b16985c327267d.png

图片来源:Campaign Creators via Unsplash

我最初举办这些培训的原因

一般来说,推动我举办这些培训的情况可以分为两个大类:

  1. 技能提升需求:有时组织中的人因为缺乏 SQL 技能而达到了瓶颈。一个典型的症状是出现复杂的流程,涉及使用多个工具和电子表格来生成一个最终报告。虽然解决方案并不总是在 SQL 方面,但根据经验,如果你有一个耗时的多阶段流程,而你内心深处觉得一定有更好的方法来做你正在做的事情——很可能确实存在。

  2. 资源匮乏:在资源匮乏的组织中,我发现识别具有“相关技能”的个人(即习惯于使用电子表格和数据的人)并提供技能提升机会,对组织和个人都非常有益。这样一来,不仅可以拓宽个人的视野,还能为企业创造更多的价值。

虽然你可能有许多理由去举办这样的培训(上面列出的清单并不详尽;也可以提出这个目标并不一定是互斥的),但明确你想要实现的目标是很重要的。根据你的目标,你执行培训的方式可能会有很大的不同。

早期的尝试,或者说我如何发现“千人一面”式培训的局限性

在我早期的尝试中(大约是 2015 年… 哎呀,时间过得真快!)我尝试了规模化的方法。通常的格式是典型的课堂形式:一个 X 周的项目,每周有 1 小时的课程(总是在同一时间、同一天),对任何有兴趣学习 SQL 的人开放,完全专注于 SQL:

尽管有些人坚持到最后,但成功率(成功定义为有人在培训后仍继续使用新学的 SQL 技能)极低。每一节课,来的人越来越少。只有少数人在课外做提议的练习。从事实来看,这并不算成功。

但我从中得到了很多宝贵的经验:

  1. 在编写 SQL 代码之前,你需要在组织中找到正确的数据集(这在成熟的组织中可能很容易,但在不太成熟的组织中可能很复杂,甚至根本不存在)。

  2. 一旦你找到了数据集,你需要找到正确的字段进行查询,并确保这些字段包含你所需要的信息(这本身就是一门艺术)

  3. 从那里,你需要请求访问数据集,一旦获得访问权限,你需要在一个特定工具中编写 SQL 代码,该工具有特定的指南和功能。

  4. 在编写查询时,你需要关注计算成本,可能还需要在运行查询之前重新组织内容。

  5. 依此类推。如果你不教授这些元素,学生将很难使用 SQL。

所有这些学习为我程序的改进版铺平了道路——一种更具个性化的方式。

最近——向更个性化的方法转变

在经过几次改进后的迭代后,我反思了自己一路上的所有收获,并尝试了一种新方法:我放弃了规模,完全转向了相反的方向。与其每周进行 1 小时的全班授课,我开始每周与几位选定的个体进行简短的 1 对 1 会谈。

尽管该项目仍然向所有人开放,但现在有了一个选择过程。想要加入的人必须展示以下内容:

在培训本身——重点从 SQL 转移到做项目。培训的第一节课花费在将他们的项目拆分为里程碑上。第一个里程碑对每个人来说都差不多:找到一个资源(免费的或付费的,在线的或离线的——他们喜欢哪种都可以)来学习 SQL 的基础知识——并完成它。

我想承认这可能有些令人失望——你可能会期望一篇关于“教 SQL”的文章不会在“学习 SQL”部分这么干巴巴。我的普遍看法是,你可以在很短的时间内掌握 SQL 的关键概念,但要真正精通它需要几个月甚至几年,而你越早将它应用到实际问题中,就能越快达到扎实的水平。因此,程序的大部分时间花费在将其应用到现实问题上,而不是在获取 SQL 的基础知识(这些知识你可以通过互联网这一神奇的工具轻松获得)。

一旦上述第一步完成,我们就开始朝下一个里程碑努力。例如,对于那些想要构建仪表板的人——我们会将项目拆分为:

  1. 学习 SQL 的基础知识

  2. 寻找合适的数据集和查询逻辑(学习如何获取这些信息)

  3. 如有必要,构建一个数据库(与构建数据库相关的角色和责任)

  4. 将这个数据库连接到仪表板工具

  5. 设计仪表板

  6. 构建仪表板

从那时起,每个学生每周应该达到一个不同的里程碑。如果他们卡在某个地方,他们可以随时联系我,发送电子邮件或参加每周的办公时间,但一般来说,他们必须独立完成这些里程碑。

通过这个系统,我看到了相当高的成功率(成功的定义是某人在培训后继续使用他们新获得的 SQL 技能)。回顾这一点——我认为有几个原因:

到目前为止,上述方法是我实施过的最成功的之一。但它非常耗时,我仍然看到很多可以改进的地方。

朝着更加混合的方式前进

现在,主要的问题是:我们如何扩大上述项目的规模?如果我回顾我在这次培训中所扮演的角色,那主要是给出方向并让人们保持诚实:

我认为上述内容不能自动化——或者现在也许可以借助大型语言模型(LLMs),谁知道呢——但无论如何,你绝对可以标准化并优化它,也许可以以异步方式做很多工作,而不需要每周开会。这也是我希望在下一个迭代中尝试的——减少我在每个学生身上花费的时间,以便我能培养更多的学员。

作者注:我看到越来越多的健身影响者提供“远程辅导”,你可以通过电子邮件与教练沟通,发送你的训练视频,获得个性化的计划。也许可以做类似的数据分析辅导?

关于这个项目本身,我很希望能融入一些“社区”元素。特别是,我坚信费曼技巧——它是关于(以一种非常简化的方式)教授你所学到的东西。具体来说,我希望学生们开始记录他们的学习内容,并开始将其分享给新学生(有点像电影《善意的谎言》中的情节)。我在这里看到几个好处:

一如既往,想法很便宜——执行才是你了解什么有效、什么无效的地方——我将很快尝试进行实验,并可能在未来的文章中报告结果。

总结

在过去的 8 年里,我尝试了不同的项目,目的是把同事和下属培养成 SQL 专家。我并不总是成功,但几年前我从一个广泛的项目转向更加量身定制的指导方式,取得了很大的成功,并学到了很多宝贵的经验。

我现在面临的真正挑战是方法的放大效应。我们如何简化并去除所有的废话,专注于为选定的个体创造尽可能多的价值,让他们有能力将自己在组织中产生的影响力扩大十倍?也许健身影响者已经有所发现……

希望你喜欢阅读这篇文章!你有什么想分享的建议吗?在评论区让大家知道吧!

如果你想我的文章,这里有几篇你可能喜欢的其他文章

## 如何构建成功的仪表盘

来自一个曾经构建过一些不成功仪表盘的人的清单

towardsdatascience.com ## 建设分析成熟的组织(AMO)

一些简单的框架,用来确定你所在组织的分析需求,以及如何让它变得更加成熟……

towardsdatascience.com ## 区分优秀数据分析师的因素

还在寻找新一年的决心吗?这里有 6 个技能可以帮助你和你的团队变得极其高效。

towardsdatascience.com

PS: 这篇文章也发布在Analytics Explained,这是一个我总结在不同分析角色中学到的知识(从新加坡初创企业到旧金山的大型科技公司),并回答读者关于分析、增长和职业的问题的通讯。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/16 16:30:09

this指针

一、概念是链式编程(Method Chaining)的核心概念二、例子详解Person&PersonAddAge(Person &p) {this->agep.age; //this指回p2的指针,而*this指回的就是p2这个对象本体 return*this;}为什么需要返回引用&am…

作者头像 李华
网站建设 2026/1/12 22:35:41

零基础入门:5分钟创建你的第一个AI工作流

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向新手的可视化AI工作流构建器,提供预设的常见自动化任务模板(如邮件处理、数据整理等)。用户可以通过拖拽方式组合各种AI功能模块&a…

作者头像 李华
网站建设 2026/1/16 7:45:08

美食探店推荐系统:GLM-4.6V-Flash-WEB识别餐厅环境与菜品品质

美食探店推荐系统:GLM-4.6V-Flash-WEB识别餐厅环境与菜品品质 在短视频和社交分享主导消费决策的今天,一张“出片率高”的餐厅照片,可能比千字点评更具影响力。但问题也随之而来——滤镜拉满的牛排、盗用的网红摆盘、过度美化的灯光&#xff…

作者头像 李华
网站建设 2026/1/11 2:52:39

理解print driver host for 32bit applications在打印管道中的角色定位

32位应用如何在64位Windows上“无缝”打印?揭秘splwow64.exe的幕后角色你有没有遇到过这样的场景:公司刚升级到 Windows 10 x64,但那套用了十年的老财务系统却突然打不了票了?或者你在用32位版的AutoCAD画图时,点一下“…

作者头像 李华
网站建设 2026/1/15 10:12:24

XADC IP核硬件驱动与AXI总线交互机制全面讲解

XADC IP核驱动与AXI总线交互:从寄存器配置到实时数据流的完整链路解析在现代FPGA系统中,模拟信号采集早已不再是“外接ADC SPI读数”的简单逻辑。随着Zynq、Kintex等系列器件将高精度模数转换能力原生集成,XADC(Xilinx Analog-to…

作者头像 李华