Professional Work

Here is a very short list of some interesting tasks, projects or jobs I was lucky enough to be involved in, during my career so far.

Work

  1. Company
    Constructor Tech (via Remote.com)
    Role
    Java Programmer
    Date
  2. Company
    NTT DATA Romania
    Role
    Java Programmer
    Date
  3. Company
    NTT DATA Romania
    Role
    Java Consultant
    Date
  4. Company
    Gameloft Romania
    Role
    Programmer
    Date
  5. Company
    OBLONE Software
    Role
    Programmer / Managing partner
    Date
  6. Company
    Gameloft Romania
    Role
    Game / Level Designer
    Date
MyProfile

REST API over database tables

For a BI project, we needed the web frontend to be able to request data in (almost) any format that was required to construct various widgets (charts, KPIs, pivot tables etc.).

I was heavily involved in designing and implementing a system for exposing the required data via REST endpoints.

The frontend could then safely SELECT data from specific, isolated database tables using a custom JSON-based query language that we created, before GraphQL was a thing.

Working with file encryption

I had the opportunity to implement a wrapper over the standard C functions for file IO, to seamlessly support working with a custom, encrypted file format.

An application would simply need to use these functions instead of the ones found in stdio.h and would not even know it is working with encrypted files, everything being handled internally by the wrappers.

For the success of this implementation, I also had to implement thorough tests to ensure compatibility even with edge cases, like:

  • “What would ftell return right after you open a file in append mode?”
  • “What would happen if you fseek outside the file boundaries of a file opened in append mode and then write something?”
  • Emulating files opened in text mode (since encrypted files are binary by their nature).

I learned a few years later that what I did (out of necessity) was called Unit Testing and that I kind of followed a TDD approach.

Live texture update

One of the tasks I enjoyed was texture manipulation (e.g. changing the hue) directly in memory, in real-time.

The interesting part was that for performance considerations, the manipulation was made directly on the compressed bytes of the textures in memory, without doing any re-compression.

Gaming startup

Many years ago, my brother, a friend and I started our own gaming company, where we learned a lot and had to do a bit of everything.

I was involved in:

  • Implementing various features for a custom programming language that we developed. E.g.: an OpenGL-based rendering engine; A custom mesh file format; Morphing animation support; A parser for arithmetic expressions.
  • Integrating several payment providers for our websites (PayPal, payments via SMS).
  • 3D modeling, some of the graphics and animations for our games.
  • Game/level design for our games.

Game/Level design

Although I didn’t plan to be a game designer, my professional career started as a 19 years old game / level designer.

I did that for several years and I am so grateful for this time in my life, although at the time I felt terrified by such a huge responsibility.