Pineapple Team In Search Of Smart Clouders

We thought that you might be interested in a couple of software engineering positions opened in Bucharest, Romania. We will start sharing them on the blog.

In a previous article, we mentioned 4PSA’s Pineapple crazy team. Pineapple is the code name for a new product; the kind of stuff everyone needs, but not many know how it’s going to look like.

We Need Fresh Meat!

Seriously, we need very good developers to join us in this race. For the Pineapple project, performance and scalability are obviously very important. What may not be just as obvious is that we are building a system that is used by software developers – they are our “customers”. This requires exceptional quality and best design, as we want to keep the code we write to a minimum. The strategic view is to standardize mechanisms in a way that allows developers to build their own stuff without the intervention of the Pineapple core team.
Just to give you an example, our REST service model is extensible; this means that third-party developers can add their own code handling requests and working with internal resources.  This sounds nice in theory, but as you can imagine, building a service that allows third parties to execute code in a controlled environment is no trivial job. There are many security problems that need to be addressed on design level, whereas implementation is an equally tough process.

What You Should Know

Most software developer positions mention at least a programming language that you should master. The nice thing about our SOA architecture is that it’s more important to code properly than to code in a specific programming language. Also, you must have very good knowledge of algorithms and data structures and last, but not least, you must be smart.
So, if you know C/C++, Java, PHP, JavaScript, Ruby or Python, you are good. At this point, you must be wondering what JavaScript has to do with a team handling back-end stuff. Well, in the layer processing customer requests, we are using Node.JS event based programming. Actually, we are also using PHP for it and we perform request routing on the Distribution Layer. The Worker Layer is able to work with Ruby, Python, C/C++, Java.

What You’ll Be Doing

Suppose you join the team – the first thing you need to do is learn about the general architecture of the system. This includes the back-end layers – Distribution, Interfacing, Worker, Storage, Database, and Management, as well as specifics such as communication inside the infrastructure. The good thing is that we are using a pretty standard architecture for heavily scalable infrastructures. Therefore, if you already have some experience in such environments, you will learn to master it rapidly. Documentation is fully available on our internal Wiki, so you can go through the theoretical knowledge at a fast pace. Also, worth mentioning is that you will be expected to learn AMQP protocol, the proper way to work with non-SQL databases, data replication and localization, real-time communication, caching systems, object level storage and last, but not least, to become quite knowledgeable about the cloud. We are going to teach you all these things and more 🙂

As soon as you get familiar with all that, you will be assigned on one of the following workflows:

  • REST service implementation
  • Internal SDK engine for third-party developers
  • Design and implementation of test suites for services (measuring performance, scalability and end-user perception)
  • Client libraries for services in the programming languages you master
  • JSON related tools for Resource Schema implementation
  • High-performance workers for data processing, as we distribute any heavily bound or non-deterministic task to the Worker Layer

Experience?

We do not require a particular level of experience! Why? Because, when it comes to smart people, experience starts losing its importance. We like hard working and lazy people equally. It’s funny how lazy guys seem to find the easiest, yet most elegant solutions. We have something for any level of experience. You can work on stuff that does not require tons of experience, as well as on architecture problems that might put your ten years of experience to shame.
We value computers related education and strong theoretical background.

What We Do Not Offer

A “predictable” job where you are supposed to do the same thing over and over again. Where you are going to be managed every hour. Where initiative means to execute the next task in list.

What We Offer

A working environment that is really friendly and collaborative. No corporate bullshit. Startup attitude with built-in innovation processes. You will be working hard on a very cool global product that will reach a wide audience.

You will start loving  this project at least just as much as we do. What is even more amazing is that you will also be paid (well) for having so much fun! 😉
[youtube]http://www.youtube.com/watch?v=zwWx0Kzeqw0[/youtube]
If you want to join, simply send us your application in an email to pineapple AT 4psa.com. In return, we guarantee you a tough interview 😀

 

Post A Reply