SIDERA: My Growth and Evolution at SICE
SIDERA is one of the largest SCADA systems I have been part of, and my journey within SICE is a story of growth, commitment, and the pursuit of excellence.
State of the Art: The SIDERA Ecosystem
SIDERA is a complex and vast ecosystem that integrates software and hardware infrastructure, spanning everything from client applications to field devices deployed in tunnels, roads, and railways. At its core, SIDERA is a supervisory control and data acquisition (SCADA) system that plays a critical role in managing and monitoring these systems.
What makes SIDERA particularly challenging is its size and complexity. It’s not just about design, development, testing, and deployment — the entire product is supported by processes such as QA, CI, and regular cybersecurity audits. Moreover, SIDERA serves a wide array of projects, each with its own unique requirements, from tunnels to highways, making the work both challenging and rewarding.
My First Steps in SIDERA
When I joined SICE and began working on SIDERA, it was a daunting task. The system was vast, and I had to quickly get up to speed with its components and how they interacted. Initially, my work was focused on simple tasks like bug fixes, feature enhancements, and integrating new modules.
However, after about three months of familiarizing myself with the system, I gained confidence in my ability to contribute to the overall project. I realized that simply writing code was not enough. I wanted to improve the quality and maintainability of the system.
I adopted clean code practices and made a conscious effort to improve every module I worked on. For instance:
- Renaming variables to be more meaningful
- Refactoring methods to ensure they were easily maintainable and testable (unit testing)
- Removing redundant code and ensuring that the system followed best practices for scalability and performance
Notable Tasks and Use Cases
Over the course of my journey, I participated in various tasks and use cases that helped me expand my skillset. Some of these tasks involved:
- Designing and integrating new modules
- Debugging and fixing issues in existing code
- Optimizing system performance
- Ensuring interoperability with external systems
If you’d like to explore some of the use cases I worked on, you can check out those posts.
Promoted to Tech Lead
After a year of contributing to several international projects, I was promoted to Tech Lead, a role I have now held for almost three years. This promotion was not only a recognition of my technical abilities but also a testament to my commitment to the company and the project.
As Tech Lead, my responsibilities expanded significantly, covering both technical and leadership areas:
Technical Operations
Ensuring the smooth functioning of technical operations, from planning and writing code to reviewing, deploying, and being on call for troubleshooting.
Team Management
Leading and supervising technical teams, tracking staff progress, assisting with training and recruitment, setting clear goals, and ensuring overall client satisfaction.
Technical Guidance
Providing guidance to team members on architecture and design decisions, and helping them improve their technical skills.
Collaboration and Communication
Fostering collaboration among team members and building strong communication channels, both within the team and across other departments.
Troubleshooting
Troubleshooting complex technical issues that involved software development, engineering tasks, and product releases.
Leadership
Leading software development teams, demonstrating leadership skills, and ensuring the team was motivated and focused on achieving its objectives.
Architecture and Design
Taking charge of technical architecture and design decisions, ensuring that these decisions aligned with both business goals and technical requirements.
The Journey Continues
My journey at SICE has been an incredible learning experience, one that has allowed me to grow not just as a developer but as a leader. I take great pride in my ability to balance technical expertise with effective team management, always striving to promote innovation, best practices, and collaboration.
In my current role, I continue to be involved in the architecture and design of the SIDERA platform, ensuring it evolves to meet the challenges of the future. With a strong foundation built on dedication, hard work, and a commitment to quality, I look forward to continuing my growth and contributing to the success of SICE and SIDERA.