Aprendendo C# e .NET na faculdade
Tudo começou em 2013, quando eu tinha 19 anos e iniciei o meu curso de Ciência da Computação. Foi nesse período que aprendi os fundamentos da orientação a objetos com Java e, em seguida, explorei o básico de C# com .NET.
Como parte desse processo, criei uma aplicação desktop para gerenciar uma startup de tecnologia, utilizando a tecnologia Windows Forms - que foi lançada em 2002. Mesmo após todos esses anos, considero que o Windows Forms é a forma mais fácil e rápida de criar uma interface de usuário. Basta escolher o componente, arrastá-lo para a tela, clicar duas vezes no botão e definir o que deve acontecer. E o melhor de tudo é que essa tecnologia é suportada até os dias de hoje.
Foi nessa época que percebi como uma IDE, como o Visual Studio, pode fazer total diferença na produtividade do programador. Até hoje, o Visual Studio é a IDE mais utilizada no mundo.
Estagio com ASP.NET
Em 2015, com 21 anos, iniciei meu primeiro estágio como desenvolvedor web, utilizando ASP.NET MVC. Foi nesse período que conheci a estrutura Model-View-Controller, trabalhei em um projeto de grande porte e aprendi a usar o controle de versão GIT, além de explorar o uso de JavaScript e JQuery para a construção de telas.
Lembro-me bem do meu primeiro commit, registrado até hoje: "Remover ícone de aumentar/diminuir tamanho do texto." (28/07/2015).
Na mesma época, desenvolvi aplicativos móveis utilizando Xamarin (atualmente conhecido como MAUI.NET), tendo todos os aplicativos publicados na Google Play. Essa tecnologia me permitiu criar aplicativos para Android e iOS usando código C#.
No meu último ano de faculdade, durante o meu terceiro ano de iniciação científica, aprofundei-me em Node.js, o que me permitiu entender melhor o funcionamento de HTTP/HTTPS, APIs REST e um pouco de Ruby on Rails, contribuindo para uma melhor compreensão do MVC.
Meu primeiro emprego full-time como desenvolvedor Web
Em 2017, aos 23 anos, comecei a trabalhar em um emprego full-time onde utilizei ASP.NET e ASP.NET Boilerplate com AngularJS. O Boilerplate me ensinou muitas coisas que usei ao longo de toda a minha carreira, como Domain Driven Design, Dependency Injection, Audit Logging, Localization, Repository Pattern, Background Task Scheduler, Object Mapping com AutoMapper e Multi-Tenancy.
Durante esse período, aprendi a usar o ORM Entity Framework, utilizando técnicas como Code First, Migrations, Change Tracker API e o importante LINQ.
Em meu segundo ano como desenvolvedor full-time, comecei a aprender ASP.NET Core para a construção de WebAPI e front-end em Vue.js. Esse período foi marcado por toda a revolução que ocorreu com o .NET Core se tornando multi-plataforma e totalmente open-source.
No meu terceiro ano como desenvolvedor full-time, me tornei desenvolvedor pleno e comecei a ensinar e oferecer mini cursos para outros desenvolvedores. Percebi que ensinar é a melhor forma de aprender e me aprofundei em conceitos como Clean Code, SOLID e Design Patterns (Creational, Structural e Behavioral).
No meu quarto ano, fui promovido a coordenador do time de desenvolvimento e apresentei uma palestra sobre ASP.NET em outra empresa. Também iniciei minha pós-graduação em Ciência de Dados Aplicada, onde pude utilizar Python, Pandas e Tensorflow por cerca de dois anos, o que me ajudou a aprender a usar ML.NET.
Desenvolvedor em uma Startup
Durante a minha experiência profissional, tive a oportunidade de me aprofundar em diversas áreas, como SQL avançado com PostgreSQL e plataformas em nuvem, incluindo AWS e Heroku. Realizei configurações e deploy na AWS, além de aprender a lidar com atendimento ao cliente.
Também pude explorar áreas como monitoramento, logging e tracing, para garantir o pleno funcionamento do software desenvolvido. Outro ponto importante foi aplicar técnicas de teste automatizado.
Professor de .NET
Em 2021, aos 27 anos, comecei a trabalhar como professor freelancer de .NET. Esse momento foi crucial para estruturar todo meu conhecimento e experiência em um curso linear. Percebi as lacunas que tinha e as coisas que achava que sabia, mas não dominava completamente. Isso me ajudou a aprofundar ainda mais meu conhecimento e a estruturá-lo de forma mais sólida.
No ano seguinte, comecei outro trabalho freelancer usando ASP.NET MVC para construir as telas com Razor, uma template engine que eu não usava há muito tempo. No meu trabalho anterior, todos os projetos que trabalhei usavam basicamente ASP.NET WebAPI no back-end e Vuejs no front-end. Isso me fez perceber o quanto o Razor é poderoso e como ele pode eliminar grande parte do código duplicado que era necessário quando trabalhava em projetos separados.
Não há nada mais produtivo para construir CRUDs do que o ASP.NET MVC e, como este era um projeto solo, ajudou muito a entregar novas funcionalidades em pouco tempo.
Trabalhando em múltiplos projetos ASP.NET
Recentemente, comecei um projeto em conjunto com um sócio utilizando ASP.NET Blazor, mais especificamente Blazor Server. Essa experiência me permitiu ver novas possibilidades do ASP.NET e aprofundar meu aprendizado em Client-side .NET.
O Blazor revolucionou o ASP.NET, permitindo a criação de Single Page Applications (SPAs) no estilo de frameworks como ReactJS, VueJS e Angular, porém, utilizando C# e .NET. Essa tecnologia tem um grande potencial para a criação de aplicações web modernas, escaláveis e seguras, e estou animado para continuar a explorá-la em meus futuros projetos.
Conclusão
Esse é o momento da minha vida em que mais estou animado para estudar .NET, já que ele está mais novo e revolucionário do que quando comecei a programar. Atualmente, estou trabalhando em diferentes projetos com o ASP.NET, incluindo projetos ASP.NET Web API no meu trabalho, projetos ASP.NET MVC como freelancer e um projeto pessoal em Blazor. A diversidade desses projetos me permitiu ver o ASP.NET por diferentes ângulos, ampliando meu conhecimento e habilidades em relação ao framework.
Top comments (3)
Simplesmente incrível, acho muito válido esse compartilhamento de experiência, principalmente para guiar e orientar pessoas que estão entrando na área!
Muito obrigado pelo seu tempo e pelo seu feedback! Sem dúvida, para aqueles que estão iniciando agora, é extremamente útil e valioso.
Legal sua experiência, eu estou a 7 anos no .NET e realmente é uma plataforma fantástica. Atualmente estou aprendendo Maui espero muito que essa tecnologia vingue no futuro. Blazor e Razor são extremamente úteis, uma pena que muitas empresas desconhecem e preferem investir em Angular, React e Vue, mas os poucos isso vai mudando