Hello, My name is

Marcell Fülöp

Software Engineer

Profile

About me

I am a passionate Software Engineer with over a decade and a half of professional experience & a never ending enthusiasm for learning

Twenty-seven years after I completed the first website I got paid for, I can still get literally excited about programming

As an intelligent and enthusiastic graduate with over fifteen years of experience in different roles of IT systems design and development, I bring keen analytical and excellent communicational skills to any software development team. Thank to my early exposure to computer programming as a child, the hobby soon became a profession and a passion.

Having spent fifteen years in the industry as a professional and twenty-seven years after I completed the first website I got paid for, I can still get literally excited when I try things I've never done before in programming. It's this special ability that feeds my enthusiasm and leads to an ever increasing interest in learning and working with new and developing technologies.

What I do

From designing databases to implementing scalable back-end systems to building responsive UI components to going all the way full-stack, there's virtually no role I haven't played in a software team.

Back-end software design & developmentBack-end

The main focus of attention even before and certainly throughout my professional career has always been on server-side languages but I really learned the most about backend development after University education through my jobs and pet projects.

These include Relational Databases and Object Relational Mapping, robust and light-weight frameworks and libraries aiding speedy development of complex, interconnected systems, implementation of API producers and consumers and other intricacies such as parallelism, blocking vs. non-blocking IO, thread safety, queue systems, in-memory, key-value pair and document based storage systems, inter-process communication, performance optimisation, stress and load testing methods, and so on and on...

I am committed to following coding standards, general, language-specific and security best practices and producing high-quality, test-covered and reusable code and.

Although I haven't realised for some time, I am now well aware that being a great Software Engineer also means a life-long journey of perfecting one's skills in Requirements Engineering and the art of balance between the best possible solution for a problem and respecting resource constraints.

SysOps / DevOps / CI/CDSys-Ops・Dev-Ops・CI/CD

I just had to get good at Dev-Ops and Sys-Ops for one main reason to begin with: so I can remove obstacles that are not directly related to software internals but are blocking my route needed to achieve a desired external state. For example creating and configuring a development or staging environment, consuming an API during a release stage, allowing an application to communicate with other components in its ecosystem, configuring and handling aggregate logging and event tracing for multiple components, or creating a service template that contains the scaffolding for a specific infrastructure it needs to run on.

The list could and does go on forever depending on each project's development stack, test and release pipeline specifics, scalability and redundancy requirements, and so on, not to mention the rapid advances in industry trends one has to keep up with to remain competitive.

The line between Software Development and Systems Engineering / Operations can, most of the time, be very clearly defined but, to be fair, is often obscured within a project or company and developers are required, or at least expected, to do much more than just writing code so accumulating knowledge and experience in these areas is a huge advantage for a Software Engineer

Front-end & full-stack developmentFront-end

Although I am more involved and experienced in back-end technologies now, I have actually started web development by building static websites and being a full-stack developer for smaller projects, and I formed some strong opinions on what a good user interface should be like. I have been participating in front-end design and development from time to time since the beginning which helped me stay excited about and mostly up-to-date with the biggest, newest and most popular front-end trends and technologies.

I acquired a considerable know-how in the field of User Interfaces, let it be graphical or command-line, and, most of all, web-browser based front-end systems focusing on modular, reactive and responsive design, which lead me to the conviction that any software designated to be used by even a small group of people must be accompanied with an intuitive interface and provide excellent user experience in order to stay afloat.

Education & Experience

Work Experience

Click to shuffle tags
This size of each tag label represents the combined professional and interest based weighting for the given area.

Professional weight expresses the time spent in jobs using the language or technology while the interest basis gives me the opportunity to counter the professional weight (e.g. decrease if I'm less interested, or increase if I gained experience outside work) and to add tags where I have considerable knowledge but not in a work experience.

04/2021 – 08/2022

Extracover Ltd (Zego.com)

London, UK
Python, Django, TypeScript, gRPC

Python Developer

I joined this absolutely fantastic, vibrant company as a Python developer and learned so much more than I expected. I helped adding features and fixing bugs in the company's rather complex core B2C system, a website offering specialised car insurance in some market segments.

11/2019 – 08/2020

Loxon Solutions cPlc

Budapest, HU
Docker, Docker Swarm, Jenkins, Apache Maven

Dev-Ops Engineer

I have been working with a few small teams of talented engineers as a Development Operations Engineer to the Innovation Division of this FinTech company, providing daily support in infrastructure maintenance, development, test and release processes.

03/2016 – 03/2019

Cohort Global Ltd,
Cohort Global Australia Pty Ltd

London, UK・Sydney, AU
PHP, MySQL, REST, JavaScript

Lead Developer

I have fulfilled the role of Lead Software Engineer for a small, in-house software development team, and managed the product life-cycle for the company's Affiliate Management Platform. My responsibilities ranged from liaising requirements with management, marketing and sales teams, supervising fortnightly sprints, daily workflows and code quality, executing code reviews, working with QA team, building and running stress tests.

01/2015 – 02/2016

Virgo Systems Ltd

Budapest, HU
Node.js, Express.js, Handlebars, MongoDB

Senior Web Developer

I worked for this software company as a contractor for a brilliant client in the real estate industry who wanted to build the world's first crowd finance real estate marketplace and investment platform. I was part of a team of 12 talented engineers and took part in designing and implementing parts of this large system.

01/2012 – 11/2014

Net Mobile UK Ltd

London, UK
PHP, MySQL, Symfony, Doctrine ORM

Senior Back-end Developer

I joined the UK sister of this international B2B telecommunications firm based in Germany as a back-end software engineer and worked on two large projects for high profile clients, Playboy and Fujitsu.

Education

University of Bedfordshire

Computer Science & Software Engineering

BSc Hons, 2:1 - Java, .NET, Oracle - 2008

Polytechnic of Economics

Mathematics, Informatics, Economics, History, Hungarian & English Language

GCSE - 1996

Fluent spoken and written English, native Hungarian. Interested in French, Arabic.

Projects & Interests

Projects & Interests

Besides spending most of my free time on some sort of software or IT project, I love nature, forests & rivers, hiking & biking around where I live, or exploring other cultures while travelling to exotic places. I'm a hobby photographer and I love to play Backgammon.

Thanks to growing up with a bookworm mother and sister, I inherited the love of books and always enjoy a good read, mostly sci-fi and classics but lately also on political science, apparently. Admittedly though, I had read much more in my school years then ever since. Some authors with notable impact include Asimov, Borges, Capote, Chomsky, Philip K Dick, Ishiguro, Márquez, Antal Szerb, Jenő Rejtő.

I love natural sciences and fascinated by advances in modern research, e.g. in cosmology, biochemistry, neuroscience, material science. I am always up for a quality science documentary or a lecture, or just something casual from one of Brady Haren's channels. I am also naturally attracted to all kinds of architecture. Modern and historic city buildings, civil engineering like damns and bridges can fascinate me.

WebSCP

Go, Rust, Vue.js, Rocket.rs, Bash

Most recently I spent quite some time on this project as a means to acquire the basics and some advanced concepts in the Go and Rust languages. WebSCP is a file manager and text editor in your browser that allows to make SSH connections and copy files to remote servers through a graphical user interface. It builds on top of an existing open source project which provides the basic file manager functionality and adds remote capabilities to it.

The implementation in Rust is fully async using the Tokio library and the reactive frontend written in the Vue.js framework provides neat functionality to start, track and abort remote transfers.

ESP32

Embedded C, C, FreeRTOS, RISC V

I got involved in embedded C programming during the pandemic. It is a truly fascinating field in the world of software engineering where working around hardware resource limitations is a common pattern. Depending on the specifics of the target CPU or development board, not running out of stack space is usually a challenge in itself.

In this endeavour, I have experimented with some ESP32 libraries for face recognition and detection at first, then I have taken an existing project for the ESP32-CAM, a board featuring a camera, flash memory and an SD card slot, and highly modified it adding features like continuous recording, rotating files on the SD card when it becomes full, etc.

jChat

JavaScript

One of my earliest large projects I kept working on for years, jChat started out as a browser-based chat application but ended becoming a framework for JavaScript applications that came with UI components and many built-in features such as internationalisation and a theme system allowing to change language and look-and-feel of the application components without reloading the page, dynamic form validation rules and more.

The driving motivation was to create the whole thing in vanilla JS, without any libraries, frameworks or tools such as jQuery which was just becoming very popular at the time. This had been a great opportunity to master ECMA Script and browser DOM manipulation techniques.

Dashy

Vue.js, Node.js, JavaScript

Dashy is an open-source, self-hosted, personal dashboard that I heavily rely on as a portal / start page to services hosted in my private cloud and home-lab infrastructure, as well as using many of its widgets to monitor or query said services and hardware resources.

I have contributed with a number of PRs covering bug-fixes, improvements and some new features and widgets.

Kate

Kate is a brilliant, feature rich plain text editor for KDE, a desktop environment for Linux I had been using a lot on my primary personal and work computers. A few years ago when I was learning C and C++ I ended up fixing a number of bugs in Kate as a means of validating my skills. That went well and a couple of PRs were accepted and merged.

MatchDog

MatchDog is easily my favourite pet project though it has been inactive for quite some time now. It's a console application written in Java that acts as a bridge between FIBS (the First Internet Backgammon Server) and gnubg  (a sophisticated neural network based Backgammon engine) providing a bot on FIBS that can invite or accept invitations from other players or bots and play matches.

I started this project in my last year at university and I worked on it and maintained it for a couple of years initially. It was a truly grateful experience to let the bot out in wild as gnubg's engine is so strong that MatchDog easily ranked in the 2000s after just a few days, measured in an ELO based rating system used on FIBS. Very few humans get ever close to 2000 in Backgammon.