training-center / forum

Dúvidas, dicas e sugestões gerais sobre carreira na área de desenvolvimento de software
MIT License
238 stars 10 forks source link

Por onde começar, mobile, front-end, back-end? #10

Closed vsanrocha closed 1 year ago

vsanrocha commented 6 years ago

Pessoas, estou estudando para entrar na área de dev e curto muito mobile, fiz dois cursos no Udacity e agora estou fazendo o freecodecamp. Vocês que tem experiencia, o que vocês me indicam, para conseguir entrar mais rápido, focar em mobile ou é mais fácil entrar como front-end e depois migrar para a mobile?

danilosilvadev commented 6 years ago

Por experiência própria eu comecei tentando aprender java para android. E isso não foi muito bom para mim. Recomendo vc aprender o básico de frontend e a lógica de js ou outra linguagem(a fim de aprender lógica antes de partir pra mobile). Ae depois partir pra mobile. Bom pelo, menos comigo isso fez mais sentido. Estava sempre confuso e sobrecarregado antes de fazer isso. hehe

Programar para mobile é um passo intermediário para avançado, nunca recomendaria isso para iniciantes. Depois de pelo menos 1 ano programando talvez de pra começar e olhe lá, pelo menos isso q eu achei.

woliveiras commented 6 years ago

@vsanrocha acho que, antes de tudo, você precisa procurar um foco.

Se você deseja trabalhar com mobile, foque em mobile, se é em backend, foque em backend. Migrar de uma área para outra não é tão simples depois de algum tempo gasto em estudo.

Nenhuma dessas áreas é ponto de entrada para outra, afinal todas elas tem especialistas (front/back/mobile junior, pleno, senior, especialista).

Se você curte muito mobile, o ideal é você focar em mobile, estudar muito, criar uns projetos pessoais pra praticar (ou mesmo se envolver em freelas) e montar uma espécie de portfólio ou pegar experiência pra depois tentar arrumar emprego na área ou mesmo seguir como consultor tendo sua própria empresa de dev (sim, é possível).

Não concordo com o @danilosilvadev sobre mobile ser um estágio da carreira, afinal ou você é dev mobile ou é front ou é backend ou trabalha com embarcados ou é analista de sistemas, ou, ou, ou...

São raras as empresas onde você vai ser fullstack a nível business onde tem que fazer, além do webservice, banco de dados e front, criar o aplicativo deles.

São áreas muito distintas e cheias de nuances que, se você achar que uma é complementar a outra, você se perde.

Eu trabalho como front, já estudei Android, mas não foi pra ser um front melhor, foi por simples curiosidade.

Também já estudei (e gosto muito) backend e isso sim faz diferença na minha carreira, porém se eu quiser ser fullstack e não ser frontend em específico.

Pra minha carreira, de nada importa eu chegar num empregador e falar pra ele que eu sei o básico de Android se eu não for especialista no que eu faço, que é HTML, CSS e JavaScript no navegador.

filipi777 commented 6 years ago

Concordo com o @woliveiras, já patinei bastante na minha carreira sem saber onde eu seria mais bem sucedido ou pior, qual "área" pagaria mais. No final das contas, o que conta mais é a satisfação de escrever código que te satisfaça como profissional.

Hoje eu enxergo que existe mercado para todas as áreas e você precisa se encaixar onde faz mais sentido para você.

Se seu interesse são por servidores, APIs, banco de dados, proxies e etc, recomendo você estudar a fundo backend, encontre alguma linguagem que você se identifique com o paradigma e com a sintaxe e se aprofunde em como fazer as coisas nela, vou deixar alguns exemplos de linguagem que é porta de entrada para muita gente: PHP, Python e NodeJS.

Se você tem interesse por interfaces, sejam elas de softwares ou de sites, ecommerces, portais e etc, estude frontend, mergulhe profundamente no conceito, na arquitetura e na comunidade viva que a galera de frontend faz questão de manter, participe de meetups e conheça pessoas, o caminho mais eficaz para entrar no mercado de frontend é conhecer alguns dos frameworks mais "modernos" da atualidade: ReactJS, AngularJS e VueJS, mas antes disso, estude a fundo como o Javascript funciona, essa é a principal linguagem de quem trabalha com frontend, é a linguagem que os nossos navegadores conseguem interpretar. Não deixe de estudar CSS (linguagem de estilo) e HTML (linguagem de marcação).

Agora se você é uma pessoa que curtem programar para celular, desenvolver apps para devices iOS ou Android, voce precisa estudar Java (Android) ou Swift (iOS), essas são linguagens específicas para que seu telefone consiga interpretar uma interface, essas linguagens também são as que consomem as APIs nativas do seu telefone (localização, contatos, camera, etc).

Se isso mais te confundiu do que ajudou, me desculpe, o tema é complexo mesmo, e talvez voce tenha que voltar um pouco e estudar lógica de programação, pois independente do que voce escolher ser na sua carreira, a lógica é a base para todas as coisas que serão feitas na internet.

danilosilvadev commented 6 years ago

Esqueci de falar uma coisa. Uma coisa que me fez mudar o foco de mobile para web foi que mobile tinha poucas vagas, e as q tinham pediam sempre 2 anos de experiência com desenvolvimento. Nunca vi uma vaga android jr(pode até ter), sempre tinha q ter bastante experiência e de preferência q tbm soubesse a parte web como o framework spring. Com SWIFT já não sei, mas ae IOS é mais raro ter vaga.

mblodorn commented 6 years ago

Eu particularmente estudaria javascript para front-end.

Hoje em dia sou desenvolvedor full-stack, escrevo aplicativos com react para a web, react-native para mobile e nodejs para back-end e todas essas tecnologias que eu citei utilizam javascript 👯

vsanrocha commented 6 years ago

comprei o curso JavaScript Ninja, muito obrigado pelas dicas.

amadeu01 commented 6 years ago

E aí pessoal.

Vou falar um pouco da minha experiencia. Não sei se vai responder muito a pergunta.

Quando começei a programar de fato, tipo de forma mais séria. Não estava pensando em trabalhar para alguém, estava pensando em ajudar alguém com o que eu sei. Não sabia como eu ia ajudar. Mas, queria ajudar alguém.

Bem, comecei estudando iOS. Tive muita sorte de participar do BEPiD (programada para desenvolvedores iOS). Eu estudei iOS a fundo. E, o maior problema que tinhamos era não conhecer outras tecnologias para fazer o backend, então, como queriamos fazer algo mais rápido. Usavamos coisas como Parse, ou Firebase (na epoca, acho que só tinha o Parse de bom). Basicamente, tinhamos um backend pronto e podiamos focar no app 😄 .

Bem, se eu fosse falar um por onde começar, eu iria dizer comece programando... hahahaah parece estranho, mas hoje depois te ter passado por iOS, Android, Node, Django, Laravel... O que mais aprendi é que tudo se parece em algum ponto, se você isola o framework que está usando, no final, você está programando para fazer o que vai resolver o seu problema idependente do framework. Então, depois o que você tem que fazer é aprender como tirar proveito do framework que você tá usando (iOS, Android SDK, Electron, Laravel, Django).

O que quero dizer é que todas as areas tem um ponto em comum e saindo desse ponto você consegue ir para qualquer sub area.

Eu sei que pode acontecer de você só mexer no app e sei lá só mexer na UI do app. Ou, só no backend do app. Mas, a base de você mexer no SQLite do App é uma base bem parecida de mexer com SQLite em um app usando Electron para um Desktop. Então, o foco do framework que você vai acabar usando é mais algo que a vida vai acabar te levando, vejo nesse ponto.

No final, o que quero dizer é tipo, escolhe uma linguagem para conseguir programar nela e aprende a se virar com com ela sem se preocupar com o framework de inicio. Esse seria o conselho que daria para minha pessoa se pudesse.