List of useful resources for aspiring Engineers
Engineering environment is a dynamic and constantly evolving domain, and the learning culture is deeply rooted at Vinted. To help you navigate through and thrive in your journey, here’s a list of descriptions and recommendations for you that align with your unique interests and aspirations within the engineering discipline.
About Git & GitHub:
Backend Engineering
To experiment with Ruby, you can use:
Syntax:
- Video on Ruby Programming and a Document on getting started with Rails
- Ruby in 20 minutes
- Understanding Ruby Blocks on medium.com
- Enumerable, where the most important are - map, each, each_with_object, find, filter, select
- Cheatsheet on pragtob.info
Ruby on Rails (RoR):
We recommend not to spend much effort on understanding how to build HTML using RoR. We will use RoR in API only mode, which means we will be building JSON responses only
- What is RoR
- MVC in RoR
- RoR folder structure cheat sheet (folder structure, commands)
- Generators
- Migrations
HTTP:
RESTful API’s:
- What is an API
- What is REST
- Resource naming guide
- JSON
- Extra: Ruby on Rails comes with API only option. Official documentation
SQL:
Testing:
Web Engineering
- To experiment with React, you can check out here
- HTML5
- CSS
- CSS BEM
- SASS - focus on SCSS syntax. Make sure you nail mixins, functions, variables, partials
- JavaScript fundamentals - don't spend too much time with things like proxies, Symbols. Focus on fundamentals, such as event loop, as well as ES6 features
React:
- We prefer functional components with hooks.
- If you're into video courses
- React docs, rewritten with hooks. Take away as much as you can. Make sure you're comfortable with refs, lifecycle, hooks, JSX
Clean code:
- We definitely recommend the book by Uncle Bob
- JavaScript clean code principles
Testing:
- Testing overview
- We use react-testing-library and Jest. Make sure you're able to write basic tests with those technologies
- Common Mistakes with Rect Testing Library
- Strive to understand fundamental concepts, such as mocking, spying
TypeScript:
- Make sure you get the basics and can write React with TypeScript comfortably. TypeScript is quite big, so there's no need to go too deep.
- Cheatsheet
- Official documents and the basics
Redux:
- It’s not a given that you will use Redux throughout the Engineering Academy, but we use it at Vinted, so the fundamental understanding is important
- Redux Essentials
Android Engineering
Dagger:
- Dagger2.2+ on Android on CodingWithMitch.com
- Using Dagger in your Android app - Kotlin
Kotlin coroutines:
Kotlin StateFlow, SharedFlow and Flow:
- Learn advanced coroutines with Kotlin Flow and LiveData
- Kotlin flows on Android
- StateFlow and SharedFlow
Application architecture guidelines:
Additional Android learnings:
If you know most of the above technologies, you can try doing codelabs from this list:
If you want more challenges and you know most of the technologies above, you can try to contribute to our open source libraries on GitHub: