<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Adevinta Eng.</title>
    <description>The latest articles on DEV Community by Adevinta Eng. (@adevintaeng).</description>
    <link>https://dev.to/adevintaeng</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397020%2F2bcc4ba2-9fcc-43ae-92ec-d9b3a8967346.png</url>
      <title>DEV Community: Adevinta Eng.</title>
      <link>https://dev.to/adevintaeng</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adevintaeng"/>
    <language>en</language>
    <item>
      <title>How InfoJobs (Adevinta) improves NLP model prediction performance with AWS Inferentia and Amazon SageMaker</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Thu, 09 Jun 2022 08:44:05 +0000</pubDate>
      <link>https://dev.to/adevintaeng/how-infojobs-adevinta-improves-nlp-model-prediction-performance-with-aws-inferentia-and-amazon-sagemaker-10bi</link>
      <guid>https://dev.to/adevintaeng/how-infojobs-adevinta-improves-nlp-model-prediction-performance-with-aws-inferentia-and-amazon-sagemaker-10bi</guid>
      <description>&lt;p&gt;&lt;strong&gt;This is a guest post co-written by &lt;a href="https://es.linkedin.com/in/juanfra-fernandez"&gt;Juan Francisco Fernandez&lt;/a&gt;, ML Engineer in Adevinta Spain, and AWS AI/ML Specialist Solutions Architects &lt;a href="https://es.linkedin.com/in/antrodriguez?original_referer=https%3A%2F%2Fwww.google.com%2F"&gt;Antonio Rodriguez&lt;/a&gt; and &lt;a href="https://wave.adevinta.com/wave/se-acercan-technica-stars-acciones-valen-doble"&gt;João Moura&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.infojobs.net/"&gt;InfoJobs&lt;/a&gt;, a subsidiary company of the &lt;a href="https://www.adevinta.com/"&gt;Adevinta&lt;/a&gt; group, provides the perfect match between candidates looking for their next job position and employers looking for the best hire for the openings they need to fill. For this goal, we use natural language processing (NLP) models such as &lt;a href="https://huggingface.co/docs/transformers/model_doc/bert"&gt;BERT&lt;/a&gt; through PyTorch to automatically extract relevant information from users’ CVs at the moment they upload these to our portal.&lt;/p&gt;

&lt;p&gt;Performing inference with NLP models can take several seconds when hosted on typical CPU-based instances given the complexity and variety of the fields. This affects the user experience in the job listing web portal. Alternatively, hosting these models on GPU-based instances can prove costly, which makes the solution not feasible for our business. For this solution, we were looking for a way to optimize the latency of predictions, while keeping the costs at a minimum.&lt;/p&gt;

&lt;p&gt;To solve this challenge, we initially considered some possible solutions along two axes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. Vertical scaling by using bigger general-purpose instances as well as GPU-powered instances.&lt;/li&gt;
&lt;li&gt;2. Optimizing our models using openly available techniques such as quantization or open tools such as &lt;a href="https://onnx.ai/"&gt;ONNX&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Neither option, whether individually or combined, was able to provide the needed performance at an affordable cost. After benchmarking our full range of options with the help of AWS AI/ML Specialists, we found that compiling our PyTorch models with &lt;a href="https://aws.amazon.com/es/machine-learning/neuron/"&gt;AWS Neuron&lt;/a&gt; and using &lt;a href="https://aws.amazon.com/es/machine-learning/inferentia/"&gt;AWS Inferentia&lt;/a&gt; to host them on &lt;a href="https://aws.amazon.com/es/sagemaker/"&gt;Amazon SageMaker&lt;/a&gt; endpoints offered a reduction of up to 92% in prediction latency, at 75% lower cost when compared to our best initial alternatives. It was, in other words, like having the best of GPU power at CPU cost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/es/comprehend/"&gt;Amazon Comprehend&lt;/a&gt; is a plug-and-play managed NLP service that uses machine learning to automatically uncover valuable insights and connections in text. However, in this particular case we wanted to use fine-tuned models for the task.&lt;/p&gt;

&lt;p&gt;In this post, we share a summary of the benchmarks performed and an example of how to use AWS Inferentia with SageMaker to compile and host NLP models. We also describe how InfoJobs is using this solution to optimize the inference performance of NLP models, extracting key information from users’ CVs in a cost-efficient way.&lt;/p&gt;

&lt;p&gt;Overview of solution&lt;br&gt;
First, we had to evaluate the different options available on AWS to find the best balance between performance and cost to host our NLP models. The following diagram summarizes the most common alternatives for real-time inference, most of which were explored during our collaboration with AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cKNC8fi---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6fcnyw7d4p5e9uepyej.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cKNC8fi---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6fcnyw7d4p5e9uepyej.jpeg" alt="Image description" width="880" height="474"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosting options benchmark on SageMaker&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We started our tests with a publicly available pre-trained model from the &lt;a href="https://huggingface.co/models"&gt;Hugging Face model hub&lt;/a&gt; bert-base-multilingual-uncased. This is the same base model used by InfoJobs’s CV key value extraction model. For this purpose, we deployed this model to a SageMaker endpoint using different combinations of instance types: CPU-based, GPU-based, or AWS Inferentia-based. We also explored optimization with &lt;a href="https://aws.amazon.com/es/sagemaker/neo/"&gt;Amazon SageMaker Neo&lt;/a&gt; and compilation with AWS Neuron where appropriate.&lt;/p&gt;

&lt;p&gt;In this scenario, deploying our model to a SageMaker endpoint with an AWS Inferentia instance yielded 96% faster inference times compared to CPU instances and 44% faster inference times compared to GPU instances in the same range of cost and specs. This allows us to respond to 15 times more inferences than using CPU instances, or 4 times more inferences than using GPU instances at the same cost.&lt;/p&gt;

&lt;p&gt;Based on the encouraging first results, our next step was to validate our tests on the actual model used by InfoJobs. This is a more complex model that requires PyTorch quantization for performance improvement, so we expected worse results compared to the previous standard case with bert-base-multilingual-uncased. The results of our tests for this model are summarized in the following table (based on public pricing in Region us-east-1 as of February 20, 2022).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---cAFgGnK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9syx5i3kaaetcnxnnvyz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---cAFgGnK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9syx5i3kaaetcnxnnvyz.png" alt="Image description" width="880" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The following graph shows real-time inference response times for the InfoJobs model (less is better). In this case, inference latency is 75-92% faster when compared to both CPU or GPU options.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Dp-7q8-o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w6llw0yr8dip5zx0d9ow.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Dp-7q8-o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w6llw0yr8dip5zx0d9ow.jpeg" alt="Image description" width="880" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This also means between 4-13 times less cost for running inferences compared to both CPU or GPU options, as shown in the following graph of cost per million inferences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RFXI2nN7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsszjhbyy2e5tz9y0aq7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RFXI2nN7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsszjhbyy2e5tz9y0aq7.jpeg" alt="Image description" width="880" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We must highlight that no further optimizations were made to the inference code during these non-extensive tests. However, the performance and cost benefits we saw from using AWS Inferentia exceeded our initial expectations, and enabled us to proceed to production. In the future, we will continue to optimize with other features of Neuron, such as NeuronCore Pipeline or the PyTorch-specific DataParallel API. We encourage you to explore and compare the results for your specific use case and model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compiling for AWS Inferentia with SageMaker Neo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You don’t need to use the Neuron SDK directly to compile your model and be able to host it on AWS Inferentia instances.&lt;/p&gt;

&lt;p&gt;SageMaker Neo automatically optimizes machine learning (ML) models for inference on cloud instances and edge devices to run faster with no loss in accuracy. In particular, Neo is capable of compiling a wide variety of transformer-based models, making use of the Neuron SDK in the background. This allows you to get the benefit of AWS Inferentia by using APIs that are integrated with the familiar SageMaker SDK, with no required context switch.&lt;/p&gt;

&lt;p&gt;In this section, we go through an example in which we show you how to compile a BERT model with Neo for AWS Inferentia. We then deploy that model to a SageMaker endpoint. You can find a sample notebook describing the whole process in detail on &lt;a href="https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_neo_compilation_jobs/deploy_huggingface_model_on_Inf1_instance/inf1_bert_compile_and_deploy.ipynb"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;First, we need to create a sample input to trace our model with PyTorch and create a tar.gz file, with the model being its only content. This is a required step to have Neo compile our model artifact (for more information, see &lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/neo-compilation-preparing-model.html"&gt;Prepare Model for Compilation&lt;/a&gt;). For demonstration purposes, the model is initialized as a mock model for sequence classification that hasn’t been fine-tuned on the task at all. In reality, you would replace the model identifier with your selected model from the Hugging Face model hub or a locally saved model artifact. See the following code:&lt;/p&gt;

&lt;p&gt;import transformers&lt;br&gt;
import torch&lt;br&gt;
import tarfile&lt;/p&gt;

&lt;p&gt;tokenizer = transformers.AutoTokenizer.from_pretrained("distilbert-base-multilingual-uncased")&lt;br&gt;
model = transformers.AutoModelForSequenceClassification.from_pretrained(&lt;br&gt;
"distilbert-base- multilingual-uncased", return_dict=False&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;seq_0 = "This is just sample text for model tracing, the length of the sequence does not matter because we will pad to the max length that Bert accepts."&lt;br&gt;
seq_1 = seq_0&lt;br&gt;
max_length = 512&lt;/p&gt;

&lt;p&gt;tokenized_sequence_pair = tokenizer.encode_plus(&lt;br&gt;
    seq_0, seq_1, max_length=max_length, padding="max_length", truncation=True, return_tensors="pt"&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;example = tokenized_sequence_pair["input_ids"], tokenized_sequence_pair["attention_mask"]&lt;/p&gt;

&lt;p&gt;traced_model = torch.jit.trace(model.eval(), example)&lt;br&gt;
traced_model.save("model.pth")&lt;/p&gt;

&lt;p&gt;with tarfile.open('model.tar.gz', 'w:gz') as f:&lt;br&gt;
    f.add('model.pth')&lt;br&gt;
f.close()&lt;/p&gt;

&lt;p&gt;It’s important to set the return_dict parameter to False when loading a pre-trained model, because Neuron compilation &lt;a href="https://awsdocs-neuron.readthedocs-hosted.com/en/latest/neuron-guide/neuron-frameworks/pytorch-neuron/troubleshooting-guide.html#compiling-models-with-outputs-that-are-not-torch-jit-traceable"&gt;does not support&lt;/a&gt; dictionary-based model outputs. We upload our model.tar.gz file to &lt;a href="https://aws.amazon.com/es/s3/"&gt;Amazon Simple Storage Service (Amazon S3)&lt;/a&gt;, saving its location in a variable named traced_model_url.&lt;/p&gt;

&lt;p&gt;We then use the PyTorchModel SageMaker API to instantiate and compile our model:&lt;/p&gt;

&lt;p&gt;from sagemaker.pytorch.model import PyTorchModel&lt;br&gt;
from sagemaker.predictor import Predictor&lt;br&gt;
import json&lt;/p&gt;

&lt;p&gt;traced_sm_model = PyTorchModel(&lt;br&gt;
    model_data=traced_model_url,&lt;br&gt;
    predictor_cls=Predictor,&lt;br&gt;
    framework_version="1.5.1",&lt;br&gt;
    role=role,&lt;br&gt;
    sagemaker_session=sagemaker_session,&lt;br&gt;
    entry_point="inference_inf1.py",&lt;br&gt;
    source_dir="code",&lt;br&gt;
    py_version="py3",&lt;br&gt;
    name="inf1-bert-base-multilingual-uncased ",&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;compiled_inf1_model = traced_sm_model.compile(&lt;br&gt;
    target_instance_family="ml_inf1",&lt;br&gt;
    input_shape={"input_ids": [1, 512], "attention_mask": [1, 512]},&lt;br&gt;
    job_name=’testing_inf1_neo,&lt;br&gt;
    role=role,&lt;br&gt;
    framework="pytorch",&lt;br&gt;
    framework_version="1.5.1",&lt;br&gt;
    output_path=f"s3://{sm_bucket}/{your_model_destination}”&lt;br&gt;
    compiler_options=json.dumps("--dtype int64")&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;Compilation may take a few minutes. As you can see, our entry_point to model inference is our inference_inf1.py script. It determines how our model is loaded, how input and output are preprocessed, and how the model is used for prediction. Check out the full script on &lt;a href="https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_neo_compilation_jobs/deploy_huggingface_model_on_Inf1_instance/code/inference_inf1.py"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Finally, we can deploy our model to a SageMaker endpoint on an AWS Inferentia instance, and get predictions from it in real time:&lt;/p&gt;

&lt;p&gt;from sagemaker.serializers import JSONSerializer&lt;br&gt;
from sagemaker.deserializers import JSONDeserializer&lt;/p&gt;

&lt;p&gt;compiled_inf1_predictor = compiled_inf1_model.deploy(&lt;br&gt;
    instance_type="ml.inf1.xlarge",&lt;br&gt;
    initial_instance_count=1,&lt;br&gt;
    endpoint_name=f"test-neo-inf1-bert",&lt;br&gt;
    serializer=JSONSerializer(),&lt;br&gt;
    deserializer=JSONDeserializer(),&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;payload = seq_0, seq_1&lt;br&gt;
print(compiled_inf1_predictor.predict(payload))&lt;br&gt;
As you can see, we were able to get all the benefits of using AWS Inferentia instances on SageMaker by using simple APIs that complement the standard flow of the SageMaker SDK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The following architecture illustrates the solution deployed in AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--23TlTmOR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1515qzkl1k5nzbz5s0o5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--23TlTmOR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1515qzkl1k5nzbz5s0o5.png" alt="Image description" width="880" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All the testing and evaluation analysis described in this post were done with the help of AWS AI/ML Specialist Solutions Architects in under 3 weeks, thanks for the ease of use of SageMaker and AWS Inferentia.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this post, we shared how InfoJobs (Adevinta) uses AWS Inferentia with SageMaker endpoints to optimize the performance of NLP model inference in a cost-effective way, reducing inference times up to 92% with a 75% lower cost than the initial best alternative. You can follow the process and code shared for compiling and deploying your own models easily using SageMaker, the Neuron SDK for PyTorch, and AWS Inferentia.&lt;/p&gt;

&lt;p&gt;The results of the benchmarking tests performed between AWS AI/ML Specialist Solutions Architects and InfoJobs engineers were also validated in InfoJobs’s environment. This solution is now being deployed in production, handling the processing of all the CVs uploaded by users to the InfoJobs portal in real time.&lt;/p&gt;

&lt;p&gt;As a next step, we will be exploring ways to optimize model training and our ML pipeline with SageMaker by relying on the &lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/hugging-face.html"&gt;Hugging Face integration with SageMaker&lt;/a&gt; and &lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/training-compiler.html"&gt;SageMaker Training Compiler&lt;/a&gt;, among other features.&lt;/p&gt;

&lt;p&gt;We encourage you to try out AWS Inferentia with SageMaker, and connect with AWS to discuss your specific ML needs. For more examples on SageMaker and AWS Inferentia, you can also check out &lt;a href="https://github.com/aws/amazon-sagemaker-examples"&gt;SageMaker examples on GitHub&lt;/a&gt; and &lt;a href="https://awsdocs-neuron.readthedocs-hosted.com/en/latest/neuron-intro/tutorials.html"&gt;AWS Neuron tutorials&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nlp</category>
      <category>aws</category>
    </item>
    <item>
      <title>Data Platform: Qué es y cuáles son sus retos
</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Fri, 28 Jan 2022 12:43:26 +0000</pubDate>
      <link>https://dev.to/adevintaspain/data-platform-que-es-y-cuales-son-sus-retos-5228</link>
      <guid>https://dev.to/adevintaspain/data-platform-que-es-y-cuales-son-sus-retos-5228</guid>
      <description>&lt;p&gt;&lt;strong&gt;¿Qué es un data Platform?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data Platform es un producto clave en nuestra cultura data driven, como acelerador tecnológico para poder gestionar el dato como activo, y yendo más allá incluso como producto. Una Cloud Big Data Platform que debe dotar a nuestros usuarios de una infraestructura como servicio y herramientas de autoconsumo de la información en todo su pipeline de datos. Y todo ello acompañado de una cultura del dato como producto y una gobernanza computacional federada. Sí, hablamos de Data Mesh, y ahí tenéis bastante literatura de la mano de su creadora, Zhamak Dehghani.&lt;/p&gt;

&lt;p&gt;Liderando un equipo Data Platform en Adevinta Spain&lt;br&gt;
Adevinta Spain es un grupo de marketplaces líder en España formado por &lt;a href="https://www.adevinta.es/marcas"&gt;6 marketplaces&lt;/a&gt;, que reciben a 1 de cada 2 internautas españoles cada día.&lt;/p&gt;

&lt;p&gt;Como PO del equipo producto Data Platform en Adevinta Spain, mi misión es liderar la visión y estrategia del producto, con un equipo de desarrollo compuesto por Big Data Engineers, DataOps y Machine Learning Engineers.&lt;/p&gt;

&lt;p&gt;Hace un año que &lt;a href="https://www.adevinta.es/ofertas-empleo"&gt;me incorporé a Adevinta Spain&lt;/a&gt; y me enfrenté al gran reto como equipo de ser impulsores de la evolución de la compañía a nivel Data. En este tiempo nos hemos acercado más al negocio y los usuarios, porque las soluciones tecnológicas no son más que una respuesta a la estrategia y como tales deben ir acompañadas de personas y procesos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IRftPW6h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vygmersrxd8qbbcoosa4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IRftPW6h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vygmersrxd8qbbcoosa4.png" alt="Image description" width="480" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y ¿cómo acercar un mundo tan técnico a los usuarios? Pues ese es mi gran reto, hacer entendible lo complejo, entender la tecnología y entender al usuario, hablar ambos idiomas y trabajar como one team para construir un producto enfocado en valor.&lt;/p&gt;

&lt;p&gt;El reto es grande porque nuestra Data Platform da servicio a todos los marketplaces con los que cuenta Adevinta en España (&lt;a href="https://www.fotocasa.es/es/"&gt;Fotocasa&lt;/a&gt;,  &lt;a href="https://www.habitaclia.com/"&gt;Habitaclia&lt;/a&gt;, &lt;a href="https://www.infojobs.net/"&gt;InfoJobs&lt;/a&gt;, &lt;a href="https://www.coches.net/"&gt;coches.net&lt;/a&gt;, &lt;a href="https://motos.coches.net/"&gt;motos.net&lt;/a&gt; y &lt;a href="https://www.milanuncios.com/"&gt;Milanuncios)&lt;/a&gt;. Y debemos equilibrar el dar un servicio global centralizado, y a su vez dar autonomía a los equipos/dominios de datos. Para no ser un cuello de botella y poder acelerar nuestra cultura data driven. Donde el usuario se preocupe por los datos, y los pueda incorporar en los procesos de decisión y construcción de productos en todos nuestros marketplaces.&lt;/p&gt;

&lt;p&gt;El camino está iniciado y ya caminamos juntos tecnología, personas y procesos. Dónde desde Data Platform aportamos las últimas tecnologías Big Data y productos innovadores que puedan acelerar nuestra estrategia de compañía y data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nuestra Visión de Data Platform: ¿Dónde estamos hoy?
&lt;/h2&gt;

&lt;p&gt;Pues estamos dando un servicio centralizado a nivel infraestructura a cada uno de nuestros marketplaces y/o dominios de datos, con una ingesta de datos masiva y con un catálogo central de discovery y gobernanza de la información.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--i9WMdWpm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x9z3jkg6hhc6lzzxs5nw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i9WMdWpm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x9z3jkg6hhc6lzzxs5nw.png" alt="Image description" width="640" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dedicando esfuerzos a automatizar procesos y dar herramientas a nuestros usuarios para que sean independientes, y sean los mínimos procesos los que dependan de nosotros. Porque tenemos la suerte de que cada marketplace cuenta con un equipo potente de Data Engineers, Data Analyst y Data Scientist para la construcción de productos data.&lt;/p&gt;

&lt;p&gt;Cada uno de los dominios recolecta las fuentes de datos de interés, utiliza los productos para su ingesta, transforma los datos en las diferentes zonas lógicas de Data Lake y Datawarehouse. Y a partir de ahí, analyst y data scientist hacen su magia convirtiendo el dato en insight, dashboard de seguimiento o modelo de machine learning, que en última instancia convierte el dato en acción para la toma de decisiones y evolución de producto en todos nuestros marketplaces, mejorando el conocimiento del cliente y la experiencia de usuario.&lt;/p&gt;

&lt;p&gt;El dominio es por tanto, dueño de su dato y de todos los procesos de transformación del mismo. A través de los cuales genera productos de datos que posteriormente comparte con el resto de marketplaces.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jUUl-om9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yjipiw0kx2h317xp9rse.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jUUl-om9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yjipiw0kx2h317xp9rse.png" alt="Image description" width="640" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y desde Data Platform ofrecemos la infraestructura y las herramientas para que los dominios puedan trabajar con los datos.&lt;/p&gt;

&lt;p&gt;La infraestructura engloba engine, cómputo, scheduler, endpoints (sqlaas, notebooks, programmatic), networking, deploy y etc. En definitiva lo que el usuario no ve y dota de capacidades para realizar “la magia”.&lt;/p&gt;

&lt;p&gt;Las herramientas de autoconsumo, que engloba las capacidades anteriores y aporta esa capa “user friendly” que el usuario requiere para realizar su día a día, preocupándose por el dato y nada más. Aquí vivimos en plena evolución porque la tendencia de democratizar la analítica hace que los perfiles sean dispares y debamos adaptar capas a skills requeridos. Así que, en este punto, hay un mundo por evolucionar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visión de Data Platform: ¿Hacia dónde vamos?
&lt;/h2&gt;

&lt;p&gt;Hacia un data ownership asumido 100% por los dominios, donde el productor/dominio es el que gobierna el dato porque es el que lo conoce y sabe evolucionarlo para que su valor sea máximo. Donde nosotros como Data Platform facilitamos la infraestructura, las herramientas y los productos como servicio para que puedan ser independientes y llevarlo a cabo, garantizando la escalabilidad, y acelerando así la construcción de modelos de machine learning y la toma de decisiones basadas en datos. Y donde cada dominio construye y comparte sus productos de datos con el resto.&lt;/p&gt;

&lt;p&gt;En esta transición es muy importante equilibrar las tres patas: personas, procesos y tecnología. Es por ello, que avanzamos en paralelo en:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;La cultura de la compañía con el dato&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;La definición de políticas y procesos de data governance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Y en dotar de la tecnología (data platform) necesaria para acelerar la estrategia y acompañar a las personas y los procesos.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Porque solo se puede avanzar y acelerar juntos, no hay otro camino.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Escrito por Marta Díaz&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Master en Business Intelligence y Big Data, Diplomada en estadística y Licenciada en Investigación y Técnicas de Mercado. Muy ligada al Gobierno del Dato, es miembro activo de Dama Spain en los Comités “Data Governance &amp;amp; Metadata” y “Data Quality &amp;amp; Content Management”. Actualmente desarrolla su actividad profesional en &lt;a href="https://www.adevinta.es/"&gt;Adevinta Spain&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>data</category>
      <category>dataplatform</category>
    </item>
    <item>
      <title>ENTREVISTA DigitalES: Juan Carlos Ruiz, un ‘arquitecto’ de páginas web detrás de Fotocasa
</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Thu, 27 Jan 2022 09:41:14 +0000</pubDate>
      <link>https://dev.to/adevintaspain/entrevista-digitales-juan-carlos-ruiz-un-arquitecto-de-paginas-web-detras-de-fotocasa-1nh8</link>
      <guid>https://dev.to/adevintaspain/entrevista-digitales-juan-carlos-ruiz-un-arquitecto-de-paginas-web-detras-de-fotocasa-1nh8</guid>
      <description>&lt;p&gt;‘CRACKS de la tecnología’ es una serie semanal de entrevistas de DigitalES, a través de las que dan voz a esos profesionales TI que son absolutos genios de la tecnología en España. El objetivo es saber de ellos/as, conocer y reconocer el trabajo que realizan en las empresas en las que trabajan; saber qué les apasiona y qué consejos guardan para aquellos/as que vendrán detrás.&lt;/p&gt;

&lt;p&gt;Juan Carlos Ruiz se inició en la programación a los 10 años. Siendo todavía un niño, diseñó un programa de gestión para su padre. Combinaba su inquietud por la informática con una pasión por la arquitectura, el diseño y el arte que aún conserva. Dos décadas después, este joven no diseña planos de viviendas, pero hace posible que muchos millones de personas compren y vendan sus casas a través de Internet.&lt;/p&gt;

&lt;p&gt;Trabaja en el equipo de frontend de &lt;a href="https://www.fotocasa.es/es/"&gt;Fotocasa&lt;/a&gt;, el portal inmobiliario de &lt;a href="https://www.adevinta.es/"&gt;Adevinta Spain&lt;/a&gt;, y hoy atiende a DigitalES desde Barcelona, la ciudad en la que siempre soñó vivir.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MST7rT_i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kzz62ys9me12y9nai0c.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MST7rT_i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kzz62ys9me12y9nai0c.jpg" alt="Image description" width="880" height="820"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.- Trabajar para un portal como Fotocasa, y encima desde la ciudad modernista por excelencia. ¡Te encaja como anillo al dedo!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- Desde pequeño tuve claro que quería vivir en Barcelona. Aun hoy, me parece una ciudad extraordinaria y tengo la suerte de que una gran compañía como Adevinta Spain ha decidido instalar aquí su sede mundial, así como la mayor parte de sus equipos de desarrollo web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;En Adevinta Spain, todo el desarrollo se hace in-house.&lt;/strong&gt; No hay que olvidar que, para un gigante de portales de Internet (&lt;a href="https://www.fotocasa.es/es/"&gt;Fotocasa&lt;/a&gt;, &lt;a href="https://www.habitaclia.com/"&gt;habitaclia&lt;/a&gt;, &lt;a href="https://www.infojobs.net/"&gt;InfoJobs&lt;/a&gt;, &lt;a href="https://www.coches.net/"&gt;coches.net&lt;/a&gt;, &lt;a href="https://motos.coches.net/"&gt;motos.net&lt;/a&gt; y &lt;a href="https://www.milanuncios.com/"&gt;Milanuncios&lt;/a&gt;), &lt;strong&gt;cuestiones como el diseño, la usabilidad y la experiencia de usuario representan elementos esenciales de su modelo de negocio&lt;/strong&gt;. La Web es el núcleo de su propuesta de valor, y por eso es tan importante que &lt;strong&gt;las personas que trabajan con el código sientan el proyecto como algo suyo&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.- Ese compromiso con los proyectos al que aludes, ¿se promueve activamente en Adevinta Spain?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- Yo diría que sí. De un lado, &lt;strong&gt;se promueve un clima de trabajo donde la gente esté contenta y motivada&lt;/strong&gt;, por ejemplo, permitiendo que &lt;strong&gt;propongamos nuevas funcionalidades&lt;/strong&gt; o maneras de mejorar las ya existentes. Eso ayuda a que nos sintamos partícipes de los proyectos y de la empresa. Por otra parte, los trabajadores de Adevinta Spain &lt;strong&gt;recibimos continuamente formación sobre el negocio&lt;/strong&gt;, lo cual nos hace entender mejor las necesidades de la empresa. Yo creo que, si conoces bien el producto, la calidad de tus desarrollos se va a ver muy incrementada.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Cuando conoces bien el producto, la calidad de tus desarrollos se ve muy incrementada."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;P.- ¿Qué hace exactamente un desarrollador en Adevinta Spain? ¿Cómo os estructuráis y organizáis?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- Existen equipos por cada vertical de negocio de Adevinta Spain y, por supuesto, recursos y herramientas que compartimos en toda la compañía. &lt;strong&gt;Cada equipo&lt;/strong&gt;, a su vez, **cuenta con especialistas en los diferentes sub-campos en que puede dividirse el desarrollo **web, como desarrolladores frontend, backend, mobile (iOS / Android)… Y como equipo multidisciplinar también tenemos perfiles UX/UI, Data Insight, SEO y otros perfiles que requiera el proyecto. En realidad, todos tenemos una base de conocimiento sobre programación frontend y backend, pero por lo general nos ceñimos a nuestra área de especialización, como buen “equipo full-stack”.&lt;/p&gt;

&lt;p&gt;Con respecto al trabajo en sí, &lt;strong&gt;aplicamos metodologías ágiles&lt;/strong&gt;. Concretamente Scrum, que consiste en distribuir todos los nuevos desarrollos en sprints de dos semanas. En quince días, tenemos que ser capaces de programar nuevas funcionalidades y probarlas. Si funcionan, se llevan a Producción y, si no, iteramos o se descartan. ¡Y vuelta a empezar!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.- El trabajo de desarrollador, en efecto, se ha sofisticado mucho en los últimos años. ¿Cómo explicas a qué te dedicas a personas que no conocen el mundo TIC?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- A mi madre, por ejemplo, empecé por contarle que mi trabajo consistía en aporrear el teclado y tomar mucho café. Después, le expliqué que una página web siempre tiene una parte visual, con la que interactúan los usuarios, y otra parte invisible, que es todo lo que hay detrás. Hoy por hoy, mi madre -y como ella, cada vez más personas- conoce la diferencia entre un desarrollador frontend y backend.&lt;/p&gt;

&lt;p&gt;También ayuda que trabajemos para portales muy conocidos y reconocidos por la sociedad. Hablamos de 18.8 millones de usuarios únicos, es decir, &lt;strong&gt;19.3 millones de personas que confían en los marketplaces de Adevinta Spain para encontrar lo que buscan&lt;/strong&gt;. Es emocionante que el fruto de tu trabajo sean servicios que usa tanta gente…&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Es emocionante que el fruto de tu trabajo sean servicios que usa tanta gente para encontrar lo que buscan."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;P.- Si tus padres no trabajaban en nada cercano a la informática, ¿de dónde crees que te vino la vocación tecnológica?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- Fue algo gradual. Me apuntaron a clases extraescolares de mecanografía con máquina de escribir. [Bromea: “¡Creo que llegué a hacer músculo en los meñiques!”] Después empecé con la mecanografía con ordenador y, a partir de ahí, me fui interesando más y más por la ofimática. Descubrí que podía hacer fórmulas en Excel, bases de datos en Access… El profesor vio que yo mostraba interés y me enseñó los fundamentos de HTML, CSS, JavaScript y PHP.&lt;/p&gt;

&lt;p&gt;Incluso le monté un programa de gestión a mi padre cuando tenía 10 años. Mi vocación siempre fue la de arquitecto, pero la informática me gustaba y se me daba bien, y me fui dejando llevar por ese camino. Así que nunca llegué a la Facultad de Arquitectura, pero me gusta pensar que, en cierto modo, he acabado siendo un “arquitecto de software”.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;P.- Al respecto de la salida profesional que tiene aprender programación, ¿qué perfiles son los que más escasean?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
R.- En España hay muchísimo talento, pero al mismo tiempo, por esa sofisticación de la que hablábamos antes, cuesta encontrar buenos especialistas. Con la pandemia, diría que la dificultad para encontrar programadores es menor, porque el teletrabajo hace posible que busquemos candidatos en otras ciudades, provincias e incluso países de habla hispana.&lt;/p&gt;

&lt;p&gt;Después, cada nueva incorporación lleva a cabo su propio proceso de onboarding, que suele consistir en un pequeño proyecto con el que se va familiarizando con el resto del staff técnico y con las herramientas que usamos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.- ¿Y cómo los seleccionáis?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- En Adevinta Spain &lt;strong&gt;hemos cambiado recientemente el modo en que realizamos la selección de personas&lt;/strong&gt;, precisamente para ser capaces de identificar mejor quién tiene verdadera madera de desarrollador/a. Así, primero intentamos** romper el hielo con el chico o la chica, tomando un café** y hablando de nuestros hobbies o de cualquier otra cosa. Después de un rato, le &lt;strong&gt;planteamos una prueba técnica que dura solamente una hora&lt;/strong&gt;. Nada de pruebas complejísimas de una semana de duración; eso lo hacíamos antes y generaba muchísimo estrés a los/as candidatos/as. Algunos de nosotros expusimos ese problema a nuestros superiores, que escucharon ese feedback y, como resultado, hoy el proceso de captación es mucho más ágil.&lt;/p&gt;

&lt;p&gt;Claro está, las pruebas técnicas pueden jugarte una mala pasada. Recuerdo que yo estaba nerviosísimo cuando me tocó hacerla. Sin embargo, intentamos ver más allá y proyectar si esa persona encajaría en el equipo, y durante la entrevista procuramos que esté cómoda. Además, hacemos esfuerzos conscientes por aumentar la diversidad y que haya más mujeres en los equipos de desarrollo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hacemos esfuerzos conscientes por aumentar la diversidad y que haya más mujeres en los equipos de desarrollo."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;P.- ¿En qué sueles tú fijarte en las entrevistas de trabajo? ¿Qué consejo les darías a los jóvenes que quieren llegar a ser grandes desarrolladores frontend el día de mañana?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;R.- Siempre les pregunto por qué otras cosas han hecho y qué aficiones tienen. Me interesan mucho esos complementos o soft skills. Creo que intereses como el dibujo, la pintura o el diseño te aportan cuidado por el detalle, por el pixel. Y eso, al final, se traslada a la calidad de tu trabajo.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Girls in Tech entrevista a Justine Devos, Head of Data &amp; Insights de InfoJobs
</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Fri, 14 Jan 2022 14:23:29 +0000</pubDate>
      <link>https://dev.to/adevintaspain/girls-in-tech-entrevista-a-justine-devos-head-of-data-insights-de-infojobs-o13</link>
      <guid>https://dev.to/adevintaspain/girls-in-tech-entrevista-a-justine-devos-head-of-data-insights-de-infojobs-o13</guid>
      <description>&lt;p&gt;Una de las áreas en las que estamos poniendo foco, junto con la &lt;strong&gt;comunidad Women in Tech de Adevinta Spain&lt;/strong&gt;, es en establecer acuerdos o sponsorizaciones con entidades que promuevan la presencia de las mujeres en el ámbito técnico. Por eso, somos sponsors de Girls in Tech y, como parte de nuestra colaboración, han entrevistado a Justine Devos, Head of Data &amp;amp; Insights de InfoJobs.&lt;/p&gt;

&lt;p&gt;Justine ha compartido su inspiradora historia profesional, que curiosamente arrancaba con sus estudios de Historia del Arte, más tarde se aventuraba en el sector de la hostelería, hasta que decidió volver a Francia y centrar su formación en business e informática, a la vez que ponía en práctica todo lo que iba aprendiendo en una startup en el equipo de marketing y comunicación, donde despertó su interés por el análisis de datos. &lt;/p&gt;

&lt;p&gt;Además, nos comparte las 4 razones en las que basa su estrategia para liderar el equipo. Para todas las futuras directoras del mundo tecnológico, Justine nos deja estos consejos: "tener confianza en sí misma y aprender a conocer a cada persona. Dedicar tiempo para conectar con cada uno de los miembros del equipo. Crear un entorno de confianza para trabajar bien y delegar tareas."&lt;/p&gt;

&lt;p&gt;Te dejamos la entrevista completa ⬇&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3PeHmY77PL4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>womenintech</category>
      <category>datascience</category>
      <category>insights</category>
      <category>data</category>
    </item>
    <item>
      <title>Érase una vez en el backend de Fotocasa ...</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Thu, 20 May 2021 08:08:29 +0000</pubDate>
      <link>https://dev.to/adevintaspain/erase-una-vez-en-el-backend-de-fotocasa-3nn6</link>
      <guid>https://dev.to/adevintaspain/erase-una-vez-en-el-backend-de-fotocasa-3nn6</guid>
      <description>&lt;p&gt;¿Quieres conocer cómo trabajamos en el backend de &lt;a href="https://www.fotocasa.es"&gt;Fotocasa&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ruben Martin&lt;/strong&gt; &lt;a class="mentioned-user" href="https://dev.to/ruben_martin_lozano"&gt;@ruben_martin_lozano&lt;/a&gt;
, Engineering Manager, y &lt;strong&gt;Pedro Martínez&lt;/strong&gt; &lt;a class="mentioned-user" href="https://dev.to/pedromcarrion"&gt;@pedromcarrion&lt;/a&gt;
, Principal Engineer, nos lo cuentan en 5 pasos ...&lt;/p&gt;

&lt;p&gt;🎯 &lt;a href="https://www.youtube.com/watch?v=rFnROOj_rNU&amp;amp;t=0s"&gt;¿Cúal es el reto técnico al que se va a enfrentar un/a backend al entrar en fotocasa?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⛰️ &lt;a href="https://www.youtube.com/watch?v=rFnROOj_rNU&amp;amp;t=36s"&gt;¿Qué complicaciones tenemos y cómo las vamos a superar?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🛠️ &lt;a href="https://www.youtube.com/watch?v=rFnROOj_rNU&amp;amp;t=56s"&gt;¿Qué herramientas, lenguajes, stacks vamos a utilizar?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✍️ &lt;a href="https://www.youtube.com/watch?v=rFnROOj_rNU&amp;amp;t=85s"&gt;¿Nos puedes mostrar tu último commit de código/pull request?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👌 &lt;a href="https://www.youtube.com/watch?v=rFnROOj_rNU&amp;amp;t=122s"&gt;¿Nos puedes mostrar la última pull request que has revisado?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://careers.adevinta.es/ofertas/?search=backend&amp;amp;stc=aff-blog%20dev.to-%C3%A9rase%20una%20vez%20en%20el%20backend%20de%20fotocasa%20..."&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9gwi2RUj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/811r6mbhnrhwvqxu06hu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hiring</category>
      <category>backend</category>
      <category>microservices</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>ENTREVISTA - Miguel Ángel Durán, 
Enabler frontend y uno de los presentadores de la Codemotion</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Thu, 15 Apr 2021 12:15:25 +0000</pubDate>
      <link>https://dev.to/adevintaspain/entrevista-miguel-angel-duran-enabler-frontend-y-uno-de-los-presentadores-de-la-codemotion-gbh</link>
      <guid>https://dev.to/adevintaspain/entrevista-miguel-angel-duran-enabler-frontend-y-uno-de-los-presentadores-de-la-codemotion-gbh</guid>
      <description>&lt;p&gt;Después de más de un año de pandemia, muchas cosas han cambiado (por no decir todo). En el mundo de los &lt;strong&gt;eventos&lt;/strong&gt;, nos hemos tenido que reconvertir al online con más o menos fortuna. Y así lo ha hecho también la &lt;strong&gt;comunidad tecnológica en España&lt;/strong&gt;, una de las más activas y que ha visto en plataformas como &lt;strong&gt;Twitch&lt;/strong&gt; un filón. El streaming es el rey. Pero, &lt;strong&gt;¿cómo se hace comunidad de manera virtual?&lt;/strong&gt; ¿Cómo suplir el calor del evento offline a través de una pantalla?&lt;/p&gt;

&lt;p&gt;Alguien que puede darnos respuestas a estas preguntas es &lt;strong&gt;Miguel Angel Durán&lt;/strong&gt;, Enabler Frontend en Adevinta Spain, quien cuenta con una comunidad fiel en Twitter de más de 28K follower y de más de 9K en Twitch. Ahora participa por partida doble en la &lt;a href="https://events.codemotion.com/conferences/online/2021/online-tech-conference-spanish-edition-spring#home" rel="noopener noreferrer"&gt;&lt;strong&gt;tech conference Codemotion&lt;/strong&gt;&lt;/a&gt;.  Por un lado, &lt;strong&gt;será uno de los maestros de ceremonias presentando este evento&lt;/strong&gt; del 20 al 22 de abril y, por el otro, &lt;strong&gt;participa en un panel online&lt;/strong&gt; con más referentes de la comunidad técnica titulado: &lt;strong&gt;Todos estamos (o estaremos en Twitch&lt;/strong&gt; el dia 21 a las 17:15.&lt;/p&gt;

&lt;h2&gt;
  
  
  ENTREVISTA
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Miguel Ángel, ¿es verdad eso de que todos estamos o estaremos en Twitch?
&lt;/h3&gt;

&lt;p&gt;Todos no sé si llegaremos a estar pero desde luego cada vez &lt;strong&gt;somos más&lt;/strong&gt;. Creo que Twitch está siendo una ventana para &lt;strong&gt;compartir de forma cómoda y más natural&lt;/strong&gt; muchas de las pasiones que tenemos. Antes parecía ser una plataforma especialmente para gamers pero poco a poco veo que hay de todo. Entre ellos, temas técnicos y de ciencia. :)&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cuál ha sido tu experiencia?
&lt;/h3&gt;

&lt;p&gt;Pues genial. Yo ya &lt;strong&gt;llevaba tiempo haciendo streamings en YouTube&lt;/strong&gt;, pero la audiencia de YouTube espera más bien otro tipo de contenido. Más preparado, más corto, más estático. No me quejo de los meses que lo hice, pero &lt;strong&gt;en Twitch tienes una interacción con el público&lt;/strong&gt; mucho más cercana y &lt;strong&gt;haces contenido menos preparado&lt;/strong&gt;, lo cual se agradece. A veces puedo ponerme incluso a estudiar e ir comentando. Eso es impensable en YouTube. Así que muy contento. :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1p906b0nt5ck3mc1nq26.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1p906b0nt5ck3mc1nq26.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cómo se hace uno un hueco entre tanto contenido y en un ambiente como el streaming?
&lt;/h3&gt;

&lt;p&gt;Con mucha paciencia. Es muy difícil. &lt;strong&gt;Hay mucha competencia por la atención&lt;/strong&gt;. Yo a veces hago streaming y veo ahí que tienes a Ibai, el Rubius o Auron… pues da un poco de vértigo. Y luego ves a compañeras y compañeros que están haciendo streaming y también te sabe mal porque de alguna forma vas a entrar conflicto por esa atención. &lt;strong&gt;Así que es difícil&lt;/strong&gt;. Al final &lt;strong&gt;lo importante es hacerse una pequeña comunidad que lo que hace es que quieren verte a tí y ya está&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Es posible mantener una comunidad? ¿Cómo responde la tuya?
&lt;/h3&gt;

&lt;p&gt;Es posible y seguramente es la mejor forma. Yo tengo un &lt;a href="https://discord.gg/midudev" rel="noopener noreferrer"&gt;Discord&lt;/a&gt; y ya somos &lt;strong&gt;más de 2500 personas&lt;/strong&gt;. Y la gente se ayuda entre ellos. Es genial. &lt;strong&gt;Yo tengo una comunidad super sana y muy diversa&lt;/strong&gt;, estoy muy contento aunque a veces es bastante faena. Te llegan muchos mensajes y hay gente que se puede molestar si no le contestas. Pero bueno, compensa.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb9atyr9gzay5jgtlz1m2.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb9atyr9gzay5jgtlz1m2.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Volviendo al mundo de los eventos técnicos reconvertidos al online, en tu opinión, ¿ha sido efectiva la reconversión?
&lt;/h3&gt;

&lt;p&gt;Creo que &lt;strong&gt;ha costado pero poco a poco se han ido adaptando&lt;/strong&gt;. Ya veo que están a un nivel muy bueno y que han encontrado formas de hacerlas amenas y que el público participe. Igualmente veo que ha habido un adelantamiento de los streamings. No es raro ver que algunas conferencias, con todos los patrocinadores y trabajo que tienen detrás, tienen un público similar a algunos streamers y eso es algo que invita a reflexionar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Como parte de la comunidad, ¿qué crees que aporta codemotion a la comunidad?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;La Codemotion es una de las conferencias más míticas e importantes del panorama&lt;/strong&gt;. Ha sido una conferencia que siempre ha dado cabida a ponentes diversos y ha sido la primera parada como speaker de mucha gente. Además de traer talento de fuera también ofrece temas interesantes que de otra forma igual no te pararías a aprender. &lt;strong&gt;Para mi una de esas conferencias que siempre suman y uno no se puede perder&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sobre Codemotion, ¿qué significa para ti ser uno de los maestros de ceremonias?
&lt;/h3&gt;

&lt;p&gt;Pues ya ves, con la opinión que tengo de la Codemotion, ya te puedes imaginar que &lt;strong&gt;significa mucho para mi&lt;/strong&gt;. Me hace especial ilusión &lt;strong&gt;poder sumar en un evento sobre desarrollo de estas características&lt;/strong&gt; y espero poder ayudar para que la gente lo disfrute al máximo.&lt;/p&gt;

&lt;p&gt;Además que a mi me encanta todo el tema de presentar eventos y comunicación, así que va a ser una maravilla poder converger dos de mis pasiones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://careers.adevinta.es/ofertas/?search=frontend&amp;amp;stc=aff-blog%20dev.to-entrevista%20_%20miguel%20%C3%A1ngel%20dur%C3%A1n"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6id72aga73fvsxe05nu3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>codemotion</category>
      <category>twitch</category>
    </item>
    <item>
      <title>Our last Meetup with Barcelona JS</title>
      <dc:creator>Adevinta Eng.</dc:creator>
      <pubDate>Wed, 28 Oct 2020 10:58:25 +0000</pubDate>
      <link>https://dev.to/adevintaspain/our-last-adevinta-meetup-with-barcelona-js-3d9g</link>
      <guid>https://dev.to/adevintaspain/our-last-adevinta-meetup-with-barcelona-js-3d9g</guid>
      <description>&lt;p&gt;We have hosted a new &lt;strong&gt;Adevinta Meetup&lt;/strong&gt; with BarcelonaJS. We have had 2 great talks. Find below more information of the talks⬇️&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;"Traversing, an alternative to routing"&lt;/strong&gt; by &lt;strong&gt;Eric Bréhault&lt;/strong&gt;, frontend team leader at Onna&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traversing&lt;/strong&gt; is a key concept in web navigation. That is how URLs and HTML links work since the very beginning of the web, yet most web developers don't know it, and modern frontend frameworks use routing to enable navigation in a single page app, but that is not the only option.&lt;/p&gt;

&lt;p&gt;This talk will explain why routing is not always good and how using traversing can achieve loose coupling between frontend app and backend, better plug-ability, and better re-usability.&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;"Design system: developing your own UI library is not such a bad idea"&lt;/strong&gt; by &lt;strong&gt;Mat Pellerin&lt;/strong&gt;, senior frontend developer at Onna&lt;/p&gt;

&lt;p&gt;As frontend developers, we often tend to use existing UI libraries like Material or Bootstrap, thinking developing our own UI library would be a non-sense; others did it already better than what we could ever do, and that would be a real waste of time.&lt;/p&gt;

&lt;p&gt;Well, that might be true for some kind of projects but implementing your own design system as an UI library is not always such a bad idea.&lt;/p&gt;

&lt;p&gt;⬇️ Here the meetup! ⬇️🎉&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/9niRA-hxeB4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>design</category>
    </item>
  </channel>
</rss>
