CodeGym /Java Blog /Random-IT /Come crackare le interviste dei giganti della tecnologia ...
John Squirrels
Livello 41
San Francisco

Come crackare le interviste dei giganti della tecnologia in India? Le migliori pratiche di uno sviluppatore di software Microsoft

Pubblicato nel gruppo Random-IT
Secondo il Bureau of Labor Statistics (BLS), la domanda prevista di ingegneri informatici crescerà del 22% entro il 2029. Non è un buon segno iniziare la propria carriera nello sviluppo di software? Tuttavia, scommettiamo che nessuno vuole abbassare troppo il livello e lavorare in aziende dubbie con salari bassi. Ecco perché abbiamo elaborato una breve panoramica dei migliori consigli per sostenere un colloquio di lavoro per sviluppatore di software presso Big Tech. Abbiamo parlato con Pranav Malik , un ingegnere del software con oltre 3 anni di esperienza che lavora presso Microsoft, ex Oracle e PayPal. Inoltre, afferma di aver crackato oltre 60 aziende. Iniziamo.

D: Quali sono i primi passi per iniziare una carriera nello sviluppo software?

R: Come sviluppatore di software, ci si aspetta che tu sia in grado di risolvere i problemi, quindi buone capacità di risoluzione dei problemi rappresentano metà della battaglia vinta. Se sei una persona che ama risolvere i problemi, lo sviluppo software è un buon punto di partenza per te. In realtà, eccezionali capacità di problem solving differenziano un buon sviluppatore di software da uno cattivo. Un appassionato risolutore di problemi pensa fuori dagli schemi, e questa è la cosa a cui tengono di più le grandi aziende. Oltre a ciò, dovresti essere esperto in strutture dati e algoritmi.

D: Come sono andate le vostre prime interviste?

R: Ancora una volta, se sei nella fase iniziale della tua carriera, la maggior parte delle aziende cerca principalmente la conoscenza della risoluzione dei problemi e della struttura dei dati. Aziende come Amazon potrebbero chiederti di risolvere problemi medio-difficili come problemi basati su alberi o problemi basati su grafici. Microsoft, a sua volta, è famosa per i problemi di backtracking, mentre Google è specializzata in problemi basati sulla programmazione dinamica. È necessario ricercare l'azienda in anticipo per prepararsi al meglio. Tuttavia, in generale, la maggior parte delle aziende è interessata alle capacità di problem solving, alla conoscenza dei dati, alle priorità, alla competenza tecnica (si possono richiedere anche conoscenze interne di Java, conoscenze teoriche) e ai fondamenti dell'informatica. Inoltre, tieni presente che più colloqui hai, più impari. Quindi, non aver paura di acquisire esperienza e di partecipare a numerosi colloqui (anche se non lavorerai nell'azienda che frequenterai).

D: Esiste una differenza tra i requisiti delle startup e delle aziende corporate?

R: Sì, c'è una differenza. Se stai andando in un'azienda basata sul prodotto, le tue competenze dovrebbero essere adatte a quel prodotto specifico. Ad esempio, se è richiesta la conoscenza del back-end, non è necessario l'intero stack e viceversa. Se il prodotto eccelle, stai eccellendo anche tu, ovvero svilupperai più competenze.

D: Come hai continuato ad apprendere e ad acquisire competenze per far crescere la tua carriera nello sviluppo di software?

R: Se stai scegliendo una carriera da sviluppatore di software, dovresti capire che sei "uno studente per tutta la vita". Devi essere pronto a praticare e imparare ogni giorno. Ricomincerai da zero se fai una lunga pausa o pausa. Nessuno lo vuole. Quindi, fai pratica ogni giorno e, molto presto, diventerà un'abitudine.

D: Quali strumenti, linguaggi e tecnologie è importante padroneggiare nello sviluppo del software?

R: È una discussione molto aperta e non esiste una risposta definitiva. La mia risposta è “qualunque cosa funzioni per te e qualunque tecnologia ti interessi”. Java è un linguaggio di programmazione molto popolare e ogni settore lo sta utilizzando in questo momento; Python è ampiamente utilizzato per il machine learning, Node.js è utile per le persone che eseguono sviluppo full-stack. AI, chatbot, servizi cloud... Le opzioni sono illimitate. L’unica cosa da notare qui è che dovresti sempre stare al passo con i tempi, indipendentemente dalla tecnologia che scegli. Le tecnologie non rimarranno statiche, quindi dovresti imparare con loro. La tecnologia ti costringerà a studiare e il tuo cervello a funzionare.

D: Cosa dovrebbe essere incluso nel curriculum di un principiante o di un ingegnere del software con qualche esperienza precedente?

R: Almeno 2-3 progetti nel tuo curriculum per dimostrare che hai fatto qualcosa in modo indipendente. Puoi parlare di ciò che hai fatto, delle sfide affrontate e delle tecnologie utilizzate. Anche un certo periodo di stage è buono. Hai solo un'esperienza diretta di come sarà la tua vita. Se hai vinto qualche concorso, sarà anche un bonus.

D: Il profilo LinkedIn e/o GitHub è davvero importante?

R: È molto importante. Se non sei su LinkedIn, come cerchi lavoro? In ambito professionale in questo momento è tutto su LinkedIn. È come Facebook. LinkedIn è un luogo dove puoi entrare in contatto con le persone in modo professionale e controllare in anticipo il profilo dell'intervistatore (cosa che faccio personalmente ogni volta). Anche un profilo GitHub è molto importante. Dovresti avere qualsiasi progetto che hai sviluppato su GitHub. E a volte, grazie a questi progetti, potresti essere assunto: se il progetto è interessante, c'è un'alta probabilità che l'intervistatore rimanga impressionato. Gli darei 9 su 10 quando si tratta di importanza. In breve, LinkedIn funziona come un portfolio digitale, mentre GitHub funziona come l'Instagram di un programmatore, dove puoi mostrare il tuo profilo e i progetti completati.

D: Come prepararsi per i diversi cicli di colloqui? Qual'è la differenza tra loro? Quanti di questi ne hai sperimentati in Microsoft, Oracle, PayPal e altre grandi aziende?

R: In generale, le grandi aziende hanno un minimo di 5-6 round. Il primo è qualcosa come un “ciclo di codifica online”, in cui gli intervistatori in genere pongono due o tre domande per valutare le tue capacità di risoluzione dei problemi. Il secondo li mette effettivamente alla prova. Quindi, molto probabilmente, sperimenterai due round mirati, ad esempio un round per una progettazione di basso livello e uno per una progettazione di alto livello. L'ultimo round viene eseguito da un responsabile delle assunzioni, durante il quale vengono poste domande generali o comportamentali per 45 minuti e domande tecniche per altri 15 minuti. Nelle grandi aziende, i direttori possono anche parlarti per valutare se sei adatto.

D: Esistono soft skills specifiche per approdare nelle grandi aziende?

R: Le competenze trasversali sono molto importanti. Ad esempio, in Amazon, potrebbero chiederti informazioni sui principi di leadership in qualsiasi fase del colloquio. Potrebbero parlare per 45 minuti di questioni tecniche e poi dedicare 15 minuti al tuo atteggiamento, "Come lo implementeresti". Dovresti essere in grado di comunicare molto bene. Dovresti essere in grado di spiegare chiaramente il tuo approccio e trasmettere tutti i tuoi pensieri all'intervistatore. Purtroppo ho perso l'occasione di lavorare in Meta, Facebook, solo perché non ero chiaro. Al giorno d'oggi, molti candidati hanno ottime hard skills, quindi le soft skills sono ciò che può farti risaltare.

D: Cosa pensi del mercato IT indiano?

R: L’India sta facendo molti progressi. L’India ha persino battuto il Regno Unito nelle classifiche globali per quanto riguarda l’industria tecnologica. E ciò che è degno di nota è che sempre più startup vengono fondate da persone indiane, non solo da società straniere. La tecnologia è ora ampiamente utilizzata in agricoltura, sanità e istruzione. Anche il settore governativo fa affidamento sull’IT. E poiché quasi tutti i settori dipendono dalla tecnologia, in India verranno creati sempre più posti di lavoro. Credo che i prossimi 10-20 anni saranno il periodo d’oro per il settore IT indiano, quindi restate in India piuttosto che andare negli Stati Uniti o altrove.

D: Come può un principiante passare alla programmazione?

R: Ho visto molte persone con un background artistico e commerciale, ecc. Ancora una volta, indipendentemente dal settore, la capacità di risoluzione dei problemi è l'abilità di base che dovresti possedere. Se sei un buon risolutore di problemi, avrai successo. La chiave è imparare regolarmente e non arrendersi. Crea un percorso chiaro e nitido e non discostarti da esso. Inoltre, tieni presente che le competenze ora contano più dei titoli di studio. Molte persone provenienti dalla sfera non IT ottengono risultati migliori di quelli con tag universitari. Sono le tue reali capacità che ti rendono eccezionale.

D: Come imparare l'ingegneria del software per qualificarsi per una buona posizione?

A: Studia ogni giorno! Se possibile, studia per 10-12 ore al giorno. Anche 5-6 ore andrebbero bene, ma dovresti essere coerente. Se stai cambiando carriera lavorando professionalmente, prova a dedicare almeno 2-3 ore ogni giorno. Fallo poco a poco: non c'è bisogno di bruciarti. Impara ogni giorno finché non ritieni che sia sufficiente, poi prenditi una pausa e riprendi.

D: Quanto puoi guadagnare come junior, a livello medio e in una posizione senior?

R: E' una domanda banale. Se lavori in un'azienda basata su prodotti o servizi, riceverai 6-30 ₹ come specialista entry-level. E sto parlando di uno stipendio base senza benefici aggiuntivi. Se si tratta di un'azienda basata su prodotti di fascia alta, può offrire un sistema di bonus e opzioni su azioni: in aziende come Amazon, il totale può arrivare a 50-64 ₹. Se parliamo dei intermedi, gli stipendi possono arrivare a 90-95 ₹, mentre gli anziani vengono pagati molto di più.

D: Vale la pena imparare Java nel 2023?

R: Ovviamente, vale la pena provare a imparare Java nel 2023, 2024, 2025, 2026... l'elenco potrebbe continuare all'infinito. Imparare Java nel secondo anno è stata la mia scommessa migliore. Linguaggi simili come C# o C++ occupano solo il 10-15% del mercato e solo le aziende di nicchia o Microsoft li utilizzano. Il 70% delle aziende utilizzerebbe Java in qualsiasi formato e anche Microsoft orientata al C++ utilizza Java in progetti specifici. Di sicuro, Java è un linguaggio di programmazione molto popolare in India. E credo che sia meglio imparare Java invece di C#, C++ o Phyton. Anche se sei interessato al machine learning, ti consiglio comunque di imparare prima Java e solo dopo Phyton. Java non scomparirà.

D: Se decidessi di iniziare la tua carriera adesso, ti alleneresti presso CodeGym? Consiglieresti CodeGym?

A: Sì, certo, ha un curriculum ideale e ti consente di imparare le cose di nicchia (senza informazioni inutili) che ti serviranno per superare i colloqui che dovrai affrontare. Inoltre, è tenuto da mentori del settore altamente professionali

Conclusione

Riuscire a sostenere un colloquio di lavoro come programmatore non è facile a causa della forte concorrenza, soprattutto quando si punta a giganti della tecnologia come Google, Facebook, Microsoft, Amazon, ecc. Il successo sta in un'attenta pianificazione e una buona preparazione. Ci auguriamo che questi consigli ti abbiano dato un suggerimento sugli aspetti su cui dovresti concentrarti. Questo articolo ti è stato utile? Fateci sapere nei commenti qui sotto se avete domande o pensieri! Come crackare le interviste dei giganti della tecnologia in India?  Le migliori pratiche di uno sviluppatore di software Microsoft - 1
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION