Descubra O Seu Número De Anjo
Lições aprendidas como engenheiro de software de nível básico
Se você me perguntasse há um ano o que um engenheiro de software fazia, eu teria dito algo como “resolver problemas por meio de código”. É uma resposta simples que aponta como o trabalho que produzimos é avaliado. Para engenheiros em equipes orientadas a produtos, esses problemas podem incluir como implementar um novo recurso que os clientes têm pedido , ou como melhorar o desempenho dos recursos existentes.
Se você me fizer a mesma pergunta hoje, eu daria uma resposta um pouco diferente. Os engenheiros de software têm a tarefa de resolver os problemas certos por meio do código e, quando resolvidos de maneira eficaz, eles atingem as metas de negócios. Descobrir quais problemas resolver e como resolvê-los é a parte mais importante de ser um desenvolvedor, com os detalhes de implementação reais sendo secundários.
Meu caminho para a engenharia de software
Comecei a me interessar por programação depois de fazer um curso na Código de linha superior no verão antes do meu primeiro ano de faculdade. Consegui essa oportunidade através de um programa de preparação para faculdade e carreira do qual fiz parte chamado A rede de oportunidades .
Upperline Code foi minha primeira introdução à programação, e rapidamente percebi que estava interessado em aprender a codificar. Mais tarde naquele verão, recebi meu pacote de matrícula em Notre Dame e mudei da Faculdade de Artes e Letras para a Faculdade de Engenharia para poder me formar em Ciência da Computação (CS).
vendo 444 numerologia
Alguns dos meus cursos de CS favoritos foram Design/Análise de Algoritmos, Computação em Nuvem e Desafios de Programação. Os problemas eram interessantes e os professores eram ótimos em apresentar novas ideias e explicar conceitos.
Durante a graduação, eu sabia que queria trabalhar como engenheiro de software e usar as habilidades técnicas que adquiri. Felizmente, no verão anterior ao meu último ano, tive a oportunidade de estagiar como engenheiro de software na Cantado e programe em par com outros engenheiros para ajudar a fornecer recursos.
Minha experiência de estágio, juntamente com conversas estimulantes de meus professores, me deu confiança para não me contentar com nenhum outro cargo quando comecei a me candidatar a empregos. Depois de muito tempo no expediente, me formei em 2021 com um diploma de CS e aceitei uma oferta para ser um Engenheiro de Software Associado aqui na Sprout Social .
número 88 significado

Estabelecendo-se no Sprout Social
Parte de ser novo na função e novo na empresa foi ter que desenvolver habilidades gerais de engenharia de software e conhecimento de domínio específico do Sprout. Descobri que as tarefas que exigiam conhecimentos gerais de programação para serem compreendidas eram as mais fáceis de resolver. No entanto, tarefas que exigiam conhecimento da arquitetura do Sprout demoravam para eu resolver e tive que contar com a ajuda da minha equipe. Embora existam alguns problemas que você pode resolver lendo a documentação on-line, nem sempre é possível encontrar informações relevantes para o trabalho que você está fazendo – ser capaz de pedir orientação a outras pessoas é crucial.
Uma das primeiras coisas que me chamaram a atenção quando entrei no Sprout foi o quão colaborativo é o processo de desenvolvimento. Eu sabia que eram necessárias equipes inteiras para desenvolver recursos, mas não sabia como isso era na prática. Percebi rapidamente que o lançamento de um recurso bem-sucedido exigia que muitas pessoas em diferentes funções trabalhassem juntas - desde gerentes de produto definindo requisitos de projeto até designers criando maquetes e engenheiros implementando recursos. A colaboração não era algo opcional, mas uma necessidade para atingir os objetivos de nossa equipe.

Aprender a navegar pelas várias bases de código e construir um modelo mental de como os diferentes serviços interagiam entre si foi uma curva de aprendizado íngreme. Como o negócio principal do Sprout é software, sua arquitetura é fortemente moldada por seus requisitos de negócios. À medida que eu crescia, eu precisava estar ciente dos problemas de negócios que os desenvolvedores estavam tentando resolver e por que as decisões de arquitetura anteriores foram tomadas.
Inicialmente, fiquei um pouco intimidado com o fato de que as solicitações de pull exigiam revisões antes que pudessem ser mescladas na base de código. Entender que o objetivo principal das revisões de código é compartilhar conhecimento e manter padrões de código ajudou a mudar minha perspectiva.
Passar por revisões de código ajudou a aprimorar minhas habilidades técnicas e melhorar a qualidade de minhas solicitações de pull. Ter colegas me dando conselhos sobre o que mudar, me apresentando a novos padrões e me apontando para áreas relevantes da base de código tem sido muito útil. Ler as solicitações de pull de outros engenheiros também me deu uma visibilidade valiosa de outros serviços nos quais não estou trabalhando diretamente.
Suas experiências anteriores são importantes
Há uma ideia predominante de que, à medida que você entra em novos estágios na vida, suas experiências anteriores não importam mais. Uma vez que você entra na faculdade, suas experiências no ensino médio não importam mais. Uma vez que você entra no mercado de trabalho, suas experiências universitárias não importam mais.
significado espiritual de 10
Mas algo que muitas vezes é esquecido é que nossas experiências, conhecimentos e hábitos têm um efeito composto. Normalmente, só conseguimos alcançar coisas novas graças ao trabalho que fizemos antes. O conhecimento e as habilidades que adquiri anteriormente influenciaram muito a forma como abordo novos desafios como engenheiro de software de nível básico.
As aulas durante a graduação que tiveram o impacto mais direto no meu dia a dia no Sprout foram Desafios de Programação e Conceitos de Banco de Dados. O primeiro me ensinou a dividir grandes problemas em pedaços menores para resolvê-los com mais eficiência. Isso me ajudou a me tornar mais intencional em como eu estruturei meu código e melhorei a legibilidade do meu código.
Conceitos de banco de dados me ensinou conceitos fundamentais de banco de dados relacional e cobriu tópicos como design de esquema de banco de dados e SQL. Aprendi a escrever consultas, o que tem sido extremamente útil, pois frequentemente preciso consultar nossos bancos de dados para resolver problemas ou responder a perguntas.

As oportunidades que tive fora da sala de aula foram igualmente valiosas. Java não era uma linguagem abordada na maioria dos meus cursos, mas tive a oportunidade de trabalhar nela para um projeto de negócios que um dos meus professores estava liderando. Ganhei experiência prática escrevendo Java, trabalhando com bancos de dados MySQL e criando imagens Docker. Aprender Java foi especialmente útil, pois a maioria dos serviços do Sprout são escritos nele.
Há muitas outras habilidades que ganhei ao longo do meu tempo na graduação que considero garantidas, como navegar na linha de comando e entender os principais conceitos de programação. É um equívoco comum que, como a maioria dos tópicos abordados na graduação são de natureza teórica, eles não irão prepará-lo para carreiras de engenharia de software. No entanto, acredito que o oposto é verdadeiro – as habilidades que você aprende na graduação, mesmo que não sejam diretamente aplicáveis ao seu trabalho diário.
A Ciência da Computação é um campo extremamente amplo
O CS abrange uma variedade de especializações, como inteligência artificial, aprendizado de máquina e ciência de dados. A experiência que você ganha na graduação serve como conhecimento fundamental que pode lhe servir bem em uma variedade de funções de nível básico não exclusivas da engenharia de software. Fazer o salto de graduação para uma posição de tempo integral oferece uma oportunidade de explorar que tipo de função e especialidade é a mais adequada para você.
Se você está procurando iniciar uma carreira em engenharia de software , o Sprout é um ótimo lugar para começar.
o que significa 34
Compartilhe Com Os Seus Amigos: