Santiago Capel Torres
I have worked for many years as senior developer, database administrator and systems administrator. I have maintained myself apart from most of the trends but the ones that made me enjoy working as a computer engineer. When I had to update my knowledge, I did it. But I am still and I will allways be a happy coder of good languages.
I've developed an extensible C++ library to generate code for the whole life of the project for different languages and environments:
- Models and Forms for C++/Qt database applications
- Laravel models, controllers, tests and factories.
- Laravel RESTfull API models and controllers
- Yii2 models, controllers and views
- Yii2 restFull API models and controllers
- Building of whole MVC applications in both Yii2 and Laravel.
- Strong knowledge and use of the OOP features of PHP: extension, interfaces and traits.
- Use of reflection to autodocument APIs
- Advanced use of Yii2 and Laravel: new database drivers, modules and extensions, external libraries.
- Contribution to the wp-cli project (PR pending)
- Contribution to Yii2 (PR pending)
- Building of whole MVC applications with Qt and Boost.
- Library to autogenerate code for any language/framework.
- Reports engine with a smart OO design. Advanced use: templates, closures, etc.
- Development of MVC applications with advanced use of the Bootstrap CSS framework.
- Learning ReactJS.
- Implemented lacking DDL statements of Sqlite3 (ALTER TABLE ... CHANGE COLUMN, etc.) as an extension of Yii2
- Laravel database connector to query old MySQL 4 server, written in PHP and C++,
- C++ library to build database applications from native MySQL, Sqlite3 and PostgreSQL database drivers,
- Lots of importers/exporters from/to CSV, Excel, msyqldump, XML, Seeders from/to MySQL, dBase and Sqlite3.
- Script to backup entire sites dumping their databases automatically
- Use of SELECT EXPLAIN to optimize long queries
As a developer, my day-to-day tasks consisted of building the basic blocks of MVC appliations:
- Analysis and implementation of requirements,
- Database design and migrations, both with MySQL and Sqlite3,
- Autogeneration of models and controllers, both with Yii and Laravel,
- Creation of modules and extensions common to all applications,
- Building our own tools for deploying,
- Creation of tests trying to get close to test-driven development.
As a database administrator, my day-to-day tasks consisted of:
- Taking care of database backups and integrity,
- Building adaptors between different RDBMS to keep our client's legacy systems up and running,
- Developing a number of import/export processes,
- Optimizing database performance.
As a Linux systems administrator, my day-to-day tasks consisted of:
Developed applications using Ruby on Rails.
Developed internal apps in PHP. At that time, PHP frameworks were at their early stages, so I developed one from scratch very similar to Smarty.
Built a number of reports from different data sources: dBase files, MS Access databases and machine generated data from calling center machines.
I took control of the whole previously outsourced management and academic software written in MS Visual Basic and gradually ported it to Java.
Although most of my career I have worked for companies that did not share their code, I have struggled to have some projects on the public domain: