I guess you’re here because you’ve just received the good news and you’ll be probably joining us shortly. Fantastic! Transparency is our main value here and we’re sure you still have questions regarding technologies and workflow we use so here’s a quick guide on what you’ll be learning at AGVision Software.
1) Team Communication with Slack
Before dwelling into the vast domain which is Software Development, you’ll first have to communicate efficiently in a team. This team might be right next to you, at home chillin’ or 1000km away.
This is why we use Slack. It’s the most efficient platform to manage our team’s: channels, search in entire archive of documents and messages, integrate 3rd party apps (deployments, error logs, reports), customize notifications (Do Not Disturb in your free time), set reminders and even make calls on every device.
2) Server Management on Ubuntu
We love the Linux CLI so that’s why you’ll be learning the basic operations but also how to securely and quickly connect (SSH) into a server and how to set up a firewall. We use Macs so you’ll have no problem working with the two operatings systems.
You’ll be learning how to spin Digital Ocean droplets (VPS) in under a minute, set up DNS and virtual hosts for multiple domains.
3) Virtualization with Vagrant
You have a grip of Linux and Mac but you can’t place all your projects in one computer! Each project uses different technologies and configurations so that’s why you’ll be learning how to create, suspend, destroy and automatically provision local virtual machines, containing specific Linux configurations.
4) Agile SCRUM Workflow
You’ll be going through the full software product lifecycle using Sprints, Backlogs, Stories, Epics, Prioritization, Story Points, Estimation Meetings and Review meetings. It sounds boring but do know there are Planning Poker cards involved.
5) System Version Control with Git
Git is a must have tool in every project. You’ll be learning how to branch off code, clone, commit, resolve conflicts and merge to development, staging and production servers.
6) PHP MVC architecture with Laravel
MVC OOP is the core architecture of any good application and Laravel 5.2 is the best PHP framework around. You’ll be learning concepts of: Secure Authentication, Validation, Caching, Events, Queues, Task Scheduling, Testing and Migrations.
7) REST API patterns
Your app has to communicate to other apps, that’s why you need to learn how to craft a proper API with nouns, HTTP verbs and Response codes.
8) Memory Caching with Redis
Efficiently store key-value high availability information needed for your app into memory.
9) SQL and NoSQL
Nothing fancy here. You’ll be using relational databases such as MySQL as well as NoSQL JSON document storage solutions such as MongoDB.
If you have a passion for Frontend Development you’ll be able to write modern ES6 apps using Angular2, Vue.js or React design patterns. There’s a lot to talk about so feel free to check these out for yourselves. We’ll be discussing advantages and disadvantages in using these technologies in real world applications.
11) Application Performance Monitoring and Profiling
12) Go beyond with Node.js (Optional)
If you’re a fast learner and an extremely dedicated individual, that probably means you’ll want to learn more technologies. That’s why we’ve also branched out to the MEAN stack.
HotBread, the main product which we’re financing and developing, is written in Node.js on Express.js and is planned for storing a huge collection of documents in MongoDB.
This is just a quick overview of our work so if this all sounds interesting to you then we’re sure we’re a good fit!