O que preciso para concorrer a essas vagas de desenvolvimento de software embarcado?

21 respostas
Erick_Ribeiro

Uma empresa de indústria Espacial chamada Avibrás na cidade vizinha a minha abriu, há 2 dias, 13 vagas com a seguinte descrição:
“desenvolvimento de software embarcado em tempo real, com programação em linguagem C, C++, Pascal e Assembly x 86. Desejável experiência com programação em linguagem C, C++, Pascal e Assembly x 86.”

É a área que eu quero muito, muito mesmo, trabalhar, mas ainda não tenho experiência com projetos, mas já estou no 3º ano da faculdade. Como eu faço para começar a trabalhar nessa área?

Mais detalhes sobre as vagas:
http://www.empregos.com.br/vagas/analista-de-sistemas-sw/jacarei/sp/2902864?utm_source=Indeed&utm_medium=organic&utm_campaign=Indeed

21 Respostas

Hebert_Coelho

Estude oq foi solicitado uai. Faça projetos pequenos em casa que ajuda também.

Manda teu cv e fale q você está procurando estágio. [=

Erick_Ribeiro

Hebert Coelho:
Estude oq foi solicitado uai. Faça projetos pequenos em casa que ajuda também.

Manda teu cv e fale q você está procurando estágio. [=


Valeu pela dica, vou fazer isso mesmo! Se eu consguir um estágio nessa empresa já será uma ótima experiência para mim!

J

Erick Ribeiro:
Hebert Coelho:
Estude oq foi solicitado uai. Faça projetos pequenos em casa que ajuda também.

Manda teu cv e fale q você está procurando estágio. [=


Valeu pela dica, vou fazer isso mesmo! Se eu consguir um estágio nessa empresa já será uma ótima experiência para mim!

Vai lá na empresa, leva o seu curriculum e diga a verdade. Que está interessado. Eu trabalho nessa área e não troco facilmente. São sempre projetos que agregam no meu conhecimento.

gomesrod

Já que quer entrar nessa área eu acho interessante estudar Eletrônica Digital, além daqueles itens pedidos.

E também concordo com a sugestão de procurar a empresa na “cara de pau” mesmo. Demonstre o seu interesse que pode até virar alguma coisa

E

gomesrod:
Já que quer entrar nessa área eu acho interessante estudar Eletrônica Digital, além daqueles itens pedidos.

E também concordo com a sugestão de procurar a empresa na “cara de pau” mesmo. Demonstre o seu interesse que pode até virar alguma coisa

Essa é a típica vaga para engenheiros eletrônicos :slight_smile: - embora isso não esteja escrito na descrição da vaga.

Se você (ou sua família) tiver algum problema com indústria armamentista (assim como há aqueles que têm problemas de trabalhar em instituições financeiras, outros com problemas de trabalhar com indústrias de bebidas alcoólicas ou de tabaco etc.) não se esqueça que a Avibrás basicamente produz armas. Não é como a Embraer (aí na sua cidade mesmo) que tem a divisão civil e a militar.

douglaskd

entanglement:
gomesrod:
Já que quer entrar nessa área eu acho interessante estudar Eletrônica Digital, além daqueles itens pedidos.

E também concordo com a sugestão de procurar a empresa na “cara de pau” mesmo. Demonstre o seu interesse que pode até virar alguma coisa

Essa é a típica vaga para engenheiros eletrônicos :slight_smile: - embora isso não esteja escrito na descrição da vaga.

Se você (ou sua família) tiver algum problema com indústria armamentista (assim como há aqueles que têm problemas de trabalhar em instituições financeiras, outros com problemas de trabalhar com indústrias de bebidas alcoólicas ou de tabaco etc.) não se esqueça que a Avibrás basicamente produz armas. Não é como a Embraer (aí na sua cidade mesmo) que tem a divisão civil e a militar.

sacanagem, eu teria prazer em trabalhar em uma empresa destas!, e colocar em prática meu projeto do Reator Arc 1

pena que não sou engenheiro :frowning:

bestlinux

Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.

douglaskd

programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

bestlinux

douglaskd:
programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

É sim…software embarcado é uma área muito “restrita” mesmo…é quase uma maçonaria…o conhecimento é passado na forma aluno x mentor

douglaskd

bestlinux:
douglaskd:
programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

É sim…software embarcado é uma área muito “restrita” mesmo…é quase uma maçonaria…o conhecimento é passado na forma aluno x mentor

igual ABAP rsrs, o básico você até rabisca… acender leds, ligar motor, temporizar haha

mais o pulo do gato mesmo só tendo o auxilio de “Pessoas que tiveram auxilio de outras Pessoas”.

achei esse livro. Programming Embedded Systems - With C And GNU Development Tools, 2nd Edition vou dar uma olhada

Erick_Ribeiro

bestlinux:
Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.

Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?

bestlinux

Erick Ribeiro:
bestlinux:
Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.

Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?

Sim, mas com certeza, cursos relacionados a Engenharia e Eletrônica são mais focados.

Hebert_Coelho

Erick Ribeiro:
Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?
Em nossa área até pedreiro pode se dar bem, se for um bom profissional.

Já tive chefe que era formado em outras áreas e eram excelentes desenvolvedores.

Basta da pessoa querer e também investir tempo e estudo nisso.

J

bestlinux:
Erick Ribeiro:
bestlinux:
Bom, eu trabalho com software embarcado.

Bom…o que posso dizer…é uma área completamente diferente do que você no dia a dia ai.

Um problema que enfrentamos aqui é Engenheiro se “metendo” a fazer software. Outra coisa, metodologia “On The Fly”.

Então, bachareis em Ciencia da Computação tem boa chance se dar bem nessa área?

Sim, mas com certeza, cursos relacionados a Engenharia e Eletrônica são mais focados.

Um curso de Ciência da computação já te passa tudo o que precisa para isso com matérias de arquitetura e microchips. Pelo menos na minha época era assim.

J

douglaskd:
programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

Eu já acho bem mais difícil pelo simples fator dos dispositivos serem limitados. Alguém aí já programou um micro de 1kb de ram? Precisei reaproveitar até as variáveis que declarava. Conta com valores maiores que um inteiro então era cruel. Ou você raciocina ou tá perdido.

O mundo do pc pra mim é o paraíso. Double e Long é coisa que praticamente tenho que “implementar” no dia a dia.

douglaskd

juliocbq:
douglaskd:
programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

Eu já acho bem mais difícil pelo simples fator dos dispositivos serem limitados. Alguém aí já programou um micro de 1kb de ram? Precisei reaproveitar até as variáveis que declarava. Conta com valores maiores que um inteiro então era cruel. Ou você raciocina ou tá perdido.

O mundo do pc pra mim é o paraíso. Double e Long é coisa que praticamente tenho que “implementar” no dia a dia.

tem como mostrar um pouco de código sobre como implementar Double por exemplo ?

Erick_Ribeiro

juliocbq:
douglaskd:
programar para software embarcado é facil, o problema é encontrar material bom e um um bom professor.

eu mesmo nunca comecei por que não sei nem gravar o programa em um chip. e deve ser a coisa mais teta do mundo.

Eu já acho bem mais difícil pelo simples fator dos dispositivos serem limitados. Alguém aí já programou um micro de 1kb de ram? Precisei reaproveitar até as variáveis que declarava. Conta com valores maiores que um inteiro então era cruel. Ou você raciocina ou tá perdido.

O mundo do pc pra mim é o paraíso. Double e Long é coisa que praticamente tenho que “implementar” no dia a dia.

Parece um desafio interessante programar em computadores de 1kb de RAM. :slight_smile:

E

Pra começar, você normalmente precisa saber:
a) Se seu processador já tem instruções de ponto-flutuante (mesmo processadores ARM nem sempre implementam isso :frowning: )
b) Supondo que não tenha, se o problema pode ser resolvido sem double, apenas com “fixed-point arithmetic” (por exemplo, se você quer criar um dispositivo que seja uma calculadora com exatamente 2 casas depois da vírgula, que faça apenas somas e subtrações).
c) Supondo que não dê para resolver com fixed-point arithmetic, se você pode usar um formato de ponto-flutuante não-padrão e mais fácil de implementar, ou tem de implementar IEEE-754 ou um subconjunto dele

Veja só o que você precisa se perguntar antes de sair usando uma implementação pronta ou de sair fazendo :frowning:

J
entanglement:
douglaskd:
tem como mostrar um pouco de código sobre como implementar Double por exemplo ?

Pra começar, você normalmente precisa saber:
a) Se seu processador já tem instruções de ponto-flutuante (mesmo processadores ARM nem sempre implementam isso :( )
b) Supondo que não tenha, se o problema pode ser resolvido sem double, apenas com "fixed-point arithmetic" (por exemplo, se você quer criar um dispositivo que seja uma calculadora com exatamente 2 casas depois da vírgula, que faça apenas somas e subtrações).
c) Supondo que não dê para resolver com fixed-point arithmetic, se você pode usar um formato de ponto-flutuante não-padrão e mais fácil de implementar, ou tem de implementar IEEE-754 ou um subconjunto dele
http://en.wikipedia.org/wiki/IEEE_floating_point

Veja só o que você precisa se perguntar antes de sair usando uma implementação pronta ou de sair fazendo :(

Isso mesmo. O grande problema é que na indústria os dispositivos precisam trabalhar com fontes externas dos mais variados tipos. Se o dispositivo lê um inteiro de 32 bits e você usa um micro que trabalha com inteiros de 16 já tem um problema.
Isso pode ser um protocolo de comunicação ou qualquer coisa do gênero e na engenharia(o papel dela claro) é fazer o custo da solução cair. Então é natural você usar um chip que só soma e subtrai e ter que implementar uma fft nele(é uma metáfora, na maioria das vezes).

O problema acima você consegue resolver quebrando os bits da fonte em um vetor de inteiros de 16 de duas posições:

int int32[2];

e usar uma máscara de bits para preenchê-lo

int leitura = 0;
 read_source(pino1, leitura);
...
while(i<16){

  ...

   if(leitura && 0000000000000001){
      int32[0]|=1;
   }else{
     int32[0]|=0;
   }

    int32[0] << 1;
...
}

e ir processando os bits que vão chegando e montando toda a informação. O pior é quando falta a ram e você precisa reaproveitar todas as variáveis por não pode declará-las a vontade. Aí a coisa complica bem.
É isso a grosso modo. Você precisa pensar em algoritmos constantemente para lidar com números, fazer sobrar memória, etc...

douglaskd

era isso que eu queria ver, desafios, deve ser por esse motivo que me atraio tanto por essa área.

deixa eu perguntar, depois de muito tempo de experiência, ainda vem aquela sensação de “sou ninja” ou acaba se tornando um “emprego de tarefas”

digo isso pois sempre vejo programadores de linguagens de alto nivel se queixando de ter que fazer cruds simples demais, mas que para um estagiário é um monstro de 7 cabeças.

J

douglaskd:
era isso que eu queria ver, desafios, deve ser por esse motivo que me atraio tanto por essa área.

deixa eu perguntar, depois de muito tempo de experiência, ainda vem aquela sensação de “sou ninja” ou acaba se tornando um “emprego de tarefas”

digo isso pois sempre vejo programadores de linguagens de alto nivel se queixando de ter que fazer cruds simples demais, mas que para um estagiário é um monstro de 7 cabeças.

Acho que não tem essa de ninja. Por exemplo agora acabo de ter que fazer uma tarefa usando extjs e para mim alivia um pouco por um lado e complica no outro. Sempre tem um trabalho “diferente” todo dia. Mas o fato de exercitar algoritmos diretamente te deixa afiado para encarar qualquer coisa. Tem um colega aqui do lado que está terminando um “módulo de voz”, e ele literalmente ralou por vários meses. Algo que ele nunca havia desenvolvido e que agregou conhecimento pra ele. Tinha dias que havia um copo de água com um resistor dentro dele para refrigerar a coisa, de tanto que esquentava. Agora aqui a aplicação extjs dá um comando e o módulo de voz responde. É legal ver um trabalho de tecnologia rendendo frutos.

Criado 27 de fevereiro de 2013
Ultima resposta 28 de fev. de 2013
Respostas 21
Participantes 7