John Hedges,英国蒙茅斯的开发商
John is available for hire
Hire John

John Hedges

验证专家  in Engineering

软件开发人员

Location
蒙茅斯,英国
至今成员总数
June 3, 2021

John是一位热情的开发人员,对分布式应用程序和网络协议有着深刻的理解. 他拥有强大而广泛的技能, 包括传统语言, C and C++, 互联网语言,如Python和JavaScript, 以及更现代的Rust和Go. 无论是作为团队的一员还是独自完成一个项目, 约翰将努力生产干净, ergonomic, 可靠的代码.

Portfolio

超实互动娱乐有限公司.
Rust, WebSockets, c++, HTTPS, SSL, Windows, Git, GitHub...
Spotify
Go, Kubernetes, Google Cloud, BigQuery, 云数据流, Elixir, Grafana...
Growth Lab公司.
Go、Git、GitHub、Slack、区块链

Experience

Availability

Part-time

首选的环境

Git, Linux, Go, Rust, C, JavaScript

最神奇的...

...我参与的项目是一个网络保障产品, 由一家大约40名员工的小公司开发,并被Orange和乐天等电信公司使用.

工作经验

高级软件工程师

2023 - 2023
超实互动娱乐有限公司.
  • 改编了一个开源的ALVR游戏流项目,运行在WebSockets上.
  • 为一家寻求种子资金的游戏初创公司开发了一款MVP.
  • 预置的AWS实例具有GPU功能,可在云中运行计算密集型应用程序.
  • 使用Rust和WASM进行视频和音频的前端渲染.
技术:生锈, WebSockets, c++, HTTPS, SSL, Windows, Git, GitHub, 亚马逊网络服务(AWS), NVIDIA编解码器SDK, HTTP, 视频编码, WebGL, WASM, Web Audio, 视频处理, Streaming

高级软件工程师

2021 - 2023
Spotify
  • 领导将Elixir预测应用程序转换为Go的工作, 包括多种功能和效率的改进, documentation, 单元和集成测试, 基础设施就是代码.
  • 使用Jira将必要的工作划分为票和冲刺.
  • 创建了集成测试,以生成侦听器数据,并使用码头工人组成设置测试预测的位置.
  • 创建了一个Jenkins构建和测试脚本来补充构建.
  • 实现了产品的持续交付,为每个合并的pull请求创建一个新版本.
  • 在良好的编码实践中指导团队成员,并在我们的构建管道中建立了筛选器的使用.
  • 是否有建设性的代码审查和结对编程来与其他团队成员交流想法.
  • 提交了开源过滤器golangci-lint所需的修复.
技术:去, Kubernetes, Google Cloud, BigQuery, 云数据流, Elixir, Grafana, Prometheus, Jira, Docker, 码头工人组成, Git, GitHub, Jenkins, Kustomize, Druid.io, PostgreSQL, SQL, 谷歌BigQuery, Cloud Storage, JUCE, 云架构, System Design, Bash, Bash Script, APIs, HTTP

高级软件工程师

2022 - 2022
Growth Lab公司.
  • 在Go中开发了一个加密哈希模块,使用种子对二进制数据进行哈希.
  • 编写了Go模块并进行了全面的测试,确保了可靠性和正确性.
  • 与使用Slack的分布式加密专家团队合作.
技术:Go, Git, GitHub, Slack,区块链

高级软件工程师

2021 - 2021
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的迁移.
技术:生锈, LaTeX, PDF, SVG, Open Babel, Git, NixOS, Microservices, 软件架构, Back-end, ASCII, UTF-8, Robotics, Bash, Bash Script

软件工程师

2020 - 2021
瞻博网络
  • 作为团队的一员,将网络测试和保证产品集成到瞻博网络的路由器和无线设备中. 这涉及到对Juniper运行时、Junos配置和libvirt虚拟化的深入研究.
  • 在NFX-150系列路由器上改编现有的网络保障设备映像,使其作为VNF可用.
  • 为C网络保证软件增加了下载插件支持. 这使得许多保证实例的远程编排成为可能.
  • 致力于Go微服务的实现,提供可下载的插件.
  • 与两个团队合作,每个团队约6人,使用Scrum和Jira进行问题跟踪.
  • 获得测试代理的创新软件体系结构专利:用于网络性能测量的名称空间感知测试代理. http://patents.justia.com/patent/11546244.
技术:c++, Go, Agile, 虚拟化, Jira, Git, OpenAPI, Python, TCP/IP, Junos OS, Scrum, Microservices, C, Back-end, 谷歌云平台(GCP), 云架构, System Design, 嵌入式Linux, 嵌入式系统, WebSockets, APIs, Bash, Bash Script, Linux, HTTP

顾问|高级软件工程师

2018 - 2020
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人团队.
技术:C, Python, Go, Docker, Git, Jira, Confluence, Slack, Bash, Linux, Protobuf, Apache Kafka, C++, REST, 快速模拟器(QEMU), GitHub, Shell, Slack App, 亚马逊网络服务(AWS), Scrum, Scrum Master, Amazon S3 (AWS S3), Amazon EC2, 亚马逊EC2 API, Confd, Microservices, 软件架构, Django, PostgreSQL, Back-end, 谷歌云平台(GCP), 嵌入式Linux, 嵌入式系统, WebSockets, APIs, Bash Script, HTTP

顾问|软件开发

2016 - 2018
Ribose, Inc.
  • 被Ribose聘为软件开发顾问,在他们屡获殊荣的安全协作平台上工作.
  • 设计并实现Riffol, Rust中的开源最小初始化系统, 用于管理少量进程,并针对Docker容器.
  • 在Rust中设计并实现了Nereon/Nereond(一个开源配置库)和配置实用程序.
  • 致力于Retrace,一个用于测试ELF二进制文件的开源实用程序. 它使用LD_PRELOAD技术来拦截对标准库的C调用.
  • 在GitHub上使用Travis和Jenkins CI/CD维护项目.
技术:生锈, Git, Jenkins, C, Travis CI, Linux, Open Source, Docker, GitHub, 软件架构, 软件设计, System Design

顾问|软件工程师

2014 - 2018
Croesyceiliog学校
  • 为Croesyciliog学校制定成绩总结报告,为每个年级组的年级提供年度报告.
  • 使用JavaScript和React前端上传学生成绩的Excel电子表格并下载相应的PDF报告.
  • 用Haskell写了一个后端,将Excel电子表格转换为CSV, 计算所需的统计信息, 并使用PDFLatex生成图形报告.
  • Hosted, maintained, 并管理了一个docker实例和Nginx代理服务器,使学校管理部门可以使用该系统来生成报告.
技术:JavaScript, Haskell, LaTeX, PDF, CSS, Docker, Excel 365, CSV, Shell, Bash, Debian打包, Linux, DevOps, NGINX, React, 软件架构, Requirements, 软件设计, Front-end, Back-end, Full-stack

自由顾问|全栈软件工程师

2014 - 2016
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太阳能控制器使用树莓派收集指标.
技术:Python, C, Blender, Haskell, JavaScript, HTML, Shell, Exim4, Node.js, MongoDB, RabbitMQ, ActiveMQ, Lua, Raspberry Pi, Requirements, 软件架构, 软件设计, CSS

顾问|全栈开发者

2000 - 2015
Taskworthy
  • 曾在Taskworthy担任IT顾问和开发人员, 高端定制室内细木工制造公司.
  • 设计和构建定制的衣柜设计软件与JavaScript和Ajax在前端和Python, XML, 并在后端使用XSLT. 客户可以设计衣柜,并以PDF格式生成精确的裁剪清单和车间时间表.
  • 设计并实施Taskworthy网站的至少三个版本, 包括上传图片的管理功能. 它使用Python、XML、XSLT和XML- fo来生成PDF.
  • 在Debian Linux上使用Apache, Nginx和Exim4托管网站和电子邮件.
技术:Perl, Apache, CGI, NGINX, XML, XSLT, PDF, HTML, JavaScript, Ajax, Python, DevOps, CSS, Back-end, Front-end, Full-stack, ASCII, UTF-8

顾问|后端开发

2013 - 2014
Blurrt
  • 帮助开发了一种算法来衡量社交网络帖子中的情绪.
  • 编写了一个C程序,使用Twitter的API根据简单的搜索词从Twitter的“火龙”推文中收集情感.
  • 帮助定义了这个初创公司使用的技术栈.
技术:C, Twitter SDK,后端,大数据

顾问|全栈开发者

2008 - 2013
Percol Coffee
  • 使用静态XHTML模板、XML数据和XSLT样式表重新设计Percol的网站.
  • 为网站的交互部分创建了一个Python CGI后端.
  • 维护、监控和托管Percol.co.在Debian Linux上使用Nginx的英国网站.
技术:JavaScript, XML, HTML, NGINX, DevOps, XHTML, XSLT, CSS, Linux, Front-end, Back-end, Full-stack

顾问|全栈开发者

2000 - 2011
真正的冒险
  • 共同创建q点,一个网络和IVR销售创新方案由黑马金融采购. 销售人员获得虚拟Q点, 他们可以在系统上赌博,然后用高街代金券兑换.
  • 在Perl后端工作,每天导入数十万条财务记录供q点玩家兑换. 该系统还承载了奖励性赌博游戏的博弈逻辑. 它运行在Linux和Apache网络服务器上.`.
  • 在Windows上开发了一个完整的c++拖拽式IVR(电话)系统,通过电话游戏(如点球大战和21点)来管理语音呼叫,)购买代金券, 订单报表, and so on.
  • 使用JavaScript, Java applet和Flash为游戏编写多个web前端.
  • 维护和管理q点系统多年, 监控日志, fixing bugs, 处理客户支持请求.
技术:c++, Perl, Apache, HTML, Flash, Java, JavaScript, 微软基础类(MFC)库, 微软基础课程(MFC), Berkeley DB, 综合业务数字网(ISDN), DevOps, 软件分析, 软件架构, 软件设计, Front-end, Back-end, Full-stack, CSS

IT Consultant

2003 - 2009
威斯敏斯特瓦特
  • 在瓦茨纺织公司当承包商.
  • 维护Mac、Linux和Windows电脑的混合网络.
  • 重新设计他们的网站,并将其与公司的电子邮件一起托管在Linux、Apache和Exim上.
技术:HTML, CSS, Exim4, Apache, DevOps, Linux

顾问|软件开发

1987 - 2000
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模板.
技术:c++, C, Visual Basic, MS-DOS, Perl, HTML, Assembler x86, Basic, RISC Assembly

数控家具制造商的生产调度

使用JavaScript和Ajax前端,后端使用Python和XSLT, 我开发了一个网站,可以从一组组件中拖放衣柜设计, sizes, and styles. 设计被渲染并转换成一个完整的切割清单和生产计划,为工厂车间做好准备.

瞻博网络的专利技术

http://patents.justia.com/patent/11546244
In general, the disclosure describes a method that includes partitioning resources of a computing device into a first namespace comprising a first physical network interface and a second namespace comprising a second physical network interface; creating, 由测试代理作为进程在第二个名称空间中执行, a test agent child in the second namespace; migrating the test agent to execute as a process in the first namespace; communicating, 由测试代理子程序通过第二物理网络接口, test packets; obtaining, 由测试代理, network performance measurement data that is based at least on the test packets; and outputting, 在第一个名称空间中作为进程执行时由测试代理执行, 网络性能测量数据的指示.
2000 - 2010

计算机科学学士学位

英国米尔顿凯恩斯开放大学

库/ 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

在数小时内,而不是数周或数月,我们的网络将为您直接匹配全球行业专家.

1

分享你的需求

在与Toptal领域专家的电话中讨论您的需求并细化您的范围.
2

选择你的才能

在24小时内获得专业匹配人才的简短列表,以进行审查,面试和选择.
3

开始你的无风险人才试验

与你选择的人才一起工作,试用最多两周. 只有当你决定雇佣他们时才付钱.

对顶尖人才的需求很大.

Start hiring