---
title: "宋子桓"
description: "宋子桓的个人介绍，包括简介、技术信念、技术栈等多方面。"
canonical_url: "https://song-zh.com/profile"
last_updated: "2026-08-03T19:37:27.846Z"
---

## 简介

我是宋子桓，热衷底层：从编译器、系统工具到操作系统内核设计。也熟悉后端、Linux 运维和云基础设施。

我非常重视代码的可预测性、可理解性、可维护性和可欣赏性。技术对我而言，不是堆砌功能，而是寻找简洁、一致、可生长的表达。

<profile>
<template v-slot:avatar="">
<profile-avatar english-name="Zihuan Song" image="/content/img/avatar/songzihuan-v1.png" name="宋子桓">

宋子桓（Zihuan Song）的头像

</profile-avatar>
</template>

<profile-data label="姓氏" label-english="Family Name">

宋 / Song

</profile-data>

<profile-data label="名字" label-english="Given Name">

子桓 / Zihuan

</profile-data>

<profile-data label="偏好称呼" label-english="Preferred Name">

桓枢 / Huxom

</profile-data>

<profile-data label="昵称" label-english="（社交媒体）">

写代码的小桓Huan

</profile-data>

<profile-data label="生日">

2004年6月

</profile-data>

<profile-data label="地区">

广东广州

</profile-data>

<profile-data label="偏好时区">

Asia/Shanghai

</profile-data>

<profile-data label="主要职业">

软件工程师

</profile-data>

<profile-data label="技术信念">

- 优雅胜于优化
- 开源共享

</profile-data>

<profile-data label="关联网站">

- [宋子桓个人官网](https://song-zh.com)
- [Github](https://github.com/songzihuan)
- [微信公众号](https://mp.weixin.qq.com/s/e2RNDW7T9WFdIohrQlTYow)
- [知乎](https://www.zhihu.com/people/super-huan0630)
- [掘金](https://juejin.cn/user/3881729747066912)
- [抖音](https://v.douyin.com/QodkwEPBgHo)
- [B站](https://space.bilibili.com/3691013029759036)

</profile-data>
</profile>

## 技术信念

### 优雅胜于优化

我从不反对性能优化，但认为过早地优化是万恶之源。
代码应该是逻辑的精确表达，透过源代码可预测程序的表现。
无论遇到性能问题、还是安全漏洞，清晰的结构能让我知道如何调整和修复它们，避免为了解决一个问题而带来更多意想不到的问题。

我始终认为源代码本身是软件程序作品的最重要组成部分，编制优雅的代码不仅能让我获得愉悦，更是对未来维护的负责。
当我们发现为了解决某个问题，而需要引入各种不自然、不优雅的坏味道代码时，往往意味着哪里犯了错，例如选错了框架、选错了平台。

### 开源共享

我不反对商业开发和技术专利，尊重与版权人或委托者之间的约定是我职业道德的底线。

我热衷于开放源代码，这意味着将软件中最重要组成部分分享出去。
坚持开源共享的理念，目的是让知识能如水一般流动，代码能自由的被学习与改进。
实际上，并非最好的代码才值得开源，将学习与实践道路上的知识积累和经验，化为其他人进步道路上的路砖才是开源的核心价值所在。

## 技术栈和领域

我适合开发一个 MVP 或清晰可维护的后端系统。但高并发、高性能等场景不是我的主场。

### 深入方向

1. 系统底层：操作系统内核、程序编译器、运行时工具包。
2. 后端开发：Python / Golang、RESTful / RPC API、数据库设计。
3. 云基础设施：云服务部署和对接。

### 可胜任方向

1. 前端开发：Vue / Nuxt、原生网页开发（HTML+CSS+JS）。

## 精选作品

<project-list-top as="div" className="site:lg:grid-cols-2" header="h3">



</project-list-top>

了解更多作品，可访问：[主要作品](/projects)

## 个人经历

### 入行

在我12岁以前，我感到自己对设计和逻辑有种特殊的感觉，直到我认识了我目前最重要的三位老师之一，他告诉我什么是 Arduino 和 C，我找到了我真正喜欢的东西。尽管我比赛的成绩并不是很好，但老师却未放弃启发我。

我那会不明白传值和引用是什么，不理解编译器到底是如何工作的，也不理解为什么要函数封装。

记得一次家里出去吃饭，我在一边读着一本 *《Arduino 入门》*，蓝绿色的封面印着著名的 **∞**，或许现在开起来不厚，但当时拿在手上确实很有厚重感。书里面的一个章节讲到数学函数中的 sin 和 cos，当时的我不理解这是什么，就去问了我舅舅。我们说了半天，也没让我明白这是什么。

我那时候有许多这样的疑惑，尽管现在看来那些事情似乎并非那么难以理解，但在以前却总给我有种没搞懂的焦虑感。

### 初中

来到初中后，我慢慢地离开了 Arduino 领域，走上通用计算机程序开发之旅。我先接触的是 Python。与众多人一样，学着用 Flask 开发网站、Pygame 写游戏、Tkinter 写界面。

我那时不懂什么是协作、鲁棒性、安全实践，反正都是自己用的程序，自己能用就行。

我写过最复杂的程序是一个垃圾分类程序，是为了去参加比赛而设计的。我用 Python Tkinter 写界面，阿里云的图像接口负责识别，MySQ L数据库负责记录用户信息，用 Flask 写了一个网页小程序。它可以让用户查询手中的是什么垃圾，记录投递情况获取积分，并有一个排行榜。
我还做了一个管理员后台，它可以操作用户、查看信息等等，不再需要手改数据库。如果你看过这个后台，就会发现他的 GUI 和用户终端完全不同。这是因为后台的界面实在太多，我终于理解了代码封装和复用究竟是为了什么，我重新设计了后台其中一个页面，并作为函数让全部页面都能套用。

### 高中

走进高中，Pygame 成了我一个很好的伙伴。在学习时，许多书上的图片模型让我感到不是很直观。随着模型各种叠加，我越来越想看看他们动起来的样子，我尝试用 Pygame 帮我画出来。

但是当模型复杂起来的时候，我的代码简直乱七八糟。因为我始终用全局状态去组织代码，大量的全局函数和变量让我很头疼。直到后来，我了解了面向对象，阅读 *《Python3 面向对象编程》* 才解决了我遇到的问题。没错，我入门 Python 所阅读的书其实并非这本，而是是另一本黑色的封面的书，叫 *《Python 基础教程》*。

有意思的是，我程序用的方法是把时间切成一段一段的，去计算每个对象的位置，可是这招在有些时候就失灵了，产生很大的误差。可惜那会儿大语言模型还未流行，我不知道向谁去请教这是什么原因导致的。

了解云原生之后，我可以很低成本地使用一台服务器，开始了我Linux的运维学习之旅。我一开始接触的是 Ubuntu，我至今非常喜欢这个发行版。直到我买了 *《鸟哥的Linux私房菜》*，他用的是 CentOS，我也因此开始尝试它。

到后来我尝试使用桌面版的 Ubuntu、Fedora、CentOS 和 Deepin 等这些发行版。我还加入了一些QQ交流群，里面的大佬提到了 Arch 和 Manjaro，于是我就去试了一下。一开始用的是 Manjaro，感觉还是挺新奇的，特别是他那个小狗吉祥物被我投在屏幕上，用一张A4纸描了下来当成了艺术课作业。后面尝试 Arch，从安装的时候我就知道这事不简单。可能作为学生还是不太能离开 Windows 的生态，尽管我最终主力机还是用 Windows 系统，但 Arch 的 Wiki 成为我进一步理解 Linux 的资料。

我一直都很喜欢开发编程语言，我写的第一个语言叫 GWARF，这名字是随便起的。一开始，我用 Lex 和 Yacc，但是他们的全局变量问题一直困扰着我，所以我另起炉灶。最终，这个语言因为内存泄漏的问题，被我搁置。我重新开发了一个 VirtualMath 语言，不过其实和数学没啥关系。因为我特别喜欢重构，直到一次重构后我依然觉得不尽人意，所以我停止了它的维护。

### 现状与成长

目前，我主要从事独立的代码开发工作、写博客、研究编译器和云原生。偶尔接一些理念相投的项目。我的完整作品和联系方式在首页。

我主要用 Golang 开发，前端则喜欢 Nuxt，数据库则最常用 MySQL 和 Redis。我喜欢用云平台的服务来满足运维需求，例如无状态计算、队列通知、云数据库等等。

我不再狂热的追求某种技术栈，而是学习更多、按需取用。我的关注点也更多指向我开发的是不是我想要的、如何让我的代码变得更好更优雅、整个作品的鲁棒性和安全性如何、它是否更符合技术规范和语义化等等。优雅地创作与共享是我践行代码人生的开源信条。

**我想继续为自己写代码。**

## 社交账号

### 自媒体平台

- 微信订阅号：[写代码的小桓Huan](https://mp.weixin.qq.com/s/e2RNDW7T9WFdIohrQlTYow)
- 抖音：[写代码的小桓Huan](https://v.douyin.com/QodkwEPBgHo)
- B站：[写代码的小桓Huan](https://space.bilibili.com/369101302975903)

### 技术社区

- Github：[宋子桓](https://github.com/SongZihuan)
- 知乎：[写代码的小桓Huan](https://www.zhihu.com/people/super-huan0630)
- 稀土掘金：[写代码的小桓Huan](https://juejin.cn/user/3881729747066912)

### 联系方式

- 邮件联系：[work@song-zh.com](mailto:work@song-zh.com)
- 更多联系方式：[点击查看](/contact)
