John Hedges
验证专家 in Engineering
软件开发人员
John是一位热情的开发人员,对分布式应用程序和网络协议有着深刻的理解. 他拥有强大而广泛的技能, 包括传统语言, C and C++, 互联网语言,如Python和JavaScript, 以及更现代的Rust和Go. 无论是作为团队的一员还是独自完成一个项目, 约翰将努力生产干净, ergonomic, 可靠的代码.
Portfolio
Experience
Availability
首选的环境
Git, Linux, Go, Rust, C, JavaScript
最神奇的...
...我参与的项目是一个网络保障产品, 由一家大约40名员工的小公司开发,并被Orange和乐天等电信公司使用.
工作经验
高级软件工程师
超实互动娱乐有限公司.
- 改编了一个开源的ALVR游戏流项目,运行在WebSockets上.
- 为一家寻求种子资金的游戏初创公司开发了一款MVP.
- 预置的AWS实例具有GPU功能,可在云中运行计算密集型应用程序.
- 使用Rust和WASM进行视频和音频的前端渲染.
高级软件工程师
Spotify
- 领导将Elixir预测应用程序转换为Go的工作, 包括多种功能和效率的改进, documentation, 单元和集成测试, 基础设施就是代码.
- 使用Jira将必要的工作划分为票和冲刺.
- 创建了集成测试,以生成侦听器数据,并使用码头工人组成设置测试预测的位置.
- 创建了一个Jenkins构建和测试脚本来补充构建.
- 实现了产品的持续交付,为每个合并的pull请求创建一个新版本.
- 在良好的编码实践中指导团队成员,并在我们的构建管道中建立了筛选器的使用.
- 是否有建设性的代码审查和结对编程来与其他团队成员交流想法.
- 提交了开源过滤器golangci-lint所需的修复.
高级软件工程师
Growth Lab公司.
- 在Go中开发了一个加密哈希模块,使用种子对二进制数据进行哈希.
- 编写了Go模块并进行了全面的测试,确保了可靠性和正确性.
- 与使用Slack的分布式加密专家团队合作.
高级软件工程师
Arctoris
- Worked as a senior developer to help improve the engineering delivery for Arctoris's robotic drug discovery laboratory; diagnosed and made recommendations to remove bottlenecks in the adopted development process.
- Integrated SMILES chemical compound SVG images into PDF/LaTeX report generation in Rust; upgraded existing Rust software from Tokio v0.2 to Tokio v1.3.
- 在一个五人的分布式团队中工作,使用Jira进行问题跟踪.
- 研究构建脚本从Rust原生到Nix的迁移.
软件工程师
瞻博网络
- 作为团队的一员,将网络测试和保证产品集成到瞻博网络的路由器和无线设备中. 这涉及到对Juniper运行时、Junos配置和libvirt虚拟化的深入研究.
- 在NFX-150系列路由器上改编现有的网络保障设备映像,使其作为VNF可用.
- 为C网络保证软件增加了下载插件支持. 这使得许多保证实例的远程编排成为可能.
- 致力于Go微服务的实现,提供可下载的插件.
- 与两个团队合作,每个团队约6人,使用Scrum和Jira进行问题跟踪.
- 获得测试代理的创新软件体系结构专利:用于网络性能测量的名称空间感知测试代理. http://patents.justia.com/patent/11546244.
顾问|高级软件工程师
Netrounds
- 为Netrounds提供网络测试和保障产品的后端咨询服务. 后端是用Go和Python构建的,测试探针使用C/ c++和Python.
- 实现了一个Go微服务,通过WebSocket接收来自测试探测器的Protobuf消息,并将其发布到Kafka.
- 用C语言实现了一个HTTP保证产品,可以重复下载内容并在失败时触发警报.
- 与Python/Django前端一起集成新模型.
- 增加多线程支持的c++ UDP网络监控软件.
- 编写了一个FFI适配器,将核心C库合并到Python项目中.
- 查找并修复C/ c++、Go、Python和Bash脚本中的错误. 使用Jira Test Case Management软件在每个发布周期中测试产品.
- 参与了两个使用Scrum方法的5 - 6人团队.
顾问|软件开发
Ribose, Inc.
- 被Ribose聘为软件开发顾问,在他们屡获殊荣的安全协作平台上工作.
- 设计并实现Riffol, Rust中的开源最小初始化系统, 用于管理少量进程,并针对Docker容器.
- 在Rust中设计并实现了Nereon/Nereond(一个开源配置库)和配置实用程序.
- 致力于Retrace,一个用于测试ELF二进制文件的开源实用程序. 它使用LD_PRELOAD技术来拦截对标准库的C调用.
- 在GitHub上使用Travis和Jenkins CI/CD维护项目.
顾问|软件工程师
Croesyceiliog学校
- 为Croesyciliog学校制定成绩总结报告,为每个年级组的年级提供年度报告.
- 使用JavaScript和React前端上传学生成绩的Excel电子表格并下载相应的PDF报告.
- 用Haskell写了一个后端,将Excel电子表格转换为CSV, 计算所需的统计信息, 并使用PDFLatex生成图形报告.
- Hosted, maintained, 并管理了一个docker实例和Nginx代理服务器,使学校管理部门可以使用该系统来生成报告.
自由顾问|全栈软件工程师
Drystone
- 使用Python和C语言为BMAT开发Ella. Ella是一个类似于shazam的系统,用于检测哪些歌曲正在播放,然后收集并将录音权转发给相应的艺术家.
- 脚本化的搅拌机, 三维建模系统, 使用Python和Blender为在线游戏生成一系列图像.
- 在Haskell中用rdash-ui为仪表板创建了一个HTML模板系统,用Haskell组合子代替自定义标记创建了一个MJML风格的响应式电子邮件.
- 实现了一个系统,将收到的电子邮件排队,并在特定时间将它们转发到不同的电子邮件地址. 这是使用Haskell、shell脚本和Exim完成的.
- 为系统概览仪表板创建了各种监控插件, 从MongoDB收集各种指标, Node.. js、Conntrack、ActiveMQ和RabbitMQ. 插件是用Lua编写的.
- 写了一个C程序,通过RS232从SATEK太阳能控制器使用树莓派收集指标.
顾问|全栈开发者
Taskworthy
- 曾在Taskworthy担任IT顾问和开发人员, 高端定制室内细木工制造公司.
- 设计和构建定制的衣柜设计软件与JavaScript和Ajax在前端和Python, XML, 并在后端使用XSLT. 客户可以设计衣柜,并以PDF格式生成精确的裁剪清单和车间时间表.
- 设计并实施Taskworthy网站的至少三个版本, 包括上传图片的管理功能. 它使用Python、XML、XSLT和XML- fo来生成PDF.
- 在Debian Linux上使用Apache, Nginx和Exim4托管网站和电子邮件.
顾问|后端开发
Blurrt
- 帮助开发了一种算法来衡量社交网络帖子中的情绪.
- 编写了一个C程序,使用Twitter的API根据简单的搜索词从Twitter的“火龙”推文中收集情感.
- 帮助定义了这个初创公司使用的技术栈.
顾问|全栈开发者
Percol Coffee
- 使用静态XHTML模板、XML数据和XSLT样式表重新设计Percol的网站.
- 为网站的交互部分创建了一个Python CGI后端.
- 维护、监控和托管Percol.co.在Debian Linux上使用Nginx的英国网站.
顾问|全栈开发者
真正的冒险
- 共同创建q点,一个网络和IVR销售创新方案由黑马金融采购. 销售人员获得虚拟Q点, 他们可以在系统上赌博,然后用高街代金券兑换.
- 在Perl后端工作,每天导入数十万条财务记录供q点玩家兑换. 该系统还承载了奖励性赌博游戏的博弈逻辑. 它运行在Linux和Apache网络服务器上.`.
- 在Windows上开发了一个完整的c++拖拽式IVR(电话)系统,通过电话游戏(如点球大战和21点)来管理语音呼叫,)购买代金券, 订单报表, and so on.
- 使用JavaScript, Java applet和Flash为游戏编写多个web前端.
- 维护和管理q点系统多年, 监控日志, fixing bugs, 处理客户支持请求.
IT Consultant
威斯敏斯特瓦特
- 在瓦茨纺织公司当承包商.
- 维护Mac、Linux和Windows电脑的混合网络.
- 重新设计他们的网站,并将其与公司的电子邮件一起托管在Linux、Apache和Exim上.
顾问|软件开发
Freelance
- 大学毕业后,他与人华(Renwah)共同创立了一家咨询公司. 项目包括北安普顿Target Furniture的生产调度软件,使用BBC basic和C语言.
- 在Computasoft工作,负责他们的金融产品系列, 主要是将他们的Noteware数据库系统从BASIC语言转换成C语言和x86汇编语言. 最值得注意的是,我编写了一个新的磁盘排序算法,将它们的排序速度提高了10倍.
- Wrote, 用于c交互系统, 使用现已过时的B-tree和R-tree库的C语言体育中心会员数据库系统.
- 开发了多个网站, 包括合同车辆租赁系统和在线书店(遗憾的是不是亚马逊)!)都使用HTML模板和Perl CGI后端.
- 为家庭作业高中的实施做出了贡献, 这是英国电影学院奖获奖网站,由英国第四频道委托制作, 主要使用Perl和HTML模板.
Experience
数控家具制造商的生产调度
瞻博网络的专利技术
http://patents.justia.com/patent/11546244Education
计算机科学学士学位
英国米尔顿凯恩斯开放大学
Skills
库/ api
Protobuf, OpenAPI, Node.js, Twitter SDK, 微软基础类(MFC)库, jQuery, React, 亚马逊EC2 API, WebGL, Web Audio, 微软基础课程(MFC)
Tools
Git, Jenkins, LaTeX, Vim文本编辑器, Jira, Confluence, Slack, Travis CI, Blender, Shell, Exim4, RabbitMQ, ActiveMQ, GitHub, NGINX, Apache, Flash, Confd, BigQuery, 云数据流, Grafana, 码头工人组成, Cgroups
Languages
C, Rust, JavaScript, HTML, Bash, Go, Python, C++, XSLT, XML, SQL, Haskell, Java, Lua, Visual Basic, Perl, Assembler x86, BASIC, XHTML, CSS, Elixir, Bash Script, WASM
Platforms
Linux, Docker, Raspberry Pi, Debian, Debian Linux, Apache Kafka, MS-DOS, 快速模拟器(QEMU), 亚马逊网络服务(AWS), Amazon EC2, 谷歌云平台(GCP), Kubernetes, 嵌入式Linux, Windows, Blockchain
Storage
MongoDB, Berkeley DB, Amazon S3 (AWS S3), PostgreSQL, Google Cloud, Druid.io
Paradigms
REST、Agile、DevOps、Scrum、微服务
Frameworks
Django, JUCE
Other
TCP/IP, Open Source, Back-end, System Design, CI / CD管道, Networking, 软件开发, 软件设计, 虚拟化, PDF, SVG, Open Babel, NixOS, Ajax, RISC Assembly, Slack App, 综合业务数字网(ISDN), Junos OS, CGI, Scrum Master, Excel 365, CSV, Debian打包, 软件架构, Requirements, 软件分析, Front-end, Full-stack, Big Data, Prometheus, Kustomize, 谷歌BigQuery, Cloud Storage, 云架构, ASCII, UTF-8, Robotics, 嵌入式系统, WebSockets, HTTPS, SSL, NVIDIA编解码器SDK, HTTP, 视频编码, APIs, Containers, 视频处理, Streaming
如何使用Toptal
在数小时内,而不是数周或数月,我们的网络将为您直接匹配全球行业专家.
分享你的需求
选择你的才能
开始你的无风险人才试验
对顶尖人才的需求很大.
Start hiring