{"id":28419,"date":"2024-06-26T10:14:10","date_gmt":"2024-06-26T08:14:10","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=28419"},"modified":"2024-06-26T10:37:56","modified_gmt":"2024-06-26T08:37:56","slug":"puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/","title":{"rendered":"&#8220;Puoi cambiare questa condizione nel codice? Cosa ci vuole?&#8221;"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-la-paura-dei-senior\">La paura dei senior<\/h2>\n\n\n\n<p>Un tempo ero molto pi\u00f9 veloce nel cambiare un algoritmo, nella modifica di un parametro di una funzione, nella creazione o distruzione di flussi e cos\u00ec via. L&#8217;obiettivo era, prima di tutto,<strong> fare quello che chiedeva il cliente e solo in seconda battuta fare in modo che il codice fosse mantenibile <\/strong>o che la scelta presa fosse la migliore all&#8217;interno di una serie di scelte pi\u00f9 o meno ponderate.<\/p>\n\n\n\n<p>Poi sono invecchiato e ho iniziato ad usare i test per capire se il mio codice andasse bene anche dopo una modifica, <strong>ho iniziato a scrivere documentazione<\/strong> per capire perch\u00e9 avevo ragionato in un certo modo e ho iniziato a fare code review per migliorare la comprensione del codice e la sua manutenzione.<\/p>\n\n\n\n<p>Questo nuovo approccio &#8220;complicato&#8221; il mio lavoro, o per meglio dire: ha allungato i processi che, da una richiesta, portavano alla soluzione finale.<br><\/p>\n\n\n\n<p>Una modifica che un tempo facevo in 10 minuti, ora occupa una giornata intera, <strong>perch\u00e9 devo valutare tutti gli impatti che quella modifica pu\u00f2 avere<\/strong>, far <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/errori-comuni-nelle-revisioni-del-codice-e-come-evitarli\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">girare tutti i test automatizzati<\/a>, eseguire qualche test manuale dove non sono riuscito ad automatizzare, scrivere la documentazione, effettuare il merge con il codice principale, aspettare il build e i test di integrazione, verificare che tutto funzioni e finalmente dichiarare l&#8217;issue risolta, sperando di non aver dimenticato qualcosa.<\/p>\n\n\n\n<p>Gli anni passano ed \u00e8 inevitabile che ci sia l&#8217;evoluzione dal bambino spensierato che effettua una push senza test, alla cariatide che aggiusta anche gli spazi quando deve aggiungere codice al branch main (no, &#8220;master&#8221; non si utilizza pi\u00f9).<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Quello che una volta era un <span class=\"hljs-string\">\"s\u00ec\"<\/span> felice ed entusiasta, \ncresce <span class=\"hljs-keyword\">in<\/span> un <span class=\"hljs-string\">\"s\u00ec, ma faccio anche questo\"<\/span>, \npiano piano diventa un <span class=\"hljs-string\">\"ni\"<\/span>, \nfino ad arrivare ad un <span class=\"hljs-string\">\"no\"<\/span>\no peggio ancora un <span class=\"hljs-string\">\"dipende\"<\/span>.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-i-senior-non-sono-cattivi\">I senior non sono cattivi<\/h2>\n\n\n\n<p>Non \u00e8 per cattiveria che succede tutto questo, \u00e8 per la consapevolezza di quanto gira attorno a una singola riga di codice. <strong>La consapevolezza dell&#8217;errore<\/strong> o degli impatti di una modifica e per uno sterminato regresso che troppe volte ha minato la certezza che una singola condizione possa essere cambiata senza problemi.<\/p>\n\n\n\n<p>Questo non vuol dire che le modifiche non vanno fatte, vuol solo dire che vanno sempre valutati gli impatti,<strong> in modo da non creare problemi pi\u00f9 grandi di quelli che si vogliono risolvere <\/strong>e che spesso, pi\u00f9 si invecchia e pi\u00f9 gli impatti si moltiplicano nella testa del programmatore.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/04-CondizioneNelCodice-articolo-1-leonardo-ai.jpg\" alt=\"programmatore senior\" class=\"wp-image-28424\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/04-CondizioneNelCodice-articolo-1-leonardo-ai.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/04-CondizioneNelCodice-articolo-1-leonardo-ai-300x225.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/04-CondizioneNelCodice-articolo-1-leonardo-ai-768x576.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pensiamo al ciclo di vita di un software e alla sua progettazione. All&#8217;inizio sviluppare un prodotto \u00e8 relativamente facile: vediamo il nostro obiettivo, abbiamo un&#8217;idea su come raggiungerlo, facciamo in modo che clienti e stakeholder (ogni tanto mettere un inglesismo a caso aiuta a far sembrare un ragionamento intelligente) siano soddisfatti, e se abbiamo fortuna riusciamo a creare un team coeso sul prodotto sia dal punto di vista tecnico che umano. <strong>Questo non \u00e8 sempre scontato perch\u00e9 a volte basta un singolo elemento fuori dal coro in grado di destabilizzare un intero gruppo<\/strong>. Una volta raggiunto questo obiettivo, quando occorre fare una modifica tutti i membri sono allineati e consapevoli di quello che serve realizzare.<\/p>\n\n\n\n<p>Quando si esce da questa fase di euforia collettiva e si esce dalla fase creativa, il team di sviluppo inizia a cambiare rispetto alla sua forma originale. Contestualmente il cliente diminuisce il budget, perch\u00e9 si entra in una fase di manutenzione e se non si presta la dovuta attenzione si inizia a perdere la padronanza del prodotto.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">No, non sono certamente i test che possono governare il prodotto,\nma sono le teste che lo hanno ideato.<\/code><\/span><\/pre>\n\n\n<p>Il turnover di progetto \u00e8 un processo inevitabile, a meno che non vi troviate in un igloo in mezzo al polo, privi di connessione internet, e<strong> i poveri programmatori che hanno realizzato il progetto non siano in grado di inviare un curriculum<\/strong> se non attaccandolo ad una foca (anche se esiste sempre la possibilit\u00e0 che il programmatore si dedichi alla pesca, sua grande passione sopita dal codice).<\/p>\n\n\n\n<p>Quando si cambia un componente del team, si perde una parte di conoscenza del prodotto e si inizia a perderne la padronanza. A cascata ogni intervento diventa sempre pi\u00f9 costoso, lungo e rischioso.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-manutenzione-di-un-progetto-cambia-le-regole\">La manutenzione di un progetto cambia le regole?<\/h2>\n\n\n\n<p>In un normale ciclo di vita di un prodotto succede che alcune parti siano soggette ad aggiornamenti frequenti, ma molte altre parti, per un discorso di maturazione, carenza di richieste o stabilit\u00e0, non abbiano necessit\u00e0 di modifiche. <strong>Rendere rarefatte le modifiche diminuisce la conoscenza del codice da parte del programmatore stesso che le ha realizzate<\/strong>. Questo comporta che la persona che ha scritto 2 anni prima quelle righe di codice \u00e8 normale che non le ricordi e abbia necessit\u00e0 di riguardarle per ricordare i processi che ne avevano portato la realizzazione.<\/p>\n\n\n\n<p>Pi\u00f9 \u00e8 verticale la modifica, pi\u00f9 \u00e8 poi difficile ricordarne la ragione: non ricordi perch\u00e9 all&#8217;interno di una connessione ad una risorsa esterna hai messo un parametro e non un altro, perch\u00e9 usi una suite di cifratura al posto di un&#8217;altra o magari hai un branch aperto da mesi, <strong>in attesa di una verifica con un cliente su una funzionalit\u00e0 urgente<\/strong>, che \u00e8 diventata all&#8217;improvviso di scarsa importanza, ma ora occorre fare il merge in una baseline con 400 push in pi\u00f9 e ti chiedi se ha pi\u00f9 senso rifare tutto da capo o applicare le modifiche a un rebase.<\/p>\n\n\n\n<p>In mezzo a questo tipo di interventi ci sono i lavori di tutti i giorni, le modifiche alle funzionalit\u00e0, le correzioni di bug, le richieste di nuove funzionalit\u00e0, le correzioni di nuovi bug che hai introdotto correggendo un bug, il codice che ha introdotto un collega con scarsa conoscenza del prodotto, i cambi di comportamento introdotti dall&#8217;uso di un aggiornamento o un nuovo componente che obbliga un cambio di codice e introduce un&#8217;anomalia indiretta.<\/p>\n\n\n\n<p>Tu che hai scritto quel codice non lo ricordi, capisci che a fronte di una serie di cambiamenti la modifica da fare \u00e8 pi\u00f9 grande di quanto prospettato, ma devi capire come farla, perch\u00e9 hai un ricordo dei razionali per i quali \u00e8 stato fatto il codice precedente e capisci che non \u00e8 una modifica banale. Figuriamoci chi deve sistemare lo stesso codice ed \u00e8 la prima volta che mette le mani su quella parte di programma.<\/p>\n\n\n\n<p>Come diceva Eraclito:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Nessun uomo pu\u00f2 attraversare lo stesso fiume due volte,\nperch\u00e9 n\u00e9 l'uomo n\u00e9 il fiume sono pi\u00f9 gli stessi<\/code><\/span><\/pre>\n\n\n<p>Questa frase pu\u00f2 essere facilmente riapplicata al codice: ogni modifica, anche la pi\u00f9 piccola, cambia il codice e il contesto in cui si trova, che \u00e8 diverso dal contesto in cui era stato realizzato e anche la persona \u00e8 differente rispetto alla persona che aveva scritto quel codice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-caso-d-uso-di-una-nota-banca-italiana\">Caso d&#8217;uso di una nota Banca italiana<\/h2>\n\n\n\n<p>Per un attimo immaginate di essere un programmatore senior di una &#8220;banca qualsiasi&#8221;, dove vi \u00e8 stato detto che si doveva <strong>procedere ad un aggiornamento di sistema e relativo firmware<\/strong>, che non avrebbe portato a nessun danno e che si sarebbe proceduto a fare l&#8217;aggiornamento in produzione.<\/p>\n\n\n\n<p>Avendo visto questo tipo di interventi pi\u00f9 volte nella vostra vita, la prima cosa che vi viene in mente di fare \u00e8 quella di eseguire un test, ma non esiste un ambiente di test che copra esattamente la dimensione della produzione, sia per dimensionamento che per casi d&#8217;uso. Sconsigliate l&#8217;aggiornamento massivo, ma il produttore della soluzione assicura che non ci saranno problemi, il reparto di sicurezza vi avvisa che occorre mettere l&#8217;aggiornamento entro una certa data perch\u00e9 altrimenti non si \u00e8 conformi alle regole aziendali e che comunque in caso di problemi si pu\u00f2 tornare indietro.<\/p>\n\n\n\n<p>Vostro malgrado accettate, spinti anche dal fatto che &#8220;lavoriamo con la metodologia agile e dobbiamo essere pronti al cambiamento&#8221; e che &#8220;non possiamo essere sempre negativi&#8221;.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Le interruzioni agli accessi ai servizi online (come app, app Invest, Internet Banking e Smart Business)\nsi sono verificate in seguito all'installazione di un aggiornamento del sistema operativo\ne del relativo firmware che ha comportato una situazione di instabilit\u00e0. \nCi teniamo ancora a scusarci e riteniamo fondamentale ringraziarti ancora per la comprensione dimostrata.<\/code><\/span><\/pre>\n\n\n<p>Un &#8220;banale&#8221; aggiornamento di sistema operativo e firmware ha comportato una situazione di instabilit\u00e0 per ben 5 giorni.<\/p>\n\n\n\n<p>Chiaramente, in questo caso ipotetico, il problema non \u00e8 stato l&#8217;aggiornamento, ma la mancanza di test, la mancanza di un ambiente di test che coprisse la produzione, la mancanza di un rollback immediato e la mancanza di un piano di disaster recovery o la sottovalutazione del rischio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-qual-e-la-percezione-della-modifica-all-esterno-del-progetto\">Qual \u00e8 la percezione della modifica all&#8217;esterno del progetto?<\/h2>\n\n\n\n<p>Spesso chi \u00e8 fuori dal progetto ha una percezione completamente diversa dello sviluppo software e spinge per realizzare le modifiche il prima possibile.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Mi serve per ieri<\/code><\/span><\/pre>\n\n\n<p>Questa frase \u00e8 un classico, ma spesso non si capisce che una modifica, anche banale, pu\u00f2 comportare una serie di problemi che vanno ben oltre la modifica stessa.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Ho chiesto solo di cambiare una condizione, perch\u00e9 Mario mi crea tutti questi problemi?\nOra assegno il compito a Bruno che lo risolve in 2 minuti<\/code><\/span><\/pre>\n\n\n<p>Ci sono situazioni all&#8217;interno dei progetti che permettono di alterare il codice molto velocemente, ed altre situazioni in cui una modifica, anche banale, pu\u00f2 richiedere molte riflessioni: anche se si tratta di poche righe di codice o addirittura una sola condizione aggiuntiva.<br>Ogni programmatore affronta la modifica in modo diverso, in base alla sua esperienza, alla conoscenza del prodotto e alla conoscenza del codice. Pi\u00f9 abbiamo programmatori esperti del prodotto, pi\u00f9 \u00e8 probabile che la modifica venga valutata attentamente, perch\u00e9 si \u00e8 consapevoli di quanto una modifica possa comportare. Meno il programmatore \u00e8 a conoscenza del prodotto, pi\u00f9 \u00e8 probabile che la modifica venga fatta velocemente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusioni\">Conclusioni<\/h2>\n\n\n\n<p>Ogni modifica, anche la pi\u00f9 banale, pu\u00f2 comportare dei problemi prestazionali, di regressione, di sicurezza, di manutenibilit\u00e0, di comprensione del codice, di documentazione, di test, di deployment.<\/p>\n\n\n\n<p>Allo stesso modo delle alterazioni esterne al progetto possono creare gli stessi problemi: ho aggiornato il sistema operativo, ho aggiornato un driver, ho aggiornato il firmware e ora non funziona pi\u00f9 nulla.<\/p>\n\n\n\n<p>La pressione che viene messa addosso ad un programmatore aumenta progressivamente col tempo perch\u00e9 parallelamente aumenta la consapevolezza di tutto quello che pu\u00f2 andare storto e di quanto sia difficile risolvere un problema una volta che si \u00e8 verificato.<\/p>\n\n\n\n<p>Questo pu\u00f2 portare a situazioni in cui un programmatore senior si rifiuta di fare una modifica, <strong>perch\u00e9 sa che i rischi sono troppo alti<\/strong>, o perch\u00e9 sa che la modifica richiederebbe troppo tempo e risorse per essere fatta correttamente.<\/p>\n\n\n\n<p>La prossima volta che guardate un programmatore, che da molti anni lavora sullo stesso codice e non vuole modificarlo e vi avverte su ogni alterazione interna o esterna al progetto, non pensate a lui come a un incapace, ma piuttosto come a una persona consapevole ed utilizzate il suo consiglio per evitare di far crollare il vostro progetto e soppesare al meglio rischi e benefici di ogni modifica perch\u00e9 infondo, come diceva Isaac Asimov:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">Nessuna decisione sensata pu\u00f2 essere pi\u00f9 compiuta senza tenere\nconto non solo del mondo come \u00e8 ora, ma di come sar\u00e0<\/code><\/span><\/pre>","protected":false},"excerpt":{"rendered":"<p>La paura dei senior Un tempo ero molto pi\u00f9 veloce nel cambiare un algoritmo, nella modifica di un parametro di una funzione, nella creazione o distruzione di flussi e cos\u00ec via. L&#8217;obiettivo era, prima di tutto, fare quello che chiedeva il cliente e solo in seconda battuta fare in modo che il codice fosse mantenibile&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\">Read more<\/a><\/p>\n","protected":false},"author":246,"featured_media":28429,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10315],"tags":[10244,12327,12325],"collections":[11708],"class_list":{"0":"post-28419","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-carriere-tech","8":"tag-carriera","9":"tag-junior","10":"tag-senior","11":"collections-dalla-community","12":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Come si diventa programmatore senior? - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Qual \u00e8 la differenza tra developer senior e junior? Non perdere la riflessione di Matteo Baccan in questo articolo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"&quot;Puoi cambiare questa condizione nel codice? Cosa ci vuole?&quot;\" \/>\n<meta property=\"og:description\" content=\"Qual \u00e8 la differenza tra developer senior e junior? Non perdere la riflessione di Matteo Baccan in questo articolo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-26T08:14:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-26T08:37:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Matteo Baccan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matteo Baccan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\"},\"author\":{\"name\":\"Matteo Baccan\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/58743a83113a6ac22788ab19bea03ad1\"},\"headline\":\"&#8220;Puoi cambiare questa condizione nel codice? Cosa ci vuole?&#8221;\",\"datePublished\":\"2024-06-26T08:14:10+00:00\",\"dateModified\":\"2024-06-26T08:37:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\"},\"wordCount\":1637,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp\",\"keywords\":[\"carriera\",\"junior\",\"senior\"],\"articleSection\":[\"Carriere tech\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\",\"name\":\"Come si diventa programmatore senior? - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp\",\"datePublished\":\"2024-06-26T08:14:10+00:00\",\"dateModified\":\"2024-06-26T08:37:56+00:00\",\"description\":\"Qual \u00e8 la differenza tra developer senior e junior? Non perdere la riflessione di Matteo Baccan in questo articolo.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp\",\"width\":1792,\"height\":1024,\"caption\":\"sviluppatore senior\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Carriere tech\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"&#8220;Puoi cambiare questa condizione nel codice? Cosa ci vuole?&#8221;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/58743a83113a6ac22788ab19bea03ad1\",\"name\":\"Matteo Baccan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/02\/matteo-baccan-100x100.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/02\/matteo-baccan-100x100.jpg\",\"caption\":\"Matteo Baccan\"},\"description\":\"Matteo Baccan is a professional software engineer and trainer with over 30 years of experience in the IT industry. He has worked for several companies and organizations, dealing with design, development, testing, and management of web and desktop applications, using various languages and technologies. He is also a passionate computer science educator, author of numerous articles, books, and online courses aimed at all levels of expertise. He runs a website and a YouTube channel where he shares video tutorials, interviews, reviews, and programming tips. Active in open-source communities, he regularly participates in programming events and competitions. He defines himself as a \\\"realistic dreamer\\\" who loves to experiment, innovate, and share his knowledge and passions, following the motto: \\\"Never stop learning, because life never stops teaching.\\\"\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/matteo-baccan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come si diventa programmatore senior? - Codemotion Magazine","description":"Qual \u00e8 la differenza tra developer senior e junior? Non perdere la riflessione di Matteo Baccan in questo articolo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/","og_locale":"en_US","og_type":"article","og_title":"\"Puoi cambiare questa condizione nel codice? Cosa ci vuole?\"","og_description":"Qual \u00e8 la differenza tra developer senior e junior? Non perdere la riflessione di Matteo Baccan in questo articolo.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2024-06-26T08:14:10+00:00","article_modified_time":"2024-06-26T08:37:56+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp","type":"image\/webp"}],"author":"Matteo Baccan","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Matteo Baccan","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/"},"author":{"name":"Matteo Baccan","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/58743a83113a6ac22788ab19bea03ad1"},"headline":"&#8220;Puoi cambiare questa condizione nel codice? Cosa ci vuole?&#8221;","datePublished":"2024-06-26T08:14:10+00:00","dateModified":"2024-06-26T08:37:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/"},"wordCount":1637,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp","keywords":["carriera","junior","senior"],"articleSection":["Carriere tech"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/","name":"Come si diventa programmatore senior? - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp","datePublished":"2024-06-26T08:14:10+00:00","dateModified":"2024-06-26T08:37:56+00:00","description":"Qual \u00e8 la differenza tra developer senior e junior? Non perdere la riflessione di Matteo Baccan in questo articolo.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp","width":1792,"height":1024,"caption":"sviluppatore senior"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/puoi-cambiare-questa-condizione-nel-codice-cosa-ci-vuole\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Carriere tech","item":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/"},{"@type":"ListItem","position":3,"name":"&#8220;Puoi cambiare questa condizione nel codice? Cosa ci vuole?&#8221;"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/58743a83113a6ac22788ab19bea03ad1","name":"Matteo Baccan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/02\/matteo-baccan-100x100.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/02\/matteo-baccan-100x100.jpg","caption":"Matteo Baccan"},"description":"Matteo Baccan is a professional software engineer and trainer with over 30 years of experience in the IT industry. He has worked for several companies and organizations, dealing with design, development, testing, and management of web and desktop applications, using various languages and technologies. He is also a passionate computer science educator, author of numerous articles, books, and online courses aimed at all levels of expertise. He runs a website and a YouTube channel where he shares video tutorials, interviews, reviews, and programming tips. Active in open-source communities, he regularly participates in programming events and competitions. He defines himself as a \"realistic dreamer\" who loves to experiment, innovate, and share his knowledge and passions, following the motto: \"Never stop learning, because life never stops teaching.\"","url":"https:\/\/www.codemotion.com\/magazine\/author\/matteo-baccan\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-600x600.webp","author_info":{"display_name":"Matteo Baccan","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/matteo-baccan\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-26-10.37.27-A-vintage-8-bit-cartoon-style-scene-depicting-a-senior-developer-on-a-mysterious-journey.-The-senior-developer-is-walking-through-a-pixelated-landscap-600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"Matteo Baccan","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/matteo-baccan\/"},"uagb_comment_info":0,"uagb_excerpt":"La paura dei senior Un tempo ero molto pi\u00f9 veloce nel cambiare un algoritmo, nella modifica di un parametro di una funzione, nella creazione o distruzione di flussi e cos\u00ec via. L&#8217;obiettivo era, prima di tutto, fare quello che chiedeva il cliente e solo in seconda battuta fare in modo che il codice fosse mantenibile&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/28419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/246"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=28419"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/28419\/revisions"}],"predecessor-version":[{"id":28426,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/28419\/revisions\/28426"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/28429"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=28419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=28419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=28419"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=28419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}