Dev
Enginer
Habilidades

Software Engineer

O que é um Engenheiro de Software?

A engenharia de software é o processo de analisar as necessidades do usuário e projetar, construir e testar aplicativos de usuário final que satisfaçam essas necessidades por meio do uso de linguagens de programação de software. É a aplicação de princípios de engenharia ao desenvolvimento de software.

Development Skills

Development Methodologies
  • Waterfall
  • Scrum
  • Kanban
Develpment Principles
  • Kiss
  • Yagni
  • Dry
Tests
  • TDD
  • DDD
  • BDD
Programming Paradigms
  • Imperative
  • Object Oriented
  • Procedural
  • Functional
  • Declarative
Software Architecture Types
  • Monolitic
  • Serverless
  • SOA
  • Microservices
Data Structure and Algorithms
  • Arrays
  • Lists
  • Trees
  • Hashtables
  • Stacks
  • Queues
  • Sort
  • Binary Search
  • Recursion
  • Heaps
Design Patterns
  • Singleton
  • Builder
  • Factory
  • Strategy
  • Observer
  • Facade
  • Decorator
  • Proxy
  • MVC
  • Circuit Broker
  • Event Sourcing
  • CQRS
  • Microservices Patterns
Languages and Frameworks
  • Javascript
  • Typescript
  • NodeJs
  • Express
  • React
  • NextJs
  • Rust
  • Shellscript
  • Java (spring)
  • GO
  • Svlete
  • Vue
Testing
  • Unit tests
  • Integrations tests
  • Load testing
  • Performance testing
  • Gherkin Language
  • Cucumber
Databases
  • PostgresSQL
  • MySQL
  • Oracle
  • MongoDB
  • DynamoDB
Search Engines
  • Elastic Search
  • Solr
Caching Machanisms
  • Redis
  • CDN
  • Memcached
  • Client side
Message Broakers
  • Apache Kafka
  • RabitMQ
APIs
  • REST
  • GraphQL
  • Swagger
  • SOAP
  • gRPC
  • tRPC
  • Gateways
  • OpenAI
  • Hateoas
Authetication
  • JWT
  • OAuth
  • SAML
  • OpenID
Web Security
  • CORS
  • Output encoding

Infrastructure Skills

Service Models
  • IaaS
  • PaaS
  • SaaS
Source Control
  • Git
  • GitFlow
Build Tools
  • Webpack
  • Ant
  • Maven
  • Gradle
  • Vite
  • Parcel
  • Rollup
Containarization
  • Docker
Orchestration
  • Kubernetes
Cloud Providers
  • AWS
  • Azure
  • GCP
Linux
  • Arch Linux
  • OpenSuse
  • CentOS

Soft Skills

  • Ethical principles
  • Confidence
  • Collaboration
  • Active learning and learning strategies
  • Resilience, stress tolerance and flexibility
  • Communication
  • Organization and time management
  • Emotional intelligence
  • Team work
  • Motivation
  • Positive attitude
  • Adaptability
  • Analytical thinking and innovation
  • Problem solving
  • Critical thinking
  • Creativity
  • Leadership
  • Logical reasoning
  • Persuasion and Influence

Hard Skills

  • Cloud computing
  • Statistical Analysis and Data Mining
  • Artificial Inteligence
  • Smart Contract