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
- Company
- Constructor Tech (via Remote.com)
- Role
- Java Programmer
- Date
- Company
- NTT DATA Romania
- Role
- Java Programmer
- Date
- Company
- NTT DATA Romania
- Role
- Java Consultant
- Date
- Company
- Gameloft Romania
- Role
- Programmer
- Date
- Company
- OBLONE Software
- Role
- Programmer / Managing partner
- Date
- Company
- Gameloft Romania
- Role
- Game / Level Designer
- Date
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.
Work
- Company
- Constructor Tech (via Remote.com)
- Role
- Java Programmer
- Date
- Company
- NTT DATA Romania
- Role
- Java Programmer
- Date
- Company
- NTT DATA Romania
- Role
- Java Consultant
- Date
- Company
- Gameloft Romania
- Role
- Programmer
- Date
- Company
- OBLONE Software
- Role
- Programmer / Managing partner
- Date
- Company
- Gameloft Romania
- Role
- Game / Level Designer
- Date
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.