Position: C Developer
Company: Luxoft
Experience required: 5y
English level: upper

The client has a legacy platform that is still heavily used by M&A analysts. This is a C-based system with data stored in legacy Oracle database with stored procedures. The UI is based on legacy .Net and is available as a thick Windows client via Citrix terminal. The C-part of the system is mostly dedicated to ETL-like logic of collecting data form various upstream feeds and sources, doing some basic transformation and dumping that into a staging area of the DB. The transformation and cleaning is done with stored procs and the data extraction is done via a simple Java-based service that runs stored procs to do data extraction. Those data are further used by downstream systems. The project goal is to migrate the system from legacy on-prem infrastructure (old version of Oracle and Solaris) to Linux, cloud version of Oracle and potentially containers. .Net based UI should also be migrated to the cloud. A part of the migration is dealing with data transfer, i.e. migrating legacy Oracle DB (~1TB) to the new cloud version of Oracle.

Responsibilities:
• Legacy C-code migration from Solaris to modern Linux with minimal possible C-code change
• Design, build, and maintain efficient, reusable, and reliable C code
• Implement performance and quality modules
• Identify bottlenecks and bugs, and devise solutions to these problems
• Help maintain code quality, organization, and automation

Mandatory Skills Description:
Strong proficiency in C, with fairly complete knowledge of the language specification
Solaris
Thorough knowledge of the standard library as specified by ISO and ANSI
Good understanding of memory management in non garbage collected environments
Knowledge of low-level threading primitives and real-time environments
Familiarity with system call wrapper library functions
Familiarity with embedded systems design and low-level hardware interactions

Nice-to-Have Skills:Azure Cloud


Residence in Poland is mandatory