As stated in the title of this blog post, we’re officially opening our 4PSA Cool Summer 2012 Internship Program 🙂
There are two recruitment phases to the program:
- Selection: during this phase, we select the candidates. Starts March 26 and ends May 31.
- Internship: during this phase, selected students work and play at our offices. Starts June 4 and ends September 28.
This is the best opportunity available in Bucharest to work for a fast growing cloud enablement company. Working in cloud computing is the future of software. Start early, if you want to pursue such a career!
We are innovative in many ways from our vision about the future to the things we do to change this future.
We use Agile methods to develop software namely Scrum and Kanban.
We are regarded by experts and investors as one of the hottest companies to watch in cloud computing space.
We will hire for each position up to four people who impress us. All positions are available in Bucharest, Romania.
Web Front-end Developer (JS/HTML5/CSS3)
This position is extremely challenging:
- Although many web programmers know some JS, they use frameworks such a JQuery, ExtJS etc. There are very few JS experts worldwide. JS frameworks have many issues such as low speed, lack of flexibility, lack of multi-device capabilities etc. You can see how we address such problem with a new design in HubFront, our next generation JS framework.
- Browser level programming is one of the hottest subjects in cloud computing. You will see that in order to produce something great, a lot of OOP, algorithms and language specific knowledge is required.
- Much of the application’s interface with the world is on this level. Usability is vital.
Web Back-end Developer (Ruby/PHP)
The software built using the stack executed in the browser communicates with a back-end that handles the aspects of the business logic. This back-end is executed on the server level. The communication between the front-end and back-end is using REST protocol. In fact, other applications such as mobile apps communicate with the back-end using the same REST protocol.
This position is very challenging because:
- On this level a lot of cool stuff happens. When a REST request is coming, it is necessary to process it and submit the answer as fast as possible.
- Our unified approach is very interesting from the design and workflow standpoints.
- You are working with distribution layers in an environment with many servers.
- The application’s functionality is designed at this level.
- You perform the interaction with other services and communication channels such as social media.
Performance Back-end Developer (C/C++)
We have multiple services that require high performance servers. These servers are written in C or C++, depending on the requirements and expected performance. We also use C/C++ workers for handling requests. The web back-end may not be fast enough to handle a request, therefore it passes the workload to a specialized layer that processes it and answers. On this level we also implement the distributed database, cloud controllers, libraries for higher level programming languages. In this team, the C/C++ programming is performed under Linux.
This position is so hot because you will learn many new things on how stuff works in an environment that must handle tens of millions of objects in the same time. Algorithms are highly critical and intimate knowledge about the internals of the operating system down to the CPU and memory help a lot.
Security and Performance Engineer / Software Quality Assurance Engineer
We have two positions in the same team. They are slightly different, but they have a similar goal to produce better quality software. On both positions you will have to test the software. This testing is not manual (like navigating through an interface). You will have to write software that implements various types of tests: functional, integration, regression, volume, performance, security etc. These tests are very different; for example, in order to perform functional testing it is usually necessary to know what’s the desired behavior, but in order to perform security testing it is necessary to be more creative and to have general knowledge about security.
Cloud complicates testing a little. The most important complication is that everything is distributed, therefore we must provision an infrastructure before executing the test. For this purpose we created a cloud software stack that is used internally to handle the testing process.
Both positions are challenging. They involve programming, but the choice of the language is more relaxed (our automated tests can be technically executed in any language). Furthermore, many times it’s more difficult to test something than to develop it. Automation is good, but it cannot be used everywhere; no automation can replace usability testing or human feelings.
How to Apply
Our selection process is simple:
- Every Friday, starting March 30, 2012 and ending May 18, 2012 we will publish a set of challenges on this blog . We will advertise them on our Twitter account, therefore it is recommended to follow us. You are welcome to send your results until 6 AM on Monday (you have around 60 hours to think about the solution).
- We will check all submitted answers on Monday and we will call all candidates that impressed us. If your answer inspires us, you will be called on Monday or Tuesday.
- If we do not call you, this means that your solution was not so impressive. Don’t think chances are all lost, you can retry the next round! You’ll have better luck and more experience.
As general criteria, we appreciate the following aspects in submitted solutions:
- Creativity and uniqueness
- How the solution is documented (including presentation)
- How you researched the problem (most times it’s important to understand what has been done already)
- Simplicity – the simpler the solution, the better
- How complete the solution is
- Performance – how fast it is (only if it applies)
We wanted to keep this short, so many areas are not covered in this blog post. If you have any questions about our program, do not hesitate to comment to this article. In this manner, others will benefit from our answers!
We wish you the best of luck and hope to see you at the on-site interview and later in our office to work and play together this summer.