Descrição da Vaga
Why is Software Engineering important for Nubank?
Nubank is a technology company, and software engineers form the bulk of our team. Also, our infrastructure is growing in sophistication, complexity, scale and particularly with respect to managing data for analysis and machine learning, robustness and observability. We are looking for engineers that can help with the challenges around provisioning and operating such architectures.
What are some examples of problems a Systems Engineer will solve?
Here at Nubank we treat infrastructure and operations as Software Engineering problems. It's expected of a Systems Engineer to have solid programming skills coupled with background on networks and operating systems. We consistently work with new technologies and thus value professionals who are open to learning new things, regardless of pre-existing comfort zones.
Some of the problems you'll encounter:
* Automate and incrementally improve databases and microservices provisioning;
* Scale systems efficiently through configuration tuning and/or major architectural changes;
* Orchestrate containers and maintain a highly available platform with Kubernetes
* Provision AWS resources in a programmatic manner through SDKs.
* Troubleshoot/debug performance issues and architectural bottlenecks;
* Cultivate a culture of observability and monitoring;
You will fit well if:
- You enjoy operating a dynamic, large scale, complex environment
- You are hungry and enjoy being constantly challenged to learn and do more
- You aren't afraid of crossing abstraction boundaries to go deep into the root cause of an issue
- You are results-oriented and enjoy shipping new features
- You embrace conflict of ideas and like to question the status quo
- You learn fast and easily adapt to changing situations and priorities
- You want to understand the big picture, to be held accountable and make a meaningful contribution with your work
- Infrastructure as code (e.g., CloudFormation, Ansible, Terraform)
- Container orchestration (Kubernetes, ECS, Docker Swarm, Mesos)
- Amazon Web Services (EC2, DynamoDB, ElastiCache, S3, RDS, ELB, ASG, IAM, CloudWatch, SNS, CloudTrail, Config)
- Networking and tooling on Linux/Unix-like environments (eBPF, bcc, flamegraphs, tcpdump, netstat, iperf, nmap, traceroute, iptables)
- Microservices environments and CI/CD pipelines (GoCD, CircleCI, TravisCI, Jenkins, CodePipeline)
- Large scale operations with Kafka and Zookeeper
- SQL / NoSQL databases (Datomic, DynamoDB, AWS Redshift, PostgreSQL)
- Monitoring and Culture of Observability (Prometheus, Grafana, NewRelic, InfluxDB, Librato)
- Proficiency in at least one high-level scripting language (e.g. Python, Ruby)
- Functional Programming Languages (Clojure, Scala, Haskell)
Don't worry if you don't know all of it! Having experience in some of it and being willing to learn is enough to apply.
You will have a meaningful chance to shape architecture, process, and culture while working with bleeding edge technologies. We believe in good team chemistry, enthusiasm for building things, and our surprising capacity to learn new things when we stay humble and open-minded. Good computer science skills and concepts as well as English language skills are helpful.
- Casual and international environment - you can wear shorts and havaianas in the office and work with people from different places in the world
- Cool office with a great location - we're accessible by bus and subway, situated in Pinheiros/Jardins and therefore close to many fun bars and restaurants
- Competitive compensation package and access to the company's Stock Option Plan based on performance
- Health, dental and life insurance
- Meal allowance (“vale refeição”)
- Flexibility to choose your own custom setup (computer, monitors, OS, etc.)