Howdy, we want to start a partnership and a longtime friendship!
"OBS we only look for individual freelancers."
We are looking for a skilled fullstack-developer, who can join an existing project and go on with work on improving its features, current support, and further development. You will start with part-time involvement, so we can see how we fit you and how you fit us, and if everything goes right, we will proceed full time.
Don't be frightened of the fact, that we have already set up and running system - first of all, it's made with the best practices of web applications development (not all of them, but the main ones, that helps to avoid bad architecture and spaghetti code), we have good documentation that answers the question "what this microservice does business-wise" and also we got your team-mate developers, who are willing to explain everything, that is not very clear. When you reply to us please start with the *high building in Paris*: Message.. Just so we can filter out the autoresponders easily. Thanks.
Our architecture is complicated, containing several microservices (made with PHP and NodeJS), that communicate with each other via HTTP REST API and via RabbitMQ. So you should have enough experience to handle that kind of setup.
Technologies, that are used in our work on a regular basis. We are looking for a developer, that is fluent in these:
-- PHP 7. Most of our microservices are created on PHP7 platform, so you need to have a good experience in PHP to be able to support them and not have questions on what this or that means. We utilize best practices for object-oriented programming and SOLID design principles.
-- Laravel 5. This is our main framework for developing PHP backend. You need to have knowledge on how things are arranged there: MVC, Jobs, Events/Listeners, Eloquent, Console Commands
-- MySQL. Advanced knowledge of MySQL is not required, but you should be able to build the database architecture according to the needs of specific service and be able to create queries both with raw MySQL and using ORM
-- VueJS 2. We work with the frontend using VueJS, advanced knowledge of this framework needed. Besides VueJS you should be experienced in the following add-on technologies: Vuex, Vue Router, Server-sider rendering.
-- NodeJS. Our VueJS microservices are served by NodeJS. We also have several backend microservices, made with NodeJS. You should be able to support these applications.
-- HTML5/CSS3. You should be able to do some small template fixes by yourself, like placing an extra button on mobile resolution or add several fields into admin panel form.
-- Git. All the work is done via Git, and also the deploy is made using Git. You need to know what main Git commands stand for and how to use them.
Also it would be nice, if you had some knowledge of the technologies below. They are less frequent in our project, but still are used:
-- RabbitMQ. You don't need to be aware how to set up complicated queues, but you should be able to support our current setup (which is pretty easy and straightforward)
-- TypeScript. Some NodeJS microservices are made with TypeScript. You should be able to work with the basic features of TypeScript, nothing advanced is used.
-- MongoDB. We use it in several microservices to store data, that doesn't have a specific structure. Most of communication with database is done via ORM, so advanced knowledge of MongoDB is not required, but you should be aware of what it is in general.
-- Webpack. Some basic knowledge of webpack is needed. We got everything set up there (different config for client and server, images/styles processing, optimisation), but you should just not panic when being the configuration file.
-- Unix command line. Being able to execute some simple unix commands by instruction, like launching bash script or creating/removing files/directories.
-- Basic understanding of asynchronous architecture
The project that you will join is a comparison site fo