I progetti che utilizzano framework non sono validi come i progetti che utilizzano la pura programmazione? [duplicare]

2

Sono stato sviluppatore di Rails per un anno (originariamente autodidatta) e sono al punto in cui voglio migliorare. Ho letto libri su come migliorare la qualità del mio codice Ruby (leggo Design Patterns e Practical Object Oriented Design in Ruby).

Sto cercando di migliorare la qualità del mio codice e di aggiungerlo al mio portafoglio, ma ho difficoltà a pensare a qualcosa di motivante da fare con solo Ruby poiché nella mia testa sembra più bello o più usabile avere un Sinatra app (sto pensando di apprendere Sinatra) e un browser per interagire con l'app piuttosto che dover eseguire un'app pura rubino attraverso la console con $ ruby my_app.rb e far sputare qualche informazione. So che i risultati sono molto simili, ma ancora.

La mia domanda è: i datori di lavoro pensano meno ai progetti che utilizzano framework rispetto ai progetti (Rails, Sinatra, ecc.) che sono costruiti da zero (solo il linguaggio di programmazione stesso)?

    
posta Edmund 24.12.2013 - 22:55
fonte

3 risposte

5

TL; DR: No

Ci sono davvero due cose qui quando i datori di lavoro guardano un curriculum, o almeno alcuni datori di lavoro.

  1. Hai una conoscenza di base delle tecnologie di base? Buzzword match up: Ruby, HTML, CSS, JavaScript, PostgreSQL, MongoDB o qualsiasi altra piattaforma che stanno utilizzando. Conoscere le piattaforme spesso ti rende un candidato accettabile.
  2. Conosci e comprendi i framework che utilizziamo specificamente qui? Rails, SASS, Mongoid, ActiveRecord o qualsiasi altra cosa che abbia senso per quell'organizzazione. Conoscere questi ti rende un candidato migliore.

Se hai la lista del numero 1 coperta e ne manchi uno o due dal # 2. Normalmente non è un grosso problema. Puoi essere insegnato uno o due quadri. È più importante che qualcuno sia un buon adattamento culturale e si allinea correttamente ai nostri valori organizzativi di quanto tu abbia ogni quadro sulla lista.

Considerato quanto sopra, l'importanza della maggior parte dei quadri dipende da cosa stai cercando di fare. Se stai mirando a un tipo specifico di lavoro o a un ruolo in un'organizzazione specifica, scoprire quali strutture sono utilizzate e familiarizzarti con loro è un vantaggio enorme. Ma alla fine della giornata, vorrai utilizzare alcuni framework. Non ha alcun valore reinventare ogni volta ciò che serve.

Ora, in passato ho assunto qualcuno che non si avvicinava quasi a coprire quasi tutto il numero 1, ma si sono resi conto che erano davvero brillanti e sapevamo tutti che sarebbe stata una posizione da junior. Questo si è rivelato un buon noleggio. Normalmente, se qualcuno non può almeno parlare alla maggior parte del numero 1, allora la conversazione è finita abbastanza rapidamente. Anche se non puoi parlare alla mia lista al n. 2, avendo una lista puoi parlare di come l'hai usata, i benefici e le mancanze che hai scoperto e perché potresti scegliere di usarla di nuovo sarebbe un enorme vantaggio in la maggior parte delle interviste.

    
risposta data 24.12.2013 - 23:27
fonte
13

Sì e no.

Se tutto ciò che hai fatto è collegare app crud usando un framework specifico per farlo, i datori di lavoro si chiederanno se è tutto ciò che puoi fare - specialmente se si tratta di una tecnologia precedente.

Allo stesso modo, se hai passato gli ultimi 2 anni a fare qualcosa che sarebbe durato una settimana se avessi appena usato Framework X, anche questo non si riflette bene su di te.

I datori di lavoro apprezzano le persone che fanno le cose fatte, l'ideologia e la tecnologia vanno dannate.

    
risposta data 24.12.2013 - 23:35
fonte
3

Ci sono due domande qui. La prima domanda, la riga dell'oggetto, ha a che fare con la qualità del codice. La seconda e ultima domanda riguarda i datori di lavoro e ciò che cercano in un candidato.

Penso che @Travis risponda adeguatamente alla seconda domanda. I datori di lavoro sono sicuramente alla ricerca di molte cose, tra cui la competenza con le tecnologie e gli strumenti nello spazio aziendale, ma sono anche alla ricerca di un "adattamento" all'interno dell'azienda. E forse anche di più, quello che cercano davvero sono i risolutori di problemi. Se ti manca in un determinato linguaggio, tecnologia o struttura, ma puoi dimostrare a un datore di lavoro che hai la capacità di apprendere rapidamente e risolvere i problemi, è utile per un datore di lavoro.

Penso che i datori di lavoro capiscano che di solito non ricevono candidati con ogni singoli punti elenco nella loro lista dei desideri; ma quello che speri di ottenere è che gli studenti veloci siano capaci e adattabili e possano essere rapidamente aggiornati.

Ora, per quanto riguarda l'idea che un'applicazione sia buona o cattiva in base all'utilizzo del framework: ecco la linea di fondo su questo: dipende. Alcuni framework sono buoni, altri sono cattivi, e solo attraverso il loro utilizzo capirai quanto sono buoni o cattivi e quali ostacoli portano o eliminano in un progetto di sviluppo software. Per lo stesso motivo, alcune app create senza framework sono un mucchio di spaghetti, ma alcuni progetti andranno bene. Dipende dalle persone che hanno lavorato su di loro.

La domanda più grande, la domanda più preoccupante per me, è: l'app è qualcosa che posso gestire, crescere e cambiare nel tempo, facilmente e con poco attrito? Se la risposta a questa domanda è sì, allora non mi interessa se ha usato un framework o meno.

Nella mia esperienza, dipende molto dalla lingua, ma alcuni framework fanno davvero un buon lavoro nel rendere le app estendibili, facilmente gestibili e facilmente modificabili man mano che l'app cresce ed evolve. Si verificano piccoli attriti quando è necessario apportare modifiche e in quelle applicazioni è una vera gioia lavorare come l'età e evolversi.

Altre app ... ti senti come se ogni riga di codice che deve essere cambiata sia una seccatura importante, e ogni volta che passi nel codice che desideri per la possibilità di riscriverlo da zero.

Il trucco è scrivere un sacco di codice, imparare, lavorare con altri programmatori, parlare, fare esperienza e raccogliere una biblioteca di pensieri e lezioni apprese. Mirare a creare un codice che sia privo di attrito ed è facile per chiunque vi segua per adattarsi e cambiare. Per me, questi sono i nobili obiettivi della nostra professione.

    
risposta data 25.12.2013 - 00:05
fonte

Leggi altre domande sui tag