BrunoUfu (discussão | contribs)
Etiqueta: visualeditor
Linha 47: Linha 47:


Facebook do Marco Silva -> [https://www.facebook.com/maarcosilva?fref=ts Clique aqui]<br>
Facebook do Marco Silva -> [https://www.facebook.com/maarcosilva?fref=ts Clique aqui]<br>
<br>
= Dúvidas =
<br>
* 01. O que vem a ser a sigla B2B e B2C?
** Significa Business-To-Business e Business-To-Consumer. No contexto de TIC, denota que as soluções poderão ser criadas e entregues para dois públicos distintos: B - empresas e portanto com um porte e requisitos adequados ou C - consumer, para pessoas individuais.
** Exemplo: Facebook
*** Versão tradicional, onde o usuário individual se cadastra e tem acesso com seu usuário ou email
*** Versão corporativa: A empresa paga para ter uma versão parecida com o Face normal mas para usar na sua intranet.
<br>
* 02. Como é a sequência normal na carreira de um profissional na sua linha de trabalho?
** Normalmente começa como Trainée, se demonstrar vontade e tiver boa performance, pode ser contratado como Analista ou Engenheiro Jr. Depois que começa a participar de projetos se demonstrar competência pode ser promovido para Pleno. A partir dai, mostrando resultados expressivos deve evoluir naturalmente para Senior, tanto pela experiência adquirida quanto pela importância dentro de um equipe e ou de um projeto.
<br>
* 03. Em toda a empresa, existe essa segmentação clara nas responsabilidade de cada um?
** Não, nem sempre! Em algumas empresas o programador faz o papel do Analista e de Engenheiro de Software. Em outras, o Analista não faz nem o que deveria fazer, ou seja, muitas vezes, um profissional assume responsabilidades de outras funções e alguns não conseguem entregar (produzir) o que deveriam.
<br>
* 04. É interessante atuar como free-lancer? Cite uma forma de ser descoberto?
** Em alguns casos sim, o free-lancer permita que você compare suas habilidades frente a desafios de qualquer lugar do mundo e ainda complemente sua renda financeira. Importante sempre cumprir os compromissos assumidos em questões de tempo e qualidade.
** Atualizando sempre o GitHub.
<br>
* 05. O que é uma aceleradora? Qual a diferença de uma incubadora?
** Incubadora  apoiam micro e pequenas empresas de acordo com alguma diretiva governamental ou regional. Para isso, a empresa deve apresentar um Plano de Negócios que será avaliado pela Incubadora que tem uma série de critérios formais para incubar um projeto.
** Aceleradora é focada não em uma necessidade prévia, mas sim em empresas que tenham o potencial para crescerem muito rápido e seu modelo de trabalho é buscar startups escaláveis (e não somente uma pequena empresa promissora). Interessante que a empresa tenha um Plano de Negócio mas a Aceleradora busca principalmente uma boa ideia.
<br>
* 06. O que significa Viablidade de projeto?
** Significa que o profissional pode assumir o desafio de avaliar técnica, econômica e operacionalmente um detereminado desenvolvimento.
** Para isso tem que fazer uma análise dos riscos do projeto, exigir um pré-projeto delimitando tempo e custo. Neste contexto, tem que conhecer muito bem as habiliidades da equipe. No final, decidir se uma projeto vai ou não em frente. Imaginar a frustração da empresa ou das pessoas envolvidas se ele chegar a conclusão que não e a responsabilidade dele se disser que sim.
<br>
* 07. É importante avaliar as Boas Práticas de uma determinada atividade? Cite uma consequência drástica que pode acontevcer?
** É essencial! Entender as Boas Práticas mostra que estaremos avaliando a experiência de outros profissionais para tentarmos fazer o melhor projeto possível. Entendam que se errarmos na escolha de uma plataforma, de uma linguagem, de um banco ou de um sistema qualquer talvez não tenhamos como voltar atrás e se tivermos que "remendar", o custo, prazo e qualidade certamente serão afetados.
** Escalabilidade,ou seja, quando o sistema crescer, aumentar nro de usuários, de transações, etc poderá degradar a performance, gerar bugs ou até ficar inviável seu uso.
** Retrabalho: Outro fator crítico que pode onerar um sistema, pelo simples fato de ter que refazer algo que poderia ter sido feito de uma maneira melhor. Como comparação, imaginem o esforço e custo para  trocar toda a fiação de um prédio depois de ter moradores pelo fato de que a bitola dos fios não suportam a carga elétrica atual.
<br>
* 08. O que é Scrum e porque usá-lo?
** Scrum é uma metodologia usada em desenvolvimento ágil que permite gestionar e planejar projetos de software. No Scrum. Para isso, o desenvolvimento é segmentado em Sprints (ciclos de desenvolvimento) onde um conjunto de atividades é executado.
** Porque permite algumas condições, como:
*** Transparência: Todos podem estar cientes da evolução. Para isso existe um quadro de tarefas (Kanban) e um gráfico Burndown que compartilham informações
*** x'
Tecnologias e ferramentas
- Linguagem de programação para Iphone Ipad Idevices Mac
- ObjectVC para legado
- Swift - Apple lançou recentemente em 2016
- Tablets usa Java com Android SDK
- IDEs de dev: Apple => Xcode
- Android => Ecipse - Android Studio
- Gerenciamento de tarefa: Microsoft Project => recursos e pessoas, progresso
- Coordenação de tarefas informal: Scrum => Trello e Asana pois stem plugins interessantes
Oportunidades:
- Várias formas de conseguir oportunidades no exterior
- Receita: tem um monte de lugar na Interner - é só seguir
- Procuram profissionais diferenciados
- Dev Web Java ou DotNet encontra em qquer lugar
- Porque contratar um brasileiro que terei todo o trabalho em trazer de fora para fazer um serviço regular?
- Normalmente procuram especialistas ou seja preencher o que eles não conseguiram encontrar
- Precisa ter foco, dedicação e competência
- Fora não existem tantos hachers assim, são todos normais sem diferença nenhuma
- Existem vários sites de freelancers onde pode-se pegar trabalhos e garante a reputação
- O empregador do exterior valoriza muito
- Todo o resultado deve ser colocado no GitHub e deem manutenção
- Git é muito valioso onde se vê o que a pessoa fez para a comunidade
- Importante os contatos pessoais e profissionais => Façam muitos contatos
Dicas:
- Não gostava de programar e não sabia o que queria ser
- O estágio ajuda muito
- O primeiro contato ajuda muito
- Se esforcem tentando descobrir o que gostarm realmente
- Quem tem contato mais cedo tem mais tempo para descobrir o que quer
- Não tire a conclusão a primeira vista
- Provavelmente irão mudar de opinião várias vezes
- Salários: primeiro descobre o que quer para depois discutir remuneração
- Quem foca em ser bom automaticamente será bem remunerado

Edição das 15h01min de 3 de outubro de 2017

 Profissão

Engenheiro de Software

Descrição da atividade

O engenheiro de software é capaz de trabalhar no desenvolvimento e teste de variados programas computacionais, dentre eles estão: aplicativos, jogos, plataformas digitais para atividades educacionais, sistemas embarcados e sistemas específcos, como médicos e bancários, de forma a garantir maior desempenho e produtividade.

O mercado de trabalho para o engenheiro é vasto, existe carência na área em todo o Brasil, podendo atuar, por exemplo, em empresas do setor privado, em órgãos públicos ou em instituições de pesquisa e desenvolvimento de softwares. Porém o principal mercado para este profissional são os polos de tecnologia. Requisitos mínimos Desenvolver softwares e aplicativos. Elaborar documentação e relatórios técnicos.  

Requisitos mínimos

  • Desenvolvimento de software mobile (Android, iOS).
  • Experiência com versionamento e revisão de código.
  • Programação, depuração e testes.
  • Habilidades em desenvolvimento de sistemas embarcados (hardware e software).
  • Manutenção de software
  • Gerência de configuração de software
  • Gerência de engenharia de software
  • Processos de Engenharia de Software
  • Ferramentas e Métodos de Engenharia de Software
  • Qualidade de software

Ferramentas usadas

Dentre as diversas ferramentas utilizadas, são de maior destaque as IDEs (ambientes de desenvolvimento integrado), que suportam outras ferramentas,como:

  • Editor
  • Debug
  • Geração de código
  • Modelagem
  • Deploy
  • Testes não automatizados
  • Testes automatizados
  • Refatoração (Refactoring)
  • Gestão de Riscos nos projectos de Software
  • Uso da Prototipagem na Eng. de Requisitos


Tecnologias envolvidas

Na área de engenharia de software é abordada diversas tecnologias, porém existem aquelas que são de maior importância e que são mais utilizadas, por exemplo, a linguagem de programação, banco de dados e paradigmas de programação, que trabalham com outras tecnologias, como:

  • Programação estruturada
  • Programação funcional
  • Programação orientada a objetos
  • Componentes de Software
  • Programação orientada a aspecto


Exemplo de resultado tangível

O Engenheiro de Software é um profissional de suma importância dentro de uma empresa, devido as qualidades que possui, que muitas das vezes, um simples programador não tem, como por exemplo, a capacidade de organizar, produzir o resultado esperado, com uma qualidade maior. Muita das vezes, para desenvolvimento de software "pequenos", não é necessário, entretanto, para um software complexo que exige várias funções, interface gráfica, vários pacotes e até mesmo vários programadores, exige planejamento e toda uma ilustração do software, sendo assim, o responsável por estas ações será o Engenheiro de Software.

Apresentação

Foi apresentado para a turma o vídeo criado pelo Engenheiro Marco Silva, abordando vários fatos sobre a profissão, além de algumas dicas para quem deseja trabalhar fora do Brasil.

Link para download do vídeo -> Clique aqui

Facebook do Marco Silva -> Clique aqui

Dúvidas


  • 01. O que vem a ser a sigla B2B e B2C?
    • Significa Business-To-Business e Business-To-Consumer. No contexto de TIC, denota que as soluções poderão ser criadas e entregues para dois públicos distintos: B - empresas e portanto com um porte e requisitos adequados ou C - consumer, para pessoas individuais.
    • Exemplo: Facebook
      • Versão tradicional, onde o usuário individual se cadastra e tem acesso com seu usuário ou email
      • Versão corporativa: A empresa paga para ter uma versão parecida com o Face normal mas para usar na sua intranet.


  • 02. Como é a sequência normal na carreira de um profissional na sua linha de trabalho?
    • Normalmente começa como Trainée, se demonstrar vontade e tiver boa performance, pode ser contratado como Analista ou Engenheiro Jr. Depois que começa a participar de projetos se demonstrar competência pode ser promovido para Pleno. A partir dai, mostrando resultados expressivos deve evoluir naturalmente para Senior, tanto pela experiência adquirida quanto pela importância dentro de um equipe e ou de um projeto.


  • 03. Em toda a empresa, existe essa segmentação clara nas responsabilidade de cada um?
    • Não, nem sempre! Em algumas empresas o programador faz o papel do Analista e de Engenheiro de Software. Em outras, o Analista não faz nem o que deveria fazer, ou seja, muitas vezes, um profissional assume responsabilidades de outras funções e alguns não conseguem entregar (produzir) o que deveriam.


  • 04. É interessante atuar como free-lancer? Cite uma forma de ser descoberto?
    • Em alguns casos sim, o free-lancer permita que você compare suas habilidades frente a desafios de qualquer lugar do mundo e ainda complemente sua renda financeira. Importante sempre cumprir os compromissos assumidos em questões de tempo e qualidade.
    • Atualizando sempre o GitHub.


  • 05. O que é uma aceleradora? Qual a diferença de uma incubadora?
    • Incubadora apoiam micro e pequenas empresas de acordo com alguma diretiva governamental ou regional. Para isso, a empresa deve apresentar um Plano de Negócios que será avaliado pela Incubadora que tem uma série de critérios formais para incubar um projeto.
    • Aceleradora é focada não em uma necessidade prévia, mas sim em empresas que tenham o potencial para crescerem muito rápido e seu modelo de trabalho é buscar startups escaláveis (e não somente uma pequena empresa promissora). Interessante que a empresa tenha um Plano de Negócio mas a Aceleradora busca principalmente uma boa ideia.


  • 06. O que significa Viablidade de projeto?
    • Significa que o profissional pode assumir o desafio de avaliar técnica, econômica e operacionalmente um detereminado desenvolvimento.
    • Para isso tem que fazer uma análise dos riscos do projeto, exigir um pré-projeto delimitando tempo e custo. Neste contexto, tem que conhecer muito bem as habiliidades da equipe. No final, decidir se uma projeto vai ou não em frente. Imaginar a frustração da empresa ou das pessoas envolvidas se ele chegar a conclusão que não e a responsabilidade dele se disser que sim.


  • 07. É importante avaliar as Boas Práticas de uma determinada atividade? Cite uma consequência drástica que pode acontevcer?
    • É essencial! Entender as Boas Práticas mostra que estaremos avaliando a experiência de outros profissionais para tentarmos fazer o melhor projeto possível. Entendam que se errarmos na escolha de uma plataforma, de uma linguagem, de um banco ou de um sistema qualquer talvez não tenhamos como voltar atrás e se tivermos que "remendar", o custo, prazo e qualidade certamente serão afetados.
    • Escalabilidade,ou seja, quando o sistema crescer, aumentar nro de usuários, de transações, etc poderá degradar a performance, gerar bugs ou até ficar inviável seu uso.
    • Retrabalho: Outro fator crítico que pode onerar um sistema, pelo simples fato de ter que refazer algo que poderia ter sido feito de uma maneira melhor. Como comparação, imaginem o esforço e custo para trocar toda a fiação de um prédio depois de ter moradores pelo fato de que a bitola dos fios não suportam a carga elétrica atual.


  • 08. O que é Scrum e porque usá-lo?
    • Scrum é uma metodologia usada em desenvolvimento ágil que permite gestionar e planejar projetos de software. No Scrum. Para isso, o desenvolvimento é segmentado em Sprints (ciclos de desenvolvimento) onde um conjunto de atividades é executado.
    • Porque permite algumas condições, como:
      • Transparência: Todos podem estar cientes da evolução. Para isso existe um quadro de tarefas (Kanban) e um gráfico Burndown que compartilham informações
      • x'

Tecnologias e ferramentas - Linguagem de programação para Iphone Ipad Idevices Mac - ObjectVC para legado - Swift - Apple lançou recentemente em 2016 - Tablets usa Java com Android SDK - IDEs de dev: Apple => Xcode - Android => Ecipse - Android Studio - Gerenciamento de tarefa: Microsoft Project => recursos e pessoas, progresso - Coordenação de tarefas informal: Scrum => Trello e Asana pois stem plugins interessantes

Oportunidades: - Várias formas de conseguir oportunidades no exterior - Receita: tem um monte de lugar na Interner - é só seguir - Procuram profissionais diferenciados - Dev Web Java ou DotNet encontra em qquer lugar - Porque contratar um brasileiro que terei todo o trabalho em trazer de fora para fazer um serviço regular? - Normalmente procuram especialistas ou seja preencher o que eles não conseguiram encontrar - Precisa ter foco, dedicação e competência - Fora não existem tantos hachers assim, são todos normais sem diferença nenhuma - Existem vários sites de freelancers onde pode-se pegar trabalhos e garante a reputação - O empregador do exterior valoriza muito - Todo o resultado deve ser colocado no GitHub e deem manutenção - Git é muito valioso onde se vê o que a pessoa fez para a comunidade - Importante os contatos pessoais e profissionais => Façam muitos contatos

Dicas: - Não gostava de programar e não sabia o que queria ser - O estágio ajuda muito - O primeiro contato ajuda muito - Se esforcem tentando descobrir o que gostarm realmente - Quem tem contato mais cedo tem mais tempo para descobrir o que quer - Não tire a conclusão a primeira vista - Provavelmente irão mudar de opinião várias vezes - Salários: primeiro descobre o que quer para depois discutir remuneração - Quem foca em ser bom automaticamente será bem remunerado