Sorel Mitra
sorelmitra@gmail.com

Green Energy for the Earth

2021 - Present

Tech Node.JS AWS Dynamo DB ElasticSearch Serverless
AT TechQuarter SRL / GoodLeap

GoodLeap offers loans for sustainable home improvements, in a friendly manner. They invest heavily in supporting green energy and any improvements that make a house greener. They also partner with GivePower, whose' Solar Water Farms are sustainably creating access to clean water in water-scarce regions around the world.

For all the above reasons I love working for this company.

The tech stack is interesting, too, and my job is about developing core features of the customer-facing apps.

The Power of Automatic Testing

The system that I'm working on is quite complex, and thus I felt compelled to bring in automatic testing so that I can feel confident that my changes don't break other stuff.

I pioniereed automatic testing in the company, by:

Day Skipper

2018-2022

Boats Jeanneau Sun Odissey 35 Jeanneau 389 An 8m light cruiser-racer
AT Elite Sailing UK

I once saw an old Romanian brig moored at the tourist dock in Mangalia. This has instantly awaken my longing for seas and sailing. When I was a kid, I relished reading Jules Verne. As his novels were full of sailors, I got very fond of sailing (and traveling in general).

That old brig made me long to sail for real, so in the next years I pondered on the idea.

The Quest

After realizing that boats are actually cheap (to rent or buy) if you know where to look, I started to prepare for being able to drive a boat. I wanted the full thing, not just crewing, so my target was the Day Skipper certificate from RYA in the UK.

I started with the Competent Crew certificate, then gathered materials and tools and started learning. Being a self-taught individual in many areas, including my profession, I took on this skipper learning on my own. Being far away from the sea, and having access only rarely to boats, this was a longer-than-normal process.

Among the materials and tools I enumerate: the RYA training charts and almanac, online free courses and resources, a small protractor ruler and dividers, and sailing simulators! Sail Sim 5, eSail, Sailwind.

The Skipper

I am now a certified Day Skipper! I have yet to drive a boat on my own, but I did go on a couple of refresher courses to gain some confidence. Being far away from my favorite place for learning to sail so far - the UK, I have to carefully plan my next steps: either rent, or buy a cheap boat in the UK and start with baby steps on driving it around.

Simulating WiFi

2006 - 2013

Tech Linux C TCL
AT Luxoft Romania / Trapeze Networks

Our company was producing WiFi systems complete with switches, access points, the software that runs on them, and a network management app. Some of their deployments were quite big with several big switches and hundreds of access points supporting thousands of WiFi devices. The access points were dumb, and all the heavy lifting was done in the WiFi switches. So they had to bullet-proof those switches. Among other stuff, they had some tools for performance testing, but really lacked a load testing solution, i.e. loading a WiFi switch cluster with the maximum number of supported access points and WiFi devices.

Installing and managing real access points and devices was out of the question - the logistics would have been unmanageable. So the WiFi Simulator was born.

The Cool Simulator

We designed an ideal WiFi medium with no obstacles, and a protocol that encompasses this medium. Then, I proceeded to implement the actual simulator:

This project was cool because of the solutions that we found, and because of the simplicity of procedural programming in C. Coming from the OOP world, it initially felt awkward, but when I moved back to OOP, I realized that procedural coding has its advantages coming from its simplicity - as long as you know how to design your code.

The App with No Bugs

2004

Tech Java & Swing Perl MacOS Windows
AT Softwin SRL

A customer wanted to enhance their printed agenda's production flow with a GUI app that would generate all the text (mostly calendars, current day, and headings), which then they would paste into a QuarkXpress template. My boss came to me with the line "Look, you're on your own with this. If you can do it in a month, then let's go for it. Otherwise drop it as it would not be profitable."

It was a stretch, but I took the challenge. It was a big success - my app did exactly what the customer wanted, and had no reported bugs.

The Power of Methodology

I applied a custom methodology derived from Extreme Programming on this project, due to its unique constraints. Besides the time limit, I was also supposed to fulfill each role in a typical project:

Manage all the subsequent phases of the project, and the time constraints.
Gather the requirements, design the solution, choose the technologies. Make sure all the requirements express what the customer wants, and that they can be traced back to work items.
Implement the solution. Design it so that it can be automatically tested, which meant that the UI was just calling to a command-line app with the right parameters. The latter had all the business logic.
With this modular design, I could employ automatic testing with 100% coverage and full traceability back to the requirements. No manual testing involved, just hit that test command and we find out where we stand.
Write a nice user manual.
Deploy the app to the customer and respond to their requests. With all the techniques that I employed, the app worked as expected and had an easy job on this!

The Friendly XML Editor

2000 - 2003

Tech C++ Win32/MFC UML
AT Softwin SRL

XML was big at the time, and every large publishing house was moving its content to XML in order to be able to publish electronically. Our company was busy editing and transforming XML content, and thus we built this editor in order to support their workflow. And it did, effectively doubling their productivity. Because it could load very large files, even with syntax errors, and it out-performed every competitor out there.

The Mother of all Projects!

This was an amazing project, in which we evolved a lot as developers, and created cool stuff:

This project has set the foundation for me as a software developer. The techniques we applied here proved useful for every other project I was involved into.

Mouse Emulator

1994

Tech Z80 Assembly Language Zeus Assembler Editor
Hardware HC91 Computer B/W TV Set Antenna connection

One of my first projects ever, this was a general-purpose mouse emulator built for the famous, but mouseless ZX Spectrum. You would use the keyboard to move a cursor around and ”click”. It would report the cursor position and button status into predefined memory locations.

Nostalgia

My first computer was a ZX Spectrum clone, named HC91 and built by the Romanian computer factory ICE Felix. I used to connect it to the antenna socket of a black and white TV set... I was in high school. I loved my HC91, and I have a certain nostalgia for that period in which you could live with 48K of RAM...