SQL Developer in New York, NY, United States
Software Engineer2015 - 2016Spatially
Technologies: Scala, Java, Golang, Apache Spark, MongoDB, PostgreSQL, Python, Flask, Apache Cassandra, Accumulo, SBT, Maven, JTS Topology Suite, GeoTools, Geowave
- Designed and implemented scalable/distributed spatial computation engines. As a member of the Core Engineering team, contributed to the development of the spatial-aware infrastructure.
- Spearheaded the migration from a conventional spatial back-end infrastructure (PostgreSQL, PostGIS) to a NoSQL architecture sitting on top of technologies such as GeoWave, Cassandra, Spark, and others.
- Developed micro-services for querying data sets counting millions of records.
- Responsible for scaling and productizing the company's spatial research prototypes developed by our team of data scientists.
Software Engineer2014 - 2015ATOS Inc.
Technologies: Java EE, Maven, Hibernate, Oracle DB, Tapestry Web Framework, HTML, CSS
- Worked within ATOS e-payment services, specifically in a back-end project for financial entities and banks.
- Assisted the team leader with project time management. Prepared and delivered technical demos to distributed teams in India.
- Developed a web application for the monitoring of interbank movements of compensation and fraud.
- 2D Bin Packing Library for Irregular Pieces (Development)https://github.com/mses-bly/2D-Bin-Packing
This project aims to provide basic functionality for solving 2D bin packing problems of irregular (and regular) sets of pieces.
The 2D bin-packing problem consists of a given a set of 2D pieces with unknown form or shape; we have to place them in a series of rectangular bins minimizing the material used. In other words, place all the pieces in as few bins as possible.
The problem is NP-hard, thus there is no guarantee that an algorithm will provide an optimal solution, although we can compare different solutions in terms of how many bins an algorithm has used for a particular set of pieces. This project tries a few heuristics and approximations in order to solve the problem with a reasonable amount of computational effort; given that a brute-force approach to the problem would take virtually an infinite amount of time.
- Android with Geolocation API Integration | Sample code (Development)https://github.com/mses-bly/AndroPlaces
Sample Android code that integrates the Google Maps API for Android with an API. Just a sample code, the API is no longer available.
- Weka on Spark | Proof of Concept (Development)https://github.com/mses-bly/WekaOnSpark
Code that integrates the Weka ML project with Spark. Written in Java, this is a proof-of-concept code project that seeks to integrate Weka's Machine Learning capabilities with a distributed framework such as Spark.
LanguagesScala, Python, Java, SQL
FrameworksAWS EMR, Apache Spark, Play, Flask, JUnit, Django REST Framework
Libraries/APIsPandas, NumPy, Scikit-learn, Spark ML, JTS Topology Suite
ToolsGit, GeoTools, Maven, SBT, ScalaTest, IPython Notebook, PyCharm, IntelliJ IDEA, Spark SQL, Eclipse IDE
ParadigmsFunctional Programming, Spatial Databases, Object-relational Mapping (ORM), Scrum, Object-oriented Programming (OOP), Kanban
PlatformsLinux, Android, Apache Kafka
StorageJSON, Oracle 11g, Cassandra, PostgreSQL, MongoDB
OtherMachine Learning, Data Structures, GeoJSON, Computational Geometry, Spatial Statistics, Apache Accumulo
- Master's Degree in Computer Science2016 - 2017Cornell University - Ithaca, New York (USA)
- European Engineering Degree in Computer Science2008 - 2014Polytechnic University of Valencia - Valencia, Spain