Juan Agüí
Contact
- web (www.juanagui.com)
- @juanagui (http://twitter.com/#!/juanagui)
- juan@juanagui.com
- +34669528872
- linkedin (http://www.linkedin.com/in/jagui)
- del.icio.us (http://delicious.com/jagui)
- flickr (http://www.flickr.com/photos/juanagui/sets/72157601186570194/)
Education
Technical University of Madrid
Ingeniería de Telecomunicación (EE-CS): 1994-2003
Master Thesis
Desarrollo de protocolos para una red difusiva inalámbrica de bajo coste en espectro libre de frecuencias (http://www-app.etsit.upm.es/tesis_etsit/documentos_biblioteca/masinformacion.php?sgt=PROYEC-03-006)Papers
VESTA: A High Flexibility and Low Granularity Domotic Platform Based on Distributed Processing over a Dynamic Interconnection Wireless Network. VIP Scientific Forum of the International IPSI-2003 Conference. 10/04/2003-10/11/2003.Sveti Stefan, Serbia and Montenegro
Nuevas Soluciones Tecnológicas para el Entorno Domótico. XIII Jornadas Telecom I+D. 11/18/2003-11/20/2003.Madrid, Spain. ISBN: 84-89315-28-0
Courses
J2EE - Web Development, JSF, Spring. May 2010.
Skills
Programming
C#, WPF and Silverlight, ActionScript3 and Flex, XHTML and CSS
Databases
PostgreSQL (PL/pgSQL), SQL Server 2005 (T-SQL), Neodatis and DB4O
Frameworks
.NET 3.5, ASP.NET 3.5, ASP.NET MVC, MyFaces, DotNetNuke, Zen-Cart
Languages
Fluent in English. Native Spanish.
Professional Experience
Avalon Biometrics SL (www.avalonbiometrics.com)
Leading solution provider in the Homeland Security Space. Startup, founded 2004.
2010 to present. Product Manager: BioCap, FormCap. Senior SW Engineer.
After only 9 months in Avalon, the management team was so pleased with my performance that I was promoted to Product Manager.
Main Duties
- Defining the product roadmap for BioCap(person enrollment) and FormCap(forms enrollment).
- Vision, design and implementation of the offline mode for the whole breadth of Avalon Biometric's applications. In this mode there's no server, hence speeding up development and deployment of demos and pilots.
- Leading the team which implemented the first offline pilot, a Seafarer Identification Card system to be deployed in the Magreb.
2009-2010. Senior SW Engineer.
I was hired when the company was facing a very large scale project and was in need of seasoned developers.
In this period I mastered patterns such as Model-View-ViewModel (with WPF), Inversion of Control and Dependency Injection, Test Driven Development and Unit Testing.
Main Duties
- Designing and implementing the new application framework for all Avalon's products.
The framework is already in production/preproduction in:
- a large scale Border Control System in the Magreb,
- a Passport QA System in Europe,
- a Social Security Number Management in East Asia and
- a Seafarer Identification Card in the Magreb.
Atalum Wireless SA
2003-2008 Founder and CTO
Startup focused on how to maximize a ZigBee infrastructure producing the tools to monitor, diagnose and control ZigBee networks.
First Spanish company to join the ZigBee Alliance (http://www.zigbee.org).
Note Atalum Wireless was dissolved in 2008. I'm by no means related to the current owner of the atalum.com domain.
Main Duties
- Leading the r+d team made up of 5 people.
- Defining the architecture, developing the software and managing the development cycle of the products GREENoperator, GREEENtool and GREENmesh.
- Meeting leading Building Automation OEMS for specifying our tools' feature set in both the US and the EU.
- Attending to the ZigBee Alliance's Open Houses and Member Meetings.
- Attending to the ZigBee Alliance's weekly conference calls.
- Active involvement in the following groups of the ZigBee Alliance: Network Working
Group, Commissioning Tools Task Group, Gateway Work Group. A brief summary of such
involvement includes:
- Official reviewer of the ZigBee specification.
- Significant contributor to the Commissioning Framework. Provided a gap analysis for the specification of a Commissioning Cluster and became evangelist of the Commissioning Task Group. Proposed the Commissioning EPID solution that's currently used by ZigBee standard.
- Submitted an efficient Passive Clustering Broadcast algorithm for inclusion in the standard
- Submitted a Diagnostics Cluster proposal for inclusion in the standard
- Jump-started the efforts of the Gateway Group ZigBee networks.
GREENoperator
An enterprise class application capable of managing thousands of ZigBee networks.
- Defining the architecture of the application.
My goals were to reuse as much components as possible from GREENtool. As an example of that, the second release was written in C++ and ran on Linux box, so in order to reuse GREENmesh access modules I decided to use the open source Mono Project (http://www.mono-project.com). That allowed us to run the .NET modules in Linux.
Additionally we needed to communicate GREENoperator's core with the .NET access libraries. The decision I took was to wrap the .NET modules with a web services facade and use the open source gSOAP (http://www.cs.fsu.edu/~engelen/soap.html) development toolkit. By doing so we had interoperable off-the-shelve communication between heterogeneous systems.
- Designing the dimensional database schema and implementing it in both PostgreSQL
and SQL Server 2005.
The goal was to be able to cope with the vast amount of data that GREENoperator must handle. To do so I identified the dimensional model as the only viable alternative for handling and storing such a huge amount of information.
- Programming the GUI in Adobe's Flex.
- Designing and developing the API with WebORB and ASP.NET Web Services.
In order to provide a rich user experience we needed to push information from our server to the web clients. For that purpose I integrated the free WebORB platform (http://www.themidnightcoders.com/weborb/) with our business logic. In fact our business logic was accessible by many facades. I defined a contract that had to be implemented by every facade and coded both the WebORB facade for human clients and a Web Services (adhering to the WS-I Basic Profile) for machine to machine communication.
- Designing and developing the Business and Data Access Layers en .NET.
The goal was to provide a scalable solution so I took great care in designing a stateless solution so we could easily scale by web-farming.
On the other hand it was quite important to maximize each server's throughput so I designed the business Logic and Data Access Layers for asynchronous operations thus becoming quite thread efficient.
When facing competition, an appalling GUI can give you a competitive edge. I took the responsibility of creating a desktop-like experience for our online users and produced a sleek interface including the ability to drag devices around a map.
GREENtool
A Windows application for commissioning and maintaining ZigBee networks.
- Vision
I had the vision of a creating a portable tool that would help installers to commission ZigBee networks and devices.
- Architecture
An important decision I took while designing GREENtool's architecture was to support many platforms, from development boards to full-blown IP Gateways, with the same piece of software. That decision prove very helpful down the road: not only we were able to support many platforms in the first release, but also we used the same pieces of software for our server product GREENoperator. Should a new platform be supported, we only had to write the specific code and deploy it to the application just by adding a couple of XML lines.
- Development of about 25% of the application's components. Including:
- An extensible framework for platform detection and configuration based on XML configuration files.
- An extensible framework for application communications based in the ZigBee Cluster Library
- Provided guidance to our software engineers on effective techniques for displaying signal-strength in our tools
GREENmesh
Atalum's implementation of a ZigBee stack based on the ZigBee 2004 specification.
Back in 2003 I identified the emerging ZigBee standard as the most feasible alternative for short range radio networks. That supposed a departure from the proprietary solutions developed in the university hence avoiding the effort to move from proprietary to standard
Being early adopters of the ZigBee standard provided us with in depth knowledge that was key to our software products.
- Designing the development board Bobcat, based on Atmel's Atmega128 and
Texas Instruments' CC2420 chips.
At that time, any company in the ZigBee space had to offer a development kit. I was responsible for almost all the development cycle, including
- Schematics and PCB design.
- Managing Bill Of Materials.
- Supervising the manufacturing process and quality assurance of the pre-series made by Sanmina SCI.
- Developing the GREENmesh stack on the Bobcat platform.
- Porting of the Ember's EmberZNet and Texas Instruments' ZStack stacks to the
Bobcat platform.
Given that our Bobcat platform used the same radio and controller chips I guided our firmware engineers to port Ember's and TI's ZigBee stacks to our hardware. Doing so we were able to create dense networks with our development boards that would be otherwise budgetary prohibitive. Keep in mind that each development kit from those vendor costs about $5.000 and only includes 5 boards.
- Porting of the GREENmesh stack to Freescale's platform.
I was responsible for the strategy of code reduction which finally allowed us to fit our stack in a platform with half the memory resources than our Bobcat.
I designed the architecture of the stack, based on a custom scheduler and state machines for the layers that comprised the stack. It was also my idea to provide a command line interface for automated testing of each layer. Eventually it became our interface to many platforms such as Ember, Jennic, TI and Freescale's. It's worth noting that in the public interoperability tests we attended, many big companies had to recompile and reflash their stacks in order to change runtime parameters whereas we were able to do that with a single command in a terminal prompt.
Events
- ZigBee Members Meeting, San Jose, June 2006.
- ZigBee Developers Conference, Chicago, June 2006. Presenting: ZigBee is in the building
- ZigBee Members Meeting, Milan, March 2006.
- ZigBee Members Meeting, Chicago, September 2005.
- ZigBee Members Meeting, San Francisco, March 2005
Integrated Systems Laboratory (www.lsi.die.upm.es)
The ISL is a research lab of the Technical University of Madrid, specialized in embedded systems. I spent a few years at the lab, first as a student then as an engineer.2000-2003. Hardware and Firmware Engineer.
Main Duties
- Designed the hardware and software of the Mercurio platform for embedded radio communications using free spectrum.
- Mercurio was used in Homeland Security applications and Smart Energy projects in hotels, as well as being portrayed in two published research papers.
Pet Projects
Designed and implemented the website for the events management firm Dosan Audiovisuales (www.dosanaudiovisuales.com).
Customizing, deploying and managing Zen-Cart, an open-source commerce solution, for Viajes Dosan (www.viajesdosan.com). I customized the templates and modified the checkout process for including dates in travel tickets.
Customizing, deploying and managing DotNetNuke, an open-source CMS for Paumontecarmelo.com (www.paumontecarmelo.com) I simplified the login process and customized the templates. Note that the site is currently parked.
References
References are available upon request.