Click on any of the subsections to expand it
Teaching / training
12 years, approximately 7000 lecturing hours
Project Management
10 years
Programming / Analysis
25 years
(Most recently used first)
JavaSE
All JavaSE APIs, including cryptography and multimedia
JavaEE
Servlets, JSP, JSF, JavaMail, Web Services (JAX-WS, JAX-RS), EJB 2.x and 3.0, JBI
Java Frameworks
Hibernate, Spring, Struts, Seam, JDO, GUICE, JUnit
.NET
ASP, ASP.NET, Web Services, NHibernate, NUnit, Low-level communications
ESB
Mule, Apache ServiceMix, Apache Camel, Websphere Message Broker / ESB
SOA
SOAP, WSDL, BPMN/BPEL, WS-* Family of protocols, XML Encryption, XML-Digital Signature
Web
HTML5, CSS3, JavaScript, Usability, Accesibility (WAI, WAI-ARIA), microformats
AJAX/RIA
JQuery, JQuery Mobile, GWT, DWR, Yahoo UI, Google Maps
Application Servers
Weblogic, JBoss, Tomcat, Websphere, Glassfish, IIS
SQL databases
Oracle, MySQL, SQL Server
NoSQL databases
Apache Cassandra, Apache Hadoop/HBase, Amazon SimpleDB
Mobile Platforms and Frameworks
JavaME, Android, Windows Mobile 6/6.5, Windows Phone 7, JQuery Mobile, Phonegap
IDEs
Eclipse, Netbeans, Visual Studio, IBM Visual Age, IBM WSAD
Virtualization
Xen, VM Ware, Virtual Box
Cloud Computing
Google App Engine, Microsoft Azure, Amazon Web Services (S3, EC2, Amazon RDS, SimpleDB, SNS, SQS)
Team development
Visual SourceSafe, CVS, SVN, Sourceforge
Software debugging and testing
See for example a number of reporte bugs to different open-source packages such as Open-Source MySQL,Eclipse or NetBeans
Security
Symmetric key cryptosystems, public key (RSA, ElGamal), PRNGs, cryptographic protocols, PKI, steganography, digital certificates and SSL
Networking and Telecommunications
Modem programming , multiport serial board programming, CTI cards, high level and low level TCP/IP programming
XML
XPath, XSLT, XML Schema, XBRL, etc...
Algorithmics
Implementation of non trivial algorithms : file deltas, computational geometry, textual indexing, bi and three dimensional indexing (R-trees, BSP trees, etc.)
Compilers and DSLs
Design and development of parsers based on EBNF grammars, interpreters, code generators, code analyzers (software metrics, compliance control, etc.), LEX-YACC
Numerical Methods
Numerical analysis and numerical methods for FFT, differential equations and systems of differential equations, PDEs, complex variable analysis, etc.
I'm an independant and freelance consultant. I provide training and consulting services to leading spanish and multinational companies such as KPMG, Bank of Zaragoza, Bank of Santander, Banesto, Atos Origin,Jazztel, Madrid City Council, Bank of Spain, Ministry of Defense and others. Topics of expertise include Java/Web technologies, Mobile platforms, Web 2.0 applications, Service Oriented Architectures and Cloud Computing.
I'm also an avid software deveoper and experimenter. You can see some of my recent "for-fun" developments in my software projects page.
Member of the Scientific Advisory Committee of the Archimedes Project - a joint project by the Education and Science Department and the University of Murcia and the CNICE (Ministry of Science and Education) for the development of an educational TV series aimed at divulging science among kids. I was also charged with the specification and design of the Internet part of that project
Design and development of a system for injecting internationalized messages into existing web applications. The system featured request interception and on-the fly translation of the generated output.
Design and development of a transparent profiler for measuring web application performance and detecting bottlenecks.
Design and development of a java charting and graphing library.
As a Project Manager at PSD, I designed and led the team that implemented the following commercial products
Kryptos – A cryptographic toolkit and library for Delphi/VB. Featured implementations of some of the most important protocols at the time : DES, 3DES, Twofish, Blowfish, stream ciphers with long-period PRNGs, and more. The system was used by customers such as the Russian Embassy in Madrid or Texaco Brasil
SourceGuard – A version control system with bug tracking, source compliance metrics, code inspection support, visual differencing, etc.
Winproblem – A system for defect/incident tracking and reporting, geared towards ISO 9000 requirements and procedures.
Evolve – A patch creation/distribution system for Windows-based systems.
Under my direction PSD started and implemented a process for software quality assurance as dictated by ISO 9001 and ISO 9000-3
An IVR (Interactive Voice Response) system for Dialogic boards and Windows 3.1 for telephone access to database data. The system included TTS (Text-To-Speech) synthesis, DTMF based queries and options like fax-back and voice mail.
Many different applications for Lotus Notes 4.5 - Purchase management, Code Reviews, Quality Audits, etc.
Design and Implementation of a turnkey real-estate valuation and appraisal system of the Bank of Santander. As a team lead, I oversaw the substitution of the existing (non-working) system with a completely rewritten one. The project was delivered on time and within the planned cost, resulting in net savings of over 10 million pesetas per year. When I left the project, it was handling all mortgage-related appraisals of the bank (over 500/day), and was accumulating a real-estata database of more than a million items.
Design and Implementation of a real-estate valuation and appraisal system for the official institute of spanish architects.
Design and Implementation of a real-estate valuation and appraisal system for Urquijo Bank
End-to-End system for handling all real-estate information of Madrid for the Centre of Cadastre and Tributary Cooperation of the Ministry of Economy.
End-to-End workflow and administration system for handling real-estate valuations and apprisals for Cohistasa, including remote transmission, digitalization and processing of multimedia documents (real estate photographs, economic data, drawings, etc).
Design and implementation of a similar system for Urquijo Bank, Madrid.
Universal xBase report generator for Merca/3, S.A.
Development of the IT infrastructure of Merca 3, S.A. - including software for automatic transmission of audit results, market studies and real-estate apprisals.
Universal xBase application generator, capable of generating a full dBase/Clipper CRUD application based on screens designed interactively by the user.
As an experimental project, a multimedia communications terminal software ("Terminaltor II"), winner of the CATACOM'93 software contest, sponsored by Borland, Quarterdeck and Microsoft, in the area "Best communications software". The software (running under MS-DOS), besides the traditional features of the time (xModem/zModem transfers, ANSI terminal emulation, etc) featured a proprietary protocol that allowed the BBSs to present the user a GUI interface and interactive graphics.
Also, as an experimental project, a mathematical graphing program for exploring partial differential equations and systems of PDEs, as part of the "Mathematical method of physics"course of the Complutense University.
System for control and appraisal of plots of land and real estate properties for Merca/3 S.A. The system was later used by the land registries of many city halls.
As a personal project, a multimedia hypertext system, winner of the CATACOM'92 contest in the "Best MS-DOS utility" category. The system was later used for one of the first electronic magazines - MicroPress
During two years, SysOp of FantasyBBS - a BBS software developed by me in Turbo Pascal, devoted to programming topics and integrated in the FidoNet and WWIV networks.
Interactive learning tutorials on Turbo Pascal and C for the "Learning" Academy.
Multimedia software featuring text-to-speech synthesis under MS-DOS for helping children learn reading skills, for the "Learning" Academy
Student tracking and control software for CEP - "Centro de Estudios Procesarles".
Software for automatic generation and layout of advertisments for PostScript printers.
Maintenance and enhancement of existing systems.
Maintenance and optimization of the existing products for composition and layout of the Telex catalogues of ITDPC – International Telex Data Processing Center. Due to the customer's performance requirements, almost all of the existing dBase code (including the database access) was rewritten in assembly, achieving huge performance improvements.
Cyrillic drivers for different products targeted at the USSR market.
Software for real-time control of telex boards.
CRM system, including sales tracking and reporting, provisioning, accounting, customer managemen, etc., for СП " Микросистеми" (Bulgaria)
Pupil management software for handling pupil data and admission exam results for the English Language School in Sofia (Bulgaria)