Loading

Software Analyst at Tecnoteca

When taking the first steps into the world of professional software engineering, there is a stark difference between theory and the management of complex enterprise systems. My first real work experience at Tecnoteca was an intensive journey through the entire software life cycle: from data modeling and database management to integrating ETL streams in Java, up to frontend development and project management for major public administration entities. In this article, I recount the key milestones of this experience, sharing the technical challenges faced and the skills acquired.

Diagram of CMDBuild architecture with user interface, application core, business logic, databases, servers, and external systems
Overview of the CMDBuild architecture showing main components and data flow

1. Inside the Heart of Data: PostgreSQL, CMDBuild, and GDPR Regulations

My journey began with the foundations of any enterprise system: data. The company introduced me right away to the analysis and understanding of complex data models, placing a strong emphasis on data modeling best practices (normalization, efficient management of relationships, and integrity constraints). The reference ecosystem was based on CMDBuild, the open-source environment for managing structured data (asset management, CMDB). Here, I worked closely with PostgreSQL, delving into the use of triggers and stored procedures both to ensure data consistency and to extend the native behavior of the platform.

The GDPR challenge in PSQL

One of the most significant outcomes of this first phase was the design and implementation of a comprehensive PSQL solution for data anonymization in accordance with GDPR. The objective was to ensure the protection of personal and sensitive information within staging and development databases while maintaining the necessary referential integrity for testing phases.

2. Data Engineering: ETL Flows and Integration Management in Java

Considering the static structure of the data, the next step was to manage its movement and transformation. My role then focused on ETL (Extract, Transform, Load) flows and integration connectors.

By using Java, I handled:

  • Development of custom connectors for interfacing with heterogeneous data sources.
  • Data processing and aggregation in streaming/batch, optimizing ingestion performance.
  • Management of fault tolerance and logging within integration pipelines.
ETL pipeline showing extraction from external data sources, transformation with Java data processing and validation, and loading into CMDBuild database
Diagram illustrating the ETL process integrating external data sources into CMDBuild.

3. Enterprise Management Systems: The Project for the Emilia-Romagna Region

Joined the team dedicated to management software for the Emilia-Romagna region, I worked on a critical infrastructure supporting the mobile network and system provisioning.

In this context the main activities involved:

  • Integration with Hubble: Management of provisioning flows and automated data capture from the mobile infrastructure.
  • Comunicazione via JSON-RPC: Utilizzo del protocollo JSON-RPC per la comunicazione leggera e performante tra i servizi e gli agenti di rilevamento.

4. Wide view: Mentorship Frontend and Refactoring React/Plone

The company’s goal was to train me with a 360° view of the project ecosystem, laying the foundation for a future role as Project Manager. To fully understand the software delivery chain, I was paired with the company’s Front End Development Manager.

​During this collaboration I focused on:

  • Refactoring the React library for Plone: ​​Review and modernization of the React layer integrated into the Plone CMS to ensure compatibility with new releases of the CMS.
  • First contact with Python, even if only marginally with the aim of understanding the data flowing from the Backend
  • UI Component Standardization: Improving code maintainability and reusability of web components.
Diagram illustrating Volto React frontend, integration layer with Plone REST API, and Plone CMS backend server with database and services.
Diagram showing the integration schema between Volto React frontend and Plone CMS backend via REST API.

5. The Pinnacle of Experience: CSI Piemonte and Delivery in Production

The moment of maximum professional maturation came with the assignment to a strategic project working closely with CSI Piemonte, the consortium for the Piedmont Region’s information system.

In this final phase I was able to put into practice all the skills I had acquired:

  • Agile methodologies: Adoption of sprints, stand-ups, and continuous reviews with the contractor’s stakeholders.
  • Advanced Customization with Sencha ExtJS: Advanced development and customization of the management system frontend, based on the MVVM architecture of the Sencha ExtJS enterprise framework.
  • Production Release: I followed the entire lifecycle of the solution up to the final deployment in the Region’s production environments.

The project was completed on schedule and without a hitch, leaving a legacy of clean, documented, and maintainable code, allowing me to close my time at Tecnoteca with great satisfaction and without any unresolved issues.