During the exhilarating tech gathering on May 22 and 23, our Development team at LuceIT participated in Codemotion Madrid 2024. This event not only offered an opportunity to establish connections with other industry professionals but also provided an enriching space that transcends the scope of development. Here are some insights from our team:
Have a strong Front-end:
The strength of a project relies on the implementation of automated tests. It is crucial to decouple the component logic and use custom hooks, such as useComponentViewModel, for each of them. To maintain the decoupling principle, it is recommended:
- Avoid direct integration of external libraries inside hooks, opting instead for the creation of services to manage connections.
- In specific cases and significant changes, modularize through separate modules, such as [case].usecase.ts, to maintain functional cohesion.
- Libraries such as Axios should be integrated through interfaces within the domain, such as IRandomService, to facilitate testing with mocks and dependency substitution.
- Emit events from the domain using tools such as CodeScouts/events, rather than from components.
- Perform unit tests on the business logic hosted in the domain and reserve integration tests for the different use cases.
- For large and complex applications, end-to-end (e2e) testing is essential, using tools such as Playwright to evaluate aspects of CSS and appearance.
JavaScript Load Optimization:
The control of script loading can be addressed by two main approaches: adaptive loading and priority setting.
Adaptive loading, similar to CSS media queries, allows scripts to be loaded according to the characteristics of the user’s device. The browser’s Web API provides useful methods such as:
- Navigator.deviceMemory (device memory).
- Navigator.hardwareConcurrency (hardware concurrency)
- NetworkInformation.effectiveType (connection type)
- NetworkInformation.saveData (data saving preference)
By implementing these strategies, we can significantly improve website performance, ensuring efficient loading of scripts without blocking critical processes.
Hexagonal Architecture in Large Scale Microservices Projects:
Adopting the hexagonal architecture offers significant advantages in large projects and microservices, although it may add unnecessary complexity in smaller projects. This architecture:
- Isolates business logic from the rest of the application, facilitating testing and technology independence.
- Promotes best practices such as clean code and Domain Driven Design (DDD).
- Allows faster unit testing and greater control over dependencies.
- Facilitates the implementation of interfaces and abstractions with TypeScript, something that would require additional effort with pure JavaScript.
AI in Talent Management: Revealing New Perspectives:
The use of artificial intelligence (AI) in talent management, both internal and external, has become an invaluable resource for our company. For the selection of external talent, we implement techniques such as: Scrapping on platforms such as LinkedIn and GitHub, along with online interviews, optimizing the review of candidates and improving the fit with our company.
For internal talent, we analyze data from tools such as Jira, retros and PR, using AI to:
Transform daily meetings into text and analyze emotions, gaining deeper insight into the status and progress of our employees.
Implement a chatbot to evaluate the mood and visualize the evolution of employees through graphs, allowing us to proactively offer improvements.
Monitor offers from other companies to adjust our benefits and thus prevent talent drain.
The participation in Codemotion turned out to be an extremely enriching experience for the entire LuceIT team and we wanted to share with you some of the conclusions that our team drew. We deeply value the knowledge gained and look forward to participating again next year to continue learning and sharing experiences with other professionals in the sector.
Luce IT, tu empresa de innovación tecnológica de confianza
La historia de Luce es una historia de retos e inconformismo, siempre resolviendo retos de valor utilizando la tecnología y el dato para acelerar la transformación digital en la sociedad a través de nuestros clientes.
Tenemos una única forma de hacer consultoría y proyectos dentro de un ambiente de compañerismo creando “Flow” entre el aprendizaje, la innovación y una ejecución de proyectos proactiva.
En Luce vamos a ser los mejores ofreciendo conocimiento tecnológico multidisciplinar, a través de nuestros chapters, generando valor en cada iteración con nuestros clientes, entregando calidad y ofreciendo capacidad y escalabilidad para que puedan crecer con nosotros.