|About the Job|
|Role||Software Development Engineer|
|Duration||1 year 2 months
April 2015 – August 2015
July 2016 – March 2017
Developed 4 enterprise Software for this consulting company’s clients.
LatinaUC: Weather Sensors Network management software
This is a System that periodically receives data from a series of Weather Sensors that are distributed all over the world, through networks of sensors. The System included pieces of Software to receive the data transmitted by the sensors, processing that information, and a User Interface for System Administrators and Clients to visualize and maintain the recorded data. I worked on this project full-time in late 2015 at BlueprintsIT.
The organization for the Sensors Network consists of a main sensor that is in charge of transmitting data to the System when possible and through whatever means of access to internet they can get, sometimes it would be connecting to a Cellular Network and sometimes transmitting to satellite. The data transmitted by this sensor would contain the data measured by its own node and the nodes close to it that this node are connected to by wireless signals.
Some of the bigger challenges through the development of this project were:
- Processing the data received: The Sensors would transmit data in their most raw form possible, usually as bit packages, it was entirely up to the Software and its configuration to translate this into understandable and usable data for people. It quickly became a bottleneck to deal with this data processing; the modules were built so that no amount of transmitted data would ever be lost, so whenever receiving data it would get immediately stored in a database with no delay and an OK message would be returned to the transmitting sensor, however the amount of data stored at that database started growing faster than the processing power to pop it out and interpret it.
- Access to data: One requirement crucial for the business was that the clients of this System had to acquire contracts with LatinaUC to access the data transmitted by the Sensors, LatinaUC would provide and install the Sensors, however the access to the data had to be paid for by their clients. It quickly became a challenge to have to filter the queried data by clients contract to be shown in the visualizations and queries, as JPA doesn’t provide very good performance when querying and filtering such a large amount of data.
- Data querying: After the System had been online for a while (about 2 years or so) the increasing amount of data stored and queried had became massive, and querying for even the simplest of visualizations started to become slower and slower.
Overcoming these difficulties was a very fun challenge and the resulting product is a very profitable system. Through my development of this project I touched almost every layer of the System, from servers and databases all the way to Front-end and Web Services. Definitely one of the most fun projects to have worked on and one of the most complex.
At BlueprintsIT I was given free range to explore my skills, this was a company that cared about seeing their people grow in their own interests. Here is where I first discovered my passion for UX and Front-end development, and therefore the tasks that were assigned to me where usually about those areas. I also got the chance to make many good friends while working here and to build relationships I value deeply.
- Development under compliance with international security and programming standards.
- Met requirements and deadlines under high pressure.
- Use of UX principles in Front-End development.
- Successful team coordination during development of highly complex Business Software.
- Gained experience developing Back-End and Front-End of complex Business Applications.
Frameworks, Software and Technologies used
- Java EE
- EJB, JPA, JSF
- Web Services
- IntelliJ Idea
- Oracle VM VirtualBox
- Ubuntu & Linux