Curriculum vitae
PERSONAL INFORMATION
Bogdan Florin Ionita
Bucharest (Romania)
--Sex Male | Date of birth 30 Jul 1987
PREFERRED JOB
Software Engineering
WORK EXPERIENCE
18 Feb 2016–Present
C++ server developer
Sparkware, Bucuresti (Romania)
* maintenance of current stack of applications (game servers, internal servers and tools for
configuration of game lobbies)
* bugfixing
* designing, implementing and code-reviewing new features.
* refactoring existing code (old code mostly) following modern design patterns and language features
(C++11)
Used technologies: C++ / windows / .NET (C#) / sockets / multithreading
1 Apr 2014–31 Dec 2015
Mobile Game Developer
King, Bucuresti (Romania)
Mobile game development, using C++11 & openGL (Android & iOS using Java/Objective-C wrappers)
- architecture & development of game features and systems
- refactoring
- bug fixing
1 Aug 2013–30 Mar 2014
Contractor (Software Engineering Consulting)
Intel
G. Constantinescu nr 3, sector 2, Bucharest (Romania)
Development of a multiplatform & multiarchitecture OpenGL tool. Details are confidential.
Working with C++, STL, OpenGL, OpenGL ES, Android and a bunch of different hardware platforms.
Business or sector Professional, scientific and technical activities
4 Apr 2011–29 Jul 2013
Senior Software Engineering
IXIA
Stirbei Voda 36, sector 1, Bucharest (Romania)
Ixia is an USA-based multinational software & hardware company leading the converged network
testing solutions market.
As a senior C++ software engineer, my responsibilities here included:
* Designing multi-platform (win32/linux i686/x64/octeon/ppc750) software solutions, such as:
- licensing system (APIs, daemons, services, communication subsystem)
- real-time debug engines (APIs, link infrastructure - data exchange, network routing, debug modules)
19/8/16
© European Union,- | http://europass.cedefop.europa.eu
Page 1 / 5
Curriculum vitae
Bogdan Florin Ionita
- out-of-process extraction of specific modules
* Writing functional specifications & design documents
* Implementing the software solutions using C/C++/C#/java/python languages & mainstream
toolkits/frameworks (see below)
* Provide guidance and help for other team members
Business or sector Converged IP Services Testing Solutions
18 Aug 2008–28 Mar 2011
C++ Software Engineer
Ubisoft
Expozitiei nr 2, Bucharest (Romania)
Ubisoft is a Paris-based multinational videogame company, well-known for franchises such as Tom
Clancy, Heroes of Might and Magic, Rayman & Raving Rabbits, and more specifically for titles such as
Price of Persia, Assassin's Creed, Ghost Reckon and others.
As a software engineer, i have worked in various areas of game development, such as:
* gameplay programming
* AI programming
* physics programming
* render (HSLS - shaders) programming
* GUI (menus) programming
My responsibilities were to implement, fix and maintain this functionality, following functional
specifications and direct interaction with game designers.
I have worked on the following titles:
* Assassin's Creed 2 PC version
* Tom Clancy's HAWX 2 (XBox360, PC & Wii versions)
* Silent Hunter 5
Business or sector Video Game Development
EDUCATION AND TRAINING
1 Oct 2006–1 Jul 2010
Polytechnic University of Bucharest, Bucharest (Romania)
Telecommunications & Information Technology
PERSONAL SKILLS
Mother tongue(s)
romanian
Other language(s)
english
UNDERSTANDING
SPEAKING
WRITING
Listening
Reading
Spoken interaction
Spoken production
C2
C2
C1
C1
C2
Levels: A1 and A2: Basic user - B1 and B2: Independent user - C1 and C2: Proficient user
Common European Framework of Reference for Languages
Communication skills
* Well tempered
* Great communication skills (trainings & many years of real-life experience communicating with a
wide variety of different personalities)
* Ability to adapt to multicultural environments (throughout my career in multinational companies I've
been interacting with colleagues from around the world; I've also worked abroad for a while in USA
inside Ixia)
19/8/16
© European Union,- | http://europass.cedefop.europa.eu
Page 2 / 5
Curriculum vitae
Organisational / managerial skills
Bogdan Florin Ionita
Good coaching & mentoring skills to new employees - i have mentored a couple new employees at
Ixia and got very good feedback both from them and their managers.
Digital competence
Briefly:
* C, C++, C#, Java, Python, Javascript, HTML, CSS
* gcc/g++/make, MS Visual Studio, Eclipse
* boost (C++)
* STL (C++)
* .NET (C#,C++)
* sockets/networking (C++/C#/java)
* multithreading & inter-process communication (C++/boost, C#/.NET)
* Windows Service development
* GUI design & programming
* Windows API
* some experience with MFC
* proficient in linux environment & linux userspace programming
* assembler (x86)
* DirectX/Direct3D/HLSL
* OpenGL, OpenGL ES
* experience with webservers (Apache, Tomcat, Ms IIS): setting up/configuring.
Detailed:
* 10 years of experience in C & C++, 6 years C#, 2 years Java
* strong experience with Linux & linux build tools - been a linux home user for several years.
* experience with boost libraries:
- asio, thread, bind, exception, lexical_cast, optional, serialization, thread, timer, shared_ptr, tokenizer,
variant
- used boost for an extensive cross-platform distributed debug system consisting of various
components such as static/dynamic libraries, applications, daemons, for various tasks, such as
>> threading and thread synchronization
>> memory management (shared_ptr)
>> serialization
>> networking (asio)
* good experience with c++ standard template library
- arrays/lists/maps/streams/algorithms/etc
* solid experience with windows/linux/java multithreading and thread synchronization techniques
- designed & implemented multithreaded communication library based on boost::asio for a distributed
19/8/16
© European Union,- | http://europass.cedefop.europa.eu
Page 3 / 5
Curriculum vitae
Bogdan Florin Ionita
debug system
- enhanced an existing licensing library by making it multithreaded and adding heart-beat mechanism
to make it react to changes in the state of the network connections
- implemented watchdogs in java/c++
- frequently using synchronization primitives from boost, such as mutex (and derivatives), locks,
conditions.
- implemented message-pump-like queue for safely delivering data across threads
* solid networking experience, based on the following technologies: .NET sockets on windows,
boost::asio cross-platform, sockets in java;
- worked on and designed various client/server applications (C++/boost)
- wrote a multi-tasking chat/file-exchange application (C#)
- wrote networking layer for a multiplayer game (C#)
- knowledge of common networking protocols: TCP, UDP
- good understanding of low-level protocols (IP, ARP, UDP etc)
* experience with interoperability between:
- C++ & C# (P/Invoke, Marshal)
>> i worked a lot with this scenario, in both ways: having a C# component use a c++ API and having a
c++ module controlling a C# component;
>> experience with exchanging function pointers/delegates, memory management (pinning,
allocating/deallocating with Marshal)
- C++ & java (SWIG): i maintained and extended a c++ library, its associated SWIG interface and the
java application that was using it.
* solid experience with build tools
- visual studio all versions (C/C++/C#)
- linux toolchain (gcc/g++, ld, make, shell scripts)
* linux environment experience (system administration, installation, configuration, compiling, etc)
- fedora/gentoo/debian/ubuntu/openSUSE
- linux power user at home for about 2 years
- i used linux at work on a daily basis for a couple years
* solid experience with source control applications & bugtrackers
- perforce
- VSS
- SVN
- JIRA
- IxTracker (internal bugtracker at Ixia)
* experience with Windows Services
- developed a Windows Service once that acted like a broker between several user components that
lived in different processes.
19/8/16
© European Union,- | http://europass.cedefop.europa.eu
Page 4 / 5
Curriculum vitae
Bogdan Florin Ionita
* solid experience with Windows API
- threading/thread synchronization techniques & primitives (mutex/event/critical section)
- GUI: standard windows message loop & Common Control Library
- GDI
- file system access
- created many GUI applications on Windows with no other GUI toolkit than the basic Windows API,
so I learned many tricks
- some experience with COM
* low-level GUI programming:
- I have written many GUI toolkits from scratch, in both C++ & java.
* Web technologies (HTML, Javascript, CSS, ASP.NET): Implemented a complete server/client frontend solution for a service at Ixia (C# server-side, ASP.NET, HTML & javascript client-side)
Driving licence
19/8/16
B
© European Union,- | http://europass.cedefop.europa.eu
Page 5 / 5