Entrada no mercado: bootcamps vs licenciatura

Boa tarde,

Sou licenciado em Línguas Aplicadas, e trabalho em Tradução como freelancer. Recentemente comecei a programar e deu-me muito mais gozo que a tradução alguma vez deu pelo que quero mesmo tentar fazer carreira nisto.

A pergunta é a seguinte: há uma grande disparidade no tipo de empregos que a malta que faz bootcamps tipo Acertar o Rumo ou a Academia de Código consegue encontrar relativamente a quem faz a licenciatura?

Tenho a opção dos dois, mas obviamente em questões de tempo, um bootcamp seria bastante aliciante. Alguém tem alguma opinião em como os dois se comparam?
 
Isso é um tema muito debatido aqui no forum.

A realidade é muito diferente entre um bootcamp e uma licenciatura nao tem nada a ver. Mas é como tudo na vida tudo se consegue com tempo dedicação e vontade.
Ja tive um team leader que era de letras, tinha mais de 10 anos de experiência em informática... tinha tirado tambem um mestrado em informatica.
 
Última edição pelo moderador:
Em regra uma licenciatura é em Engenharia Informática e esses bootcamps são orientados basicamente à programação. No 1º entendes a diferença entre os 2 codigos abaixo, no 2º duvido ...

Código:
int A[4][400];
int B[4][400];

// Programa 1
     for(i=0;i < 4; i++)
        for(j=0;j < 400; j++)
            A[i][j]=B[i][j];


// Programa 2

for(j=0; j < 400; j++)
    for(i=0; i < 4; i++)
        A[i][j]=B[i][j];
 
Em regra uma licenciatura é em Engenharia Informática e esses bootcamps são orientados basicamente à programação. No 1º entendes a diferença entre os 2 codigos abaixo, no 2º duvido ...

Código:
int A[4][400];
int B[4][400];

// Programa 1
     for(i=0;i < 4; i++)
        for(j=0;j < 400; j++)
            A[i][j]=B[i][j];


// Programa 2

for(j=0; j < 400; j++)
    for(i=0; i < 4; i++)
        A[i][j]=B[i][j];

Qual é a diferença já agora? Eu vejo O(n^2) nos dois.
O que aprendes em engenharia informática é a não encadear dois fors, a menos que não haja outra forma de resolver o problema...
 
Qual é a diferença já agora? Eu vejo O(n^2) nos dois.
O que aprendes em engenharia informática é a não encadear dois fors, a menos que não haja outra forma de resolver o problema...
No 1 fazes 1604 atribuições e comparações (4 para i e 4*400 para j), no 2 fazes 2000 (400 para j e 400*4 para i).
 
Isso é bom para ir fazer sites da pequenos ou apps da pequenas... falta ai muita ginastica mental :P tenta um mestrado...
Ou tipo programar androids em que normalmente é um programador a fazer uma appzeca... pode fazer o mau código para lá que mais ninguém vai mexer naquilo...
 
Última edição:
sinceramente acredito que um mestrado resolva, ganhar contactos, ferramentas de como chegar la....
Essa coisa do "autodidacta" é complicado....é preciso um background ou então passas a vida a partir pedra.
 
Em regra uma licenciatura é em Engenharia Informática e esses bootcamps são orientados basicamente à programação. No 1º entendes a diferença entre os 2 codigos abaixo, no 2º duvido ...

Código:
int A[4][400];
int B[4][400];

// Programa 1
     for(i=0;i < 4; i++)
        for(j=0;j < 400; j++)
            A[i][j]=B[i][j];


// Programa 2

for(j=0; j < 400; j++)
    for(i=0; i < 4; i++)
        A[i][j]=B[i][j];

Eu tenho licenciatura e digo-te que não vejo diferenças entre os ciclos.

No 1 fazes 1604 atribuições e comparações (4 para i e 4*400 para j), no 2 fazes 2000 (400 para j e 400*4 para i).

What?

Fazes 1600 em ambos.
 
Eu tenho licenciatura e digo-te que não vejo diferenças entre os ciclos.



What?

Fazes 1600 em ambos.
As 1600 para o array "A" são sempre feitas, mas não há só o array "A".

Código:
int A[4][400];
int B[4][400];

// Programa 1
     for(i=0;i < 4; i++) // "i++" (incremento) e "i < 4", ambos feitos 4 vezes
        for(j=0;j < 400; j++) // "j++" (incremento) e  "j < 400", ambos feitos 400 * 4 = 1600 vezes
            A[i][j]=B[i][j]; // "A = B" (atribuição), feito 1600 vezes


// Programa 2

for(j=0; j < 400; j++) // "j++" (incremento) e "j < 400", ambos feitos 400 vezes
    for(i=0; i < 4; i++) // "i++" (incremento) e "i < 4", ambos feitos 400 * 4 = 1600 vezes
        A[i][j]=B[i][j]; // "A = B" (atribuição), feito 1600 vezes
Dependendo do processador e sem optimização do compilador, o programa 2 ia ser muito mais lento por ter muito mais instruções por fazer, mas isto eu nem sei se dão em todas as universidades, geralmente é só uma cadeira e em muitas universidades os alunos nem querem saber dela.
 
Tens razão, fiz um benchmark desses dois ciclos e correndo-os num Smartphone (por ter um processador mais fraco e dar para ter melhor a noção da performance), o segundo demora menos 150 nano-segundos que o primeiro.

Sinceramente pensei que com as optimizaçōes do compilador ficassem exactamente iguais. Estava enganado.
 
Tens razão, fiz um benchmark desses dois ciclos e correndo-os num Smartphone (por ter um processador mais fraco e dar para ter melhor a noção da performance), o segundo demora menos 150 nano-segundos que o primeiro.

Sinceramente pensei que com as optimizaçōes do compilador ficassem exactamente iguais. Estava enganado.
O segundo demora mais, fiz um experiência com um loop grande entre os 2, no primeiro "5m57.621s", no segundo "6m26.862s".
 
Vocês gostam mesmo de inventar... em Big O notation, um algoritmo expressa-se em função de N, não em função de constantes!
As constantes são irrelevantes, ou é O(1) ou então é O(g(n)).
 
Back
Topo