Jason Bell, Developer in Wigton, United Kingdom
Jason is available for hire
Hire Jason

Jason Bell

Verified Expert  in Engineering

Digital Signal Processing Developer

Location
Wigton, United Kingdom
Toptal Member Since
March 20, 2020

Having worked four years as part of a DSP group, Jason has a solid background in 2G/3G/4G wireless telecommunications, using SDR technology and software stacks written in C, C++, and assembler. Jason has looked into a wide range of languages and paradigms, but considers C++ to be one of the most versatile and high performance, and has acquired expert knowledge of C++14. As well as programming, Jason enjoys software architecture and UI design, using C++ and Qt, or JavaScript and React.

Portfolio

N. B. Dhanuka Ltd.
Bash, Unix, Windows, Git, Linux, Functional Programming, Docker, Haskell
Garrison Technology Ltd.
GCC, Make, Scrum, Bash, Unix, Linux, Agile Software Development, Windows, Git...
Maxeler Technologies Ltd.
GCC, Make, Bash, Unix, Linux, Git, Subversion (SVN), High-performance Computing...

Experience

Availability

Full-time

Preferred Environment

PostgreSQL, Redux, React, Express.js, YARN, Node.js, GCC, Qt Creator, Vim Text Editor, Firefox, Ubuntu

The most amazing...

...project I've completed is porting a legacy C++ cellular stack from Windows to embedded Linux, enabling a full 3G network to be run from a small circuit board.

Work Experience

Quantitative Developer

2017 - 2017
N. B. Dhanuka Ltd.
  • Did functional programming in Haskell within a dockerized Linux environment.
  • Created simulations of price movements for an asset based on set parameters.
  • Performed numerical optimization techniques on portfolio allocation between various assets and investment strategies.
Technologies: Bash, Unix, Windows, Git, Linux, Functional Programming, Docker, Haskell

Software Engineer

2017 - 2017
Garrison Technology Ltd.
  • Fixed display issues in DirectX code, allowing the Android environment to be shown with pixel-perfect accuracy on a PC screen.
  • Resolved issues with the Qt application switching between high DPI screens.
  • Performed stress testing of system networking using Python.
Technologies: GCC, Make, Scrum, Bash, Unix, Linux, Agile Software Development, Windows, Git, Cybersecurity, Qt, Yocto, Embedded Linux, Python, C++, Android, DirectX

Compiler Engineer

2016 - 2016
Maxeler Technologies Ltd.
  • Debugged and upgraded kernel driver and runtime library for the HPC system.
  • Detected and assisted in fixing regressions in the FPGA VHDL code.
  • Participated in the transition of the codebase and tooling from SVN to Git.
  • Developed ideas for new test infrastructure to be included in the Jenkins continuous integration/deployment system.
Technologies: GCC, Make, Bash, Unix, Linux, Git, Subversion (SVN), High-performance Computing, Device Drivers, C, Embedded Linux, Microsoft HPC, Java, VHDL, FPGA

Senior Engineer

2012 - 2016
Cambridge Consultants Ltd.
  • Participated in the development of physical layer implementations for telecoms standards including GSM, cdma2000, UMTS, and LTE.
  • Led studies and laid the groundwork for enabling new platforms (e.g. Octasic) to be used within the company.
  • Wrote optimized C/ASM for various multicore/VLIW architectures, and implemented DSP algorithms such as mixed-radix FFTs.
  • Produced new tools, applications and demos for the company's Sidewinder SDR platform.
  • Completed an upgrade and full port of a legacy C++ multi-threaded telecoms stack from Windows to embedded Linux.
  • Did technical writing and protocol design to coordinate with other teams in the company.
  • Implemented new network protocols, including the development of an associated Wireshark plugin to dissect the network traffic.
  • Created on my own all the necessary components for a system to do waveform playback and capture on radio frequencies from MATLAB.
  • Integrated or updated third-party software for use in the company's products and solutions.
Technologies: GCC, Sockets, Vim Text Editor, Make, Procedural Programming, SQL, C#, SQLite, Bash, Unix, Linux, Visual Studio, MATLAB, Wireshark, Windows, Multithreading, Digital Signal Processing, Git, Subversion (SVN), Embedded Linux, Radio, Radio Frequency (RF) Protocol, Telecommunications, DSP, ARM, Multi-core Programming, Assembler, C++, C

Coq FFT Development

https://github.com/ColonelJ/coq_fft_proof
This is a Coq development containing a machine-checked proof that the basic radix-2 Cooley-Tukey Fast Fourier Transform (FFT) algorithm correctly implements the Discrete Fourier Transform (DFT). I did this as a non-trivial exercise in certified programming, and to test my knowledge of Coq, that I had been building out of personal interest. This development uses the axiomatization of the real numbers from the standard library to implement basic operations on complex numbers and establish the ring structure and then uses that to implement the Fourier transforms. The proof is mainly structured into a series of lemmas and induction principles, before the main body of the proof, which is rather long due to the need to write out long equations at various stages.

C++ Competitive Programming Library

https://github.com/ColonelJ/algorithms-cpp
This is a work in progress library of algorithms and other utility functions for competitive programming using the C++ programming language. I have been developing this library as I have been going through the problems from UVa Online Judge mentioned in the book "Competitive Programming 3" by Steven and Felix Halim. The library includes custom iterators/adapters, various tree structures, and a variety of algorithms useful for specific problems.

Tronpix Decentralized Application

http://tronpix.com/about
Tronpix is a decentralized application (Dapp) I built for the TRON blockchain, based on the famous Million Dollar Homepage website. The Dapp allows users to buy tokens that can be exchanged for 10x10 pixel plots on a large canvas, on which users can draw anything they want, and attach an associated link to a website URL of their choosing. Like any Dapp, it is driven by a smart contract, written in Solidity in this case, which controls the core functions of the Dapp, the rest of the Dapp being written in JavaScript, and relying on the TronLink browser extension being present to facilitate connections to the blockchain through TronWeb. The whole website was written from scratch in pure HTML, CSS, and JavaScript, including the functionality for drawing and inserting images on the canvas. Although the project didn’t attract many users, it was still a good exercise in understanding blockchain technologies.

Languages

C++, C, JavaScript, HTML, Assembler, VHDL, C#, Java, Visual Basic, Python, Bash, Haskell, Solidity, Coq, XML, CSS, SQL, QML

Tools

Git, Subversion (SVN), Make, Visual Studio, Vim Text Editor, GCC, MATLAB, Wireshark, Code::Blocks, Qt Creator, IntelliJ IDEA

Paradigms

Procedural Programming, Radio Frequency (RF) Protocol, RESTful Development, Functional Programming, Logic Programming, High-performance Computing, Asynchronous Programming, Continuous Integration (CI), Continuous Deployment, Agile Software Development, Scrum

Platforms

Linux, Embedded Linux, Unix, Windows, Ubuntu, Firefox, Android, Docker, Eclipse, NetBeans

Storage

JSON, SQLite, MySQL, PostgreSQL, MongoDB

Other

Digital Signal Processing, FPGA, Device Drivers, Yocto, Multi-core Programming, ARM, DSP, Radio, Multithreading

Frameworks

Express.js, Boost, Qt, YARN, Bootstrap, Redux

Libraries/APIs

Microsoft HPC, DirectX, Node.js, jQuery, React, Sockets, REST APIs, OpenGL

Industry Expertise

Cybersecurity, Telecommunications

2008 - 2011

Bachelor's Degree in Computer Science

University of Cambridge - Cambridge, United Kingdom

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring