Especializações na carreira Front-End #32
Replies: 54 comments
-
Ta ai uma questão que não vi alguém definindo isso (se for possível dividir). |
Beta Was this translation helpful? Give feedback.
-
Com o advento de frameworks Js, ferramentas de scaffold, build, testes e Essa divisão entre design e programação, tem ficado cada vez mais nítida, e |
Beta Was this translation helpful? Give feedback.
-
Já vi as seguintes descrições:
Acho que é uma boa forma de definirmos o que fazemos. Trabalhamos sim no front-end do projeto, mas sempre com enfâse em áreas específicas. Dificilmente um mesmo profissional, em uma mesma empresa, irá trabalhar com front-end, back-end, banco de dados, mobile, UI, UX, SEO etc. Sempre existirá "enfâse" em algo, até porque front-end engloba muita coisa e acredito ser impossível dominar tudo. Aquele conceito de escrever HTML, CSS e controlar alguns poucos comportamentos com JavaScript existe apenas em algumas agências (conhecidas também como fábricas de sites), e a maioria dos profissionais têm uma passagem rápida por essas empresas. A partir do momento que começamos a trabalhar com sistemas, se torna necessário adquirirmos conhecimentos específicos (de acordo com a capacidade do profissional e necessidade da empresa). Bem, é essa minha visão, mas gostaria de lapidar ela com a opinião de outros profissionais mais experientes. |
Beta Was this translation helpful? Give feedback.
-
Olá pessoal! Discussão bem importante essa, até porque ultimamente temos visto essa divisão voltar nas conversas e contratações das empresas. Concordo com vocês todos. Existem frontends focados em cada um desses itens (UI, Framework, JavaScript, SVG, CMS, Layout / CSS). Pra mim, existem dois perfis que englobam esses grupos. O Front-end UI e o Front-end Engineer. O Front-end UI é focado em lidar com toda a parte visual da aplicação, e tem algumas obrigações, como:
Já o Front-end Engineer é responsável pela estrutura da aplicação. Suas responsabilidades se resumem a:
Tem mais coisas aí nessa lista, mas é um resumo de onde eu acho que cada um tem mais responsabilidades. O que vocês acham? |
Beta Was this translation helpful? Give feedback.
-
Então o que manja de tudo é full-stack? Pq eu posso dizer que 90% da minha experiência é com UI,mesmo eu não sendo formado em design e 30,40% em programação voltada a back. Manipulação de dados (MySQL,Oracle,MSSQL,Postgre) é front tb? Na epoca que eu comecei a mexer com sites (época de CGI E Perl e se fazia sites em newsletters), o front fazia todo o layout em iframe etable, e o back instalava os scripts e era isso. Depois veio PHP, com foruns e CMS modificados de foruns e o front (na epoca webmaster) comecou a mexer com códigos PHP Tb. a minha dúvida é pra você ser um front requisitado nas empresas, tanto daqui quanto de fora e ganhar um salário de no mínimo 8k mensais (eu não ganho isso ,mesmo trabalhando com web por hobby desde os 12 anos (14 anos) e profissionalmente desde os 21 ( 5 anos) ), você tem que ser especialista n oque faz (UI ou JS e integrações com back ou Fullstack) ? porque o meu perfil eu não sou especialista em UI,mas a facilidade com criação pra mim e a forma de me atualizar pra mim flui tudo mais natural. Quando mexo com ferramentas que envolvem programação, eu tb tenho facilidade só que menos. Preciso ler mais, praticar mais, tentar mais.. e acabo sendo ficando atrasado.. Eu tenho um perfil curioso e e um perfil que consegue aprender rápido e me virar sempre. Mas esse é o perfil Hoje eu tenho 26 anos e antes dos meus 30 eu queria ter experiencias fora do País. E estou meio focado nisso.. ai não sei que só com esse perfil de criação,prototipagem, e interação com back eu conseguiria (minha lógica em JS ainda é um pouco fraca,digamos intermediaria eu preciso melhorar nisso) , ou eu preciso aprender a montar APIS, todos essas siglas ai a fundo, aprender programação a fundo e não só "pra me virar" |
Beta Was this translation helpful? Give feedback.
-
Essas que o Eduardo comentou eu tenho uma noção,mas patino ainda preciso praticar mais ( do Engineer) -criar os testes de interface/unitários; Mas posso comentar pelas vagas que vejo mesmo... vamos lá algumas Essa da Chaordic: Advanced knowledge in Javascript and PHP is the top most requirement; Essas duas eu ficaria meio assim de fazer a entrevista. Nunca mexi com Unix. e PHP ter dominio em PHP eu nao seria Front,seria des. PHP. _Nice To Have Working knowledge in caching system like Varnish, Memcache etc. Social networking API knowledge or design Gridle, Git, Jenkins and Jira Na Monashees, tudo isso que eles postaram pra mim é coisa de back. o resto ou eu tenho noção ou dominio. Mas tem coisas que eu olho e vejo, isso ai é coisa pra infra ou back. Posso aprender, já li sobre essas coisas,mas nunca coloquei em pratica. -- na gringa -- comparando fe engineer x designer : Essa vaga aqui de FE Engineer só essa linha eu manjo Frontend: HTML5/AngularJS web apps, native Android apps ( e esse native Android apps se for p programar em Java esquece) Alias lá na gringa tudo é Engineer ou Senior Developer.. só ver.. |
Beta Was this translation helpful? Give feedback.
-
@rubenmarcus boa pergunta. Eu normalmente encaro quem diz ser full-stack como o cara que consegue jogar nos dois times, mas que tem conhecimentos mais avançados apenas em um. Digo isso porque, se forem ver, só de competências que um front-end precisa ter já é coisa pra caramba. De back-end então, nem se fala... Existem casos, e até conheço, de gente que consegue mandar muito bem nos dois mundos. Mas são exceções.
Na verdade não é manipular os dados na fonte, e sim, quando eles chegam pra você, no front. Essa lógica ultimamente está sendo compartilhada com o front. Trabalho com Ember, e muita lógica de dados está presente na aplicação, em JavaScript mesmo, antes de chegar no back-end.
Sobre valor de salário você precisa incluir aí o fator regional. No interior de SP, por exemplo, dificilmente você vai achar empresas pagando esse valor. Já em SP é mais tranquilo de achar. Ser especialista no que faz já te garante algo melhor. Entendendo um pouco do mundo de back-end, e aqui vai um adendo de não precisar se fullstack, pelo menos pra conseguir conversar sobre estrutura de dados e etc., acho que facilita demais o teu objetivo. O que tenho visto é que, as empresas tem valorizado demais perfis que não se prendem ao conhecimento de sua área. Por isso não é estranho você ver vagas requisitando PHP, Unix/Linux e etc. Agora, há exageros mesmo.. Varnish e Memcache são coisas de back-end sim. Mas se você notar, eles colocam isso no Nice to Have, já sabendo que não é normal pra um front ter esses skills. No fim das contas, as empresas e equipes avaliam seu perfil no sentido cultural. Principalmente se, caso precisem que você aprenda algo em outra área, que não seja a sua, você vai se virar bem ou vai encarar isso numa boa. Espero não ter escrito demais hehehe Virou textão 😱 😱 |
Beta Was this translation helpful? Give feedback.
-
Depois que client-side rendering entrou no jogo, FE tambem escreve algoritmo. Tento simplificar na minha cabeça (já que assino como frontend tb) que, BE trabalha nas coisas que tem a ver com o codebase e infra de server, linguagens de server, integrações, banco de dados, etc. FE é o cara que trabalha na apresentação e experiencia do usuario, qualquer coisa do lado cliente, seja desktop, mobile, geladeira ou gameboy. A distinção exata não existe na pratica, mas funciona bem se o time tiver boa comunicação e souber trabalhar em equipe aproveitando as potencias de cada um. A pegadinnha aqui é que o FE que for trabalhar num projeto Rails, tem que entender da infra do rails pra poder atuar no projeto, não necessariamente atuar no BE, mas entender é importante. O mesmo vale pro BE, que pode montar toda a API e ainda assim se ver escrevendo a autenticação do lado client tendo que aprender toda uma stack como angular ou react, por exemplo. |
Beta Was this translation helpful? Give feedback.
-
Concordo com o @eduardojmatos e com o @mikejavier : Para mim, o front-end é separado em duas categorias:
Mas penso em um front-end como um profissional flexível e capaz de se adequar aos objetivos do negócio no qual está inserido, já que, por ser uma denominação "nova" no mercado, ainda não está bem definido o que especificamente um profissional dessa área terá que fazer. Mas, trazendo essas denominações para nós, ou seja, para os objetivos profissionais de cada um, precisamos ter em mente qual desses caminhos queremos seguir e se aprofundar nele, não deixando de ter uma noção razoável de como as coisas funcionam do outro lado. Porém, independente de qual caminho seguir, HTML, CSS e JS são conhecimentos fundamentais. |
Beta Was this translation helpful? Give feedback.
-
Vocês diriam que design de interfaces faz parte do Front-end? Eu diria que sim, e imagino que existam designers que são muito bons no que fazem, só que não possuem um perfil técnico para codificar. Se design para web faz parte do universo Front-end, não daria para colocar todas aquelas habilidades de UI/UX citadas pelo @eduardojmatos como o foco do profissional de UI/UX, pois UI/UX inclui design. Não acho que criativos de design, obrigatoriamente devam ser bons codificadores de HTML e CSS, até acho que existem bons motivos para que não sejam. Pensando nos dois extremos, eu diria que em uma ponta temos o Engineer, que lida com regras de negócio, processos de build & deploy, segurança, etc.. e do outro lado, no extremo oposto, teríamos o designer web. De um lado, um profissional com perfil analítico, com requisitos de ser extremamente técnico no que faz. Do outro lado, um profissional criativo, que tem o papel de encantar e permitir uma boa comunicação da interface com o humano. No meio disso, ou quase no meio, encaixa-se o que eu chamaria de diagramador. O responsável por transcrever a interface gráfica em um código visual que seja adequado para o dispositivo / mecanismo. Cabe aqui, conhecimentos de SEO, carregamento seletivo, responsive e coisas mais. Tudo ligado a técnicas de CSS, HTML, e talvez JS (quando voltado para apresentação) Por isso enxergo 3 camadas (esquerda, centro e direita) onde a esquerda é mais criativa, a direita é mais técnica e o centro, precisa de um pouco dos dois. Acho importante criarmos essa distinção, para poder fazer eventos de Front-end que possam falar de design, diagramação e programação, de forma cada vez mais profunda e voltada para os vários perfis de profissionais que compreendem o Front, sem ficar frustrado por não dominar Matemática e Artes visuais ao mesmo tempo. |
Beta Was this translation helpful? Give feedback.
-
Então, eu não gosto muito da sigla de "full-stack". |
Beta Was this translation helpful? Give feedback.
-
Também concordo com partes do @eduardojmatos e concordo muito com o @elvisdetona. Eu por exemplo tenho usado a muito FrontEnd Designer, uma vez que meu foco não é o JS, mas tudo o que faço já deixo integrado à plataformas WordPress, Magento, CodeIgniter, C# e outros frameworks e linguagens. Até porque conheço mais de PHP do que de JavaScript à título de exemplo. Agora definir FrontEnd UI eu acho muito estranho, engineer também pelo que entendemos no Brasil de Engenheiro. |
Beta Was this translation helpful? Give feedback.
-
Bela discussão. Já tive altas conversas com o @deividmarques nesse sentido. Sou de total acordo com o @diogorodrigues, existe sim uma certa "separação" entre os vários tipos de profissionais no mercado, porque nossa área está cada vez mais ampla e o JavaScript hoje é também uma linguagem server-side, que em tese seria responsabilidade do Back-End, mas que acaba sendo colocado como skill para o Front-End (imagina o quanto a galera do RH não se confunde?). Mas no fim, varia de local para local. Pode ser que em determinada Startup o Desenvolvedor seja responsável por muito mais áreas enquanto em uma empresa ou agencia maior, o Desenvolvedor (agora sim) Front-End tenha a função de cuidar mais da parte de interface. Os tipos de profissionais também são muito variados. Mas acredito que uma boa base em JavaScript (puro ou frameworks) e ter total domínio de HTML/CSS é muito necessário. Claro que se você está dando manutenção em um projeto com tecnologia X sendo usada no Back-End (seja ela Node, .NET, Rails, PHP, não importa), você automaticamente terá que adequar ao código e a estrutura utilizada e até mesmo conseguir fazer coisas básicas nessas linguagens. |
Beta Was this translation helpful? Give feedback.
-
Boa galera, faz sentido o ponto de vocês. Eu só acho que ainda sim, existe esse perfil mais UI do que Engineer. Talvez o mercado venha "puxando" o front-end pra Engineer por conta da necessidade atual (frameworks mais avançados, interfaces mais ricas, etc.). Mas ainda assim tem aquele cara que veio do design e tem uma pegada muito mais de interface / visual do que de programação. Talvez nas startups esse cara não tenha muita vez, porque o perfil nesses casos exige mais conhecimentos em várias áreas. Sobre full-stack, ainda acredito no termo, e reitero que, mesmo sabendo da infra ao front, o cara sempre tem uma especialidade. Não acho que full-stack tenha que saber tudo sobre todas as coisas. Full-stack precisa entender de cada camada da aplicação, conseguir codar em todas elas e ter pelo menos uma em que ele mande muito bem. Se ele não manjar de pelo menos uma dessas áreas, aí entra naquele perfil, velho conhecido "webmaster", que fuçava em tudo, mas não tinha uma especialidade. Bem complexo esse tema e pode variar de região pra região, empresa pra empresa... |
Beta Was this translation helpful? Give feedback.
-
@juniorconte Caraca meu, vc descreveu exatamente o que estou sentindo por esses dias. Essa "crise existencial" e confesso que tem tirado meu sono. Que ótima issue essa. Eu concordo plenamente com o que o @eduardojmatos citou: Para mim, o front-end é separado em duas categorias:
Sempre acreditei e dialoguei muito com o @lfeh sobre esses 2 perfis que o mercado precisa ter pra explorar ao máximo o que esses 2 perfis podem oferecer. Compreendo que nem sempre as empresas podem pagar e ter ambos os perfis nos projetos e digo infelizmente. Aprender outras linguagens, programar, é muito melhor e "magicamente" você é visto diferente por algumas pessoas da área. #desabafo Como citei no início do texto, eu estava bem pensativo na questão do perfil, pois sempre vejo no mercado de trabalho a busca por perfil de Engineer e não me via em muitas descrições da vaga, e com isso me me cobrei mais a estudar, mesmo tecnologias com a qual não trabalho, porém se estudasse mais o que realmente me proponho mais a fazer com mais vontade acredito que seria muito mais produtivo. Eu sempre me pergunto até quando existirá esses 2 perfis no mercado brasileiro? |
Beta Was this translation helpful? Give feedback.
-
Stack Overflow Developer ahahha |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos, salvei sua definição de "front-end engineer", para uma consulta posterior. |
Beta Was this translation helpful? Give feedback.
-
"Front-end UI" é um termo bem estranho, pois ele não tem um agente ("Developer", "Engineer", "Designer"). |
Beta Was this translation helpful? Give feedback.
-
Fiquei bastante inspirada com essa discussão e resolvi escrever sobre o assunto, em detalhes, com base nas minhas visões: |
Beta Was this translation helpful? Give feedback.
-
@diessica mandou bem demais! Eu entendi seu ponto sobre ser estranho o termo Front-end UI. No fundo, o que o Brad Frost nomeou faz um pouco mais de sentido. Gostei tbm da sua sugestão de "Front-end UI Developer". Aplaudi de pé aqui quando você cita que, normalmente, as empresas não sabem que tipo de profissional elas querem. Isso causa frustração, tanto para o profissional como pra empresa, pois ambos esperavam algo diferente. Enfim, belo post, daqueles pra passar pra frente quando alguém perguntar sobre o assunto <3 <3 <3 |
Beta Was this translation helpful? Give feedback.
-
Muito bom mesmo @diessica! Esse post merece ir para o README do repositório de vagas, como referência 👏 👏 |
Beta Was this translation helpful? Give feedback.
-
@eduardojmatos @fdaciuk Obrigada, pessoal! Estava há tempos para escrever um artigo reunindo meus pensamentos sobre isso. É o meu ponto de vista, então fico bastante feliz que esteja compatível com o de vocês! No fim, a gente tenta padronizar as coisas, rotular e tal, mas isso é fantasioso. Desde que a gente se agarre aos nossos interesses, tem espaço sim no mercado. :) |
Beta Was this translation helpful? Give feedback.
-
@diessica Fantastico seu artigo. 👏 👏 👏 Não tinha como concordar mais, quando me perguntarem minha opinião sobre o assunto vou encaminhar o seu texto. Em tempo, te coloquei nessa feed-list que mantenho -> https://github.com/LFeh/feed-list/blob/master/README.md |
Beta Was this translation helpful? Give feedback.
-
@diessica segundo seu artigo eu sou um |
Beta Was this translation helpful? Give feedback.
-
Entrando nessa pauta, de ser Front end UI e Font end enginner, podemos separar alguma linguagem de programação separadas em seguintes áreas como exemplo, Front end ui - Javascript e Enginner com Php server side? |
Beta Was this translation helpful? Give feedback.
-
@Marcelosilva10 eu acho que não cara. Uma coisa é a conversa sobre ser FullStack (discussão #135) e outra é dominar conhecimentos sobre front-end. O Frontend UI (citado pela @diessica) é mais voltado a áreas de conhecimento de interface, experiência de usuário e design. O Engineer em conhecimentos de programação, estrutura da aplicação e algoritmos. |
Beta Was this translation helpful? Give feedback.
-
qual a diferença do engenheiro e do desenvolvedor frontend?O que é bom estudar?Pois estudo tais linguagens,etc e vou procurar vagas vejo outras que não conhecia. |
Beta Was this translation helpful? Give feedback.
-
Estou procurando sobre uma Pós focada mais em Desenvolvimento Front-end e encontrei essa da IGT
Alguém conhece ou tem informações sobre essa Pós, parece ser bem introdutória mas já é um grito no escuro ao menos. Sabendo que se trata de um MBA o foco é 100% mercado então espero encontrar ali pessoas com experiências práticas, durante minha graduação percebi que somente professor que tinha vivido no mercado conseguiam conduzir a disciplina para um modelo mais real e não ficar na alcunhas dos livros. Acredito que para uma pós, ainda mais especifica para em front-end, adoraria ver mais padrões, arquitetura, modelos de implementação além de abordar mais sobre reatividade, testes de todos os tipos possíveis, escalabilidade e performance além de acessibilidade. Abordar de es5 (legado) para cima além de alguns boilerplates. Tanto o livro do Eric e Martin Fowler parece cobrir bastante isso:
Acho que um curso com essa visão é difícil pois os professores dessa área na area acadêmica ainda não existem, talvez seria um apanhado de vários profissionais que temos aqui no forum que se juntassem para montar esse curso e disseminar essas disciplinas seria algo bem impactante para o mercado. É impossível não entrar nos frameworks pois abordamos o que o mercado está utilizando então acredito que ainda assim teria que ter uma disciplina focada para isso criando um webapp com Angular, React, Vue e Ember. Um estudo minucioso sobre o que esses caras cobrem e suas principais diferenças afinal se existe um fw por mês todos querem cobrir uma dor ou um problema o que muda o conceito é a adesão da comunidade. Ainda acho que seria válido adotar uma disciplina para tratar de cenários caóticos, bugs, código legado enfim vamos fazer engenharia reversa e melhorar a qualidade de vida do software. Enfim é isso, a busca pelo conhecimento não cessa nunca. |
Beta Was this translation helpful? Give feedback.
-
Ressuscitando de novo: https://desenvolvimentoparaweb.com/miscelanea/a-grande-divisao-front-end/ |
Beta Was this translation helpful? Give feedback.
-
Galera, estou passando por um tipo de "crise existencial" rsrs, e talvez vocês já tenham pensado sobre ou talvez comecem a pensar também.
Alguns profissionais se denominam Back-enders, outros Sysadmins, dai surgiram os DevOps que manjam dos paranauê de back e sys, e por fim, os Full-stacks, que além de DevOps, também sacam de front. De certa forma, isso está até bem claro, o problema, é que o Front-end em sí, se tornou algo muito amplo. Se dissermos que Front-end, na verdade é Client-side, teríamos até mobile fazendo parte da treta, mas nem vou considerar isso. Minha grande inquietação, está no fato de designers, diagramadores (HTML + CSS) e programadores JS (digo programadores que lidam com Apps com suas 4 ou 5 mil linhas de JS), acabam fazendo parte do mesmo bolo. Eu não acho isso ruim, apenas acho confuso, e muitas vezes geram aquelas discussões superficiais. Pois mesmo na roda de Front-ends, tem os caras que manjam quase nada de CSS e os caras que não tem idéia do que é MVC ou MVW*
Eu por ex, estou longe de ser um designer, conheço razoavelmente HTML e CSS, mas passo 90% de meu tempo escrevendo Apps com AngularJs.
Minha dúvida é se da pra chamar toda essa galera, de "os caras do front", ou se existem discussões mais filosóficas que tentam dividir melhor nossos perfis.
[]'s
Beta Was this translation helpful? Give feedback.
All reactions