10 years of software outsourcing
Well, it's time to light the candles and make a wish, because this month we celebrate a decade of software outsourcing! If last year I got to interview our CEO Mihai Cernea on software outsourcing, the outsourcing market, Romania and where are we headed, this year I'm going to share with you what means to work in a software outsourcing company from our point of view - the team :)
So all aboard!
To get started, a little about ourselves: we are a team of mostly boys and some lovely ladies who like to write code, test things around, shape and design new ideas, and also to eat pizza and cakes and drink Coca-Cola (as any other programmer), to laugh, to work hard and also to play even harder (here I mean mostly darts and sometimes football:))
Some of us are in the company for more than 5 years (6, 7, 9 years and even from the beginning), so we really got to evolve and shape ourselves as a team, but we are always happy to welcome new colleagues who can bring a fresh approach to our team.
Why software outsourcing?
The answer is quite simple: because we get to work with projects that involve many top-notch technologies:
* NoSQL-type databases and intelligent data aggregation and compression techniques, for creating / processing / reporting on millions of data entries daily
* online streaming and conferencing, involving a hybrid mix of technologies: low-level system drivers for screen and audio capture (including echo cancellation techniques), RTMP integration with Flash Media Server, integration with FreeSwitch for more scalable audio conferencing, support for mobile platforms etc.
* implementing pattern recognition, or other image-related processing techniques such as OCR, for document management and for processing scans, imported images, camera captures etc.
Even more we get to do diversify our work – we don't only write code, we actually get to do more than that: we provide consulting advice, customer support, content development etc.
If in previous posts we got to tell you about our work and what software outsourcing, software development and software consulting mean, now we should also tell you that behind all these stands a great amount of teamwork, pushing late hours for releases and taking pride in our work.
How do you cope with more projects?
Yes, software outsourcing means that you have to deal with more projects at a time, but I think that this is what makes (and keeps) things interesting. We get to be part of some really cool projects - such as:
* let's talk about beer: a mobile application developed with PhoneGap (coupled with an administrative mobile website) for increasing fidelity among customers of pubs, used to receive discounts and prizes in exchange for beers purchased and pictures posted on Facebook (sounds fun?)
* a mobile solution for managing and controlling a home with Intelligent House Technology, with options for defining house plans, rooms, lights, appliances, controlling schedules for appliances etc.
* a birthday movie maker application that features various low-level libraries and techniques (chroma keying for seamlessly integrating pictures with images and animations of books, visual effects, video compression, DVD authoring etc.)
* an online multiplayer RPG game based on Silverlight and Bing Maps
And also we get to be part of some great teams. We get to meet and communicate with a lot of interesting people from various areas of the world (Europe, US, Asia etc.) and with different backgrounds, and to be part of their teams.
So yes, adaptability and communication are 2 of our strongest skills :)
Also, another advantage of working with various technologies, is that we get to have "the big picture" and to understand each tool's limitations and how the mechanisms work together.
Is programing a solo-player or a teamwork?
A colleague of mine said that you don't get to be a programmer until you learn how to work in a team. Of course there are those cases, when a programmer works very well on his own, but in most situations, it's essential to learn how to work inside a team, and write code in such a way that your colleague can interpret and merge with his code.
Now let's get
serious on the funny side: can you live without pizza and cola?
I've read on Reddit that programmers "are the ones who can transform pizza into code", and we definitely agree with this!
Note: feel free to comment, ask us questions, or just share your experience