In TouK we create openly bespoke software. This, in brief, means, that we create bespoke software by thoroughly using the capacity of open source components. We treat them as our own software and offer a full guarantee on them.
When you decide to use openly bespoke software, you save time required to build the system from scratch. The software is yours, so in the long run you also save on licence fees which you would have to pay buying ”off-the-shelf” software. As the owner you can freely modify and extend the system, if necessary; in contrast to a ready-made application which usually cannot be modified or its modification may prove extremely costly. Just as in the story presented in “Vendors” movie.
In TouK we create openly bespoke software. This, in brief, means, that we create bespoke software by thoroughly using the capacity of open source components. We treat them as our own software and offer a full guarantee on them.
Using IT systems based on open-source software in business and administration is a lot more than just a common trend. It is becoming a more popular practice which constitutes a high awareness proof of IT directors.
Free access to the source code and the possibility of its unlimited modifications allow a unique and precise conformity of an application with the specifications of a company. Proprietary software does not meet the challenge. Other advantages include free distribution, and hence savings in license fees, functionality tested by thousands of users and security following public inspection of source code.
In our projects we mainly utilize open source software. The practical knowledge of its specificity allows us to choose only the most reliable solutions. In the fields in which open source gives in to proprietary software our team doesn’t hesitate to recommend the latter. Also, integration of open source software and proprietary products is not an issue to us.
The decision of choosing open source solutions is often hindered by the worries over the lack of support in usage, maintenance and system development. It is believed that open source software is nobody’s software as it isn’t backed by a company experienced in series implementation of ready-made products who if required can provide service as well.
TouK’s attitude stands out against other companies offering open source. We treat open source software as our own thus taking full liability for its appropriate functioning. On customer’s request we bind ourselves in maintenance agreements to providing smooth working of our solutions. We can regard open software as our own since we have its working knowledge both as users and as the developers of open source communities. It is a mighty source of knowledge which we share with our customers.
In our projects we use diverse open source products released by companies, organizations and individuals. The most important criteria of choice is functionality and existence of community which guarantees quality and development of the product in the future.
We use libraries which include tested and verified solutions of repetitive problems. We also utilize frameworks to integrate systems, create portable server solutions and user interface. We deploy our applications on open application servers and in the data layer we use open database. Open source means ready-made applications as well - we exercise utmost caution with them.
While carrying out projects for our customers we have successfully implemented the following, either as a main component or as a part of solution
- Apache ServiceMix, Camel, ActiveMQ, CXF etc. – a group of products for integration solutions ,
- JBoss Drools – a business rules engine,
- Liferay Portal – a platform for creating social networking websites,
- Apache OFBiz –ERP system,
- Opentaps – ERP system,
- Cyclos – banking system,
- RapidOSS – Operations Support System,
- MySQL – database platform.
We welcome people who:
Value a good code, seek the best solutions, like and see the benefits of cooperation with others, actively approach the job, constantly improve their skills and for whom developing is an absorbing occupation.
Do you want to replace legacy, inefficient software but are afraid of business continuity disruptions?
We are experienced in dexterous and non-invasive renovation of key company systems allowing to maintain full business continuity of processes within the organization.
Not only do we create new solutions but also acquire other companies’ systems, quickly work out the specifications, develop and take responsibility for them as for our own products. Such attitude is often a challenge for design teams who face the task of lowering the cost of system maintenance, reducing the technological debt and improving its quality. We deal with technological challenges with innovative approach instead of laborious methods.
The Financial Department of one of the leading telecoms in Poland developed a set of applications supporting department's own processes. They had been developed for years without any participation or supervision of the IT Department. The only thing supplied by IT was billing data used by the growing ecosystem of Access bases, Visual Basic macros, etc.
This situation constituted a number of risks: since there was no documentation of the software, no vendor wanted to support it. In addition, in case of migration of the operator’s central IT system to a new version, a risk related with adjusting these applications would be immense – including downtime of key enterprise processes. The risk had to be eliminated.
TouK’s task was to create a platform of financial systems which would be compatible with the operator’s IT strategy and to cover it with full support. Moreover, the platform had to be modular – subsequent financial applications were to be launched in a form of independent components by network share and extended domain logic. Migration of application for invoice correcting was conducted as the first stage of the assignment.
One of the major difficulties of the project was to understand the legacy application - the business and integration logic. Step by step information was collected, while we were sorting out the knowledge about the whole financial system of our client. This was not, however, a typical analysis stage – the research into the user’s needs continued throughout the duration of the project. The use of Scrum methodology, especially frequent (weekly) deliveries of working system prototype, enabled us to verify the requirements on current basis.
As a consequence, a corrective invoice application, written in Visual Basic, which used to be running on a single computer from under the desk of one of the employees, was substituted by a system which was implemented in Java Enterprise Edition, using Oracle base, launched in a server room and covered with full support of the vendor.
In the following months a subsequent module was launched on the financial platform...
We strive to build the best team possible of devoted, creative and passionate people. We want our team to be versatile developers who are able to carry out analysis, write a transparent code, test the created software and present the innovative idea to the customer clearly. Not only do we appreciate the technical skills but also conforming to our valuesalue people of high integrity. This guarantees great vibes within the company and enables various personalities to look in the same direction and share a common mission.
Groups of developers who mostly manage databases, integration, frontend or telecommunication technologies stand out within the team. However, we try not to create rigid boundaries among these fields.
We promote self-development and knowledge sharing. Rarely do we reach for external trainings. We organize internal workshops instead. We encourage ourselves to give speeches taking care of high standards of the merits and wide scope of topics ranging from new technologies or improving the code quality to brushing up on giving external presentations.
After hours we sometimes play football together and recently some of us have run marathons and half marathons in Warsaw.
We wish our solutions to fill us with pride and others with admiration. Not only do we deliver software which meets requirements but also provide satisfaction of using the latest, the most modern and daring technologies, which were elaborated in detail to precisely support processes specific to a company. We are set on visibly raising the comfort of users.
We are very particular about creating all our systems in accordance with the craft of software design: we foster the good practices, use verified design patterns and develop open standards. Thus, our solutions not only work now but are also well-adjusted to future development. We pay special attention to the quality of code, both in the development and in the maintenance processes.
Not everyone knows what to do with the entrusted freedom. At TouK people who are self-motivated to set objectives and who approach software design with passion will find a home for it.
We are convinced that our development depends on ourselves. That is why we recognize people with methodical approach to gaining skills, who participate in conferences, who commit to communities and share the knowledge e.g., by co-organizing internal trainings at TouK.
The initiative demonstrated within the company usually mixes with dedication to the projects carried out for our customers. We try to anticipate our customers’ needs, counsel and prompt the best solutions. We proactively maintain our software and we keep an eye on its development. In case the need arises, we suggest refactoring.
Remaining inactive at TouK equals self-condemnation to being merely a computer programmer.
We wish to build up Touk’s team of generalizing specjalists, also known as the renaisannce developers. It does not mean we hire only people with fifteen years’ work experience, technical certificates and managerial experience gained at the leading IT companies. We rather seek, in us and our future budding staff, openness which assures an extensive view over the project and allows daringly taking up new projects.
Being an excellent programmer is only one of the elements indispensable for becoming a good developer. A developer, on the other hand, following the openness typical of renaissance people, runs their career to systematically near the ideal of a versatile specialist.
Being an excellent programmer is only one of the requirements to become a good developer. And it is developers that TouK needs.
Ever since we started to build the TouK’s team, the division into programmers and developers made by Eric Sink for the purposes of his company has been close to us. As Sink pointed out in his article entitled 'ISVs, You need Developers not Programmers', a 'programmer' is someone who specializes in writing codes, while a 'developer' contributes in multiple ways to make the project successful.
According to Sink, only big corporations can afford to employ people with narrow specialties. It is there where we can meet architects, programmers, technical leaders, project managers and evangelists strongly attached to their fields of activity. A smaller company, an independent software vendor (ISV), seeks people who are ready to acquire new skills, instead of people focused on single tasks and with rigid boundaries to their job involvements.
The role of a developer is not limited to writing a part of an application, as it is the case with a programmer. The developer is also capable to cope with other tasks which occur on different stages of the project implementation. The developer is able to write a specification, write and test software, prepare the documentation or talk to clients about their expectations.
Are you a developer? That is not the end of challenges. The time has come to become a generalizing specialist.
In Polish the terms 'ogólny specjalista' (general specialist) or 'wszechstronny specjalista' (versatile specialist) seem inaccurate. It is because of the fact that the meanings of the words put together are mutually exclusive: a person may either have a general knowledge on everything or be a specialist in a specific area. It would seem that there is no third option. Perhaps Scott W. Ambler had to consider a similar problem in English when he created the term a 'generalizing specialist'. He nevertheless stuck to his idea. The term 'generalizing specialist' is a result of confronting two extreme positions and their descriptors with contradictory meanings, i.e. a 'generalist' (a person with a general knowledge on each topic) and a 'specialist' (a specialist in a specific area). The 'generalizing specialist' is more than a master of one specialty and more than a 'jack-of-all-trades' equipped with general skills and a superficial knowledge on many topics. It is a person aiming at multifaceted development. Therefore, we will call him a generalizing specialist ('wszechstronny specjalista' in Polish).
According to Ambler’s definition, a generalizing specialist is someone who:
- Has at least one (and preferably more) technical specialty, e.g. Java programming, project management, database administration, etc.;
- Has at least a general knowledge of software development;
- Has at least a general knowledge of the business domain in which the abovementioned skills are useful;
- Actively seeks to gain new skills in both their existing specialties as well as in new areas, including both technical and domain areas.
A man is not born a generalizing specialist. Studies and first job usually make us specialists in one area. It is not surprising since we must start from somewhere and the need to 'be good at something' is natural. But it is worth expanding one’s horizons.
A characteristic feature of a generalizing specialist, which allows them to develop, is cognitive curiosity and the ability to grasp how different things are linked together. Therefore, the generalizing specialist watches with interest the projects his teammates are working on. It is someone open to education, training and work with people competent in areas other than their own.
Thanks to their own development and acquisition of new skills, generalizing specialists more easily overcome the communication barriers and knowledge 'gaps' separating them from their teammates who are specialists in specific areas. The ability to communicate efficiently quickly becomes one of the major advantages in the work on a project and a team consisting of generalizing specialists is much more effective than a team consisting only of specialists focused on their areas.
Prepared on the basis of Eric Sink’s “Small ISVs: You need Developers, not Programmers” and Scott W. Ambler’s “Generalizing Specialists: Improving Your IT Career Skills”.
We are convinced that the success of every project lies in the dedication of each team member. The planned realization of further ventures causes the steady growth of the company. When the company develops everyone shares the benefits.Therefore we advisedly overrule the temptation of competition in order to cooperate for the growth of TouK.
TouK’s team constitutes of developers, analysts, project managers, people who deal with finance and organizational matters. Developers and analysts who have won the team’s trust front software creating teams. Thanks to their own involvement they are able to take greater responsibility for their colleagues, the fate of the project and even the success of the whole company.
Our bosses don’t have their own offices, they constitute a part of the team, two of them actively do programming. We address each other by name. At work we try to facilitate communication to the maximum. The office space has been designed in a way which enables free cooperation between the designer teams (changing chairs, stand up, walk about, move on the office chair, do programming in pairs, write on the boards, and if the need arises to talk in the comfort of a secluded area). A sofa and the pouffes scattered around the office let us find alternative positions for work or conversation. At TouK there is no rigid structure. We organize ourselves for the needs of the customers which shows by the way everybody changes the work location at the office from time to time.
The realization of an IT project carries great responsibility. Therefore, one of the requirements of a successful venture is trust of the orderer to their own software provider.
At TouK we exercise due diligence not to let down our customers’ trust which we have earned. Close and long-lasting cooperation with the customers allows us becoming a counsellor with their strategic actions connected to ICT. Knowing the current architecture, daily action and understanding the customer’s needs we are able to suggest changes which will solve the problem at the fast reimbursement of costs. We never recommend large expensive solutions in situations where smaller and cheaper are sufficient. We always suggest the ones which best fit the specificity of a given company. If the need arises, we openly reveal the drawbacks of the technologies used. Such attitude guarantees partnership with our customers.
We honestly act also towards each other within the company.
The projects we manage often need to operate within a short time. The requirements come and change, forcing changes in the product which we are just working on. We don’t fear such jobs. We can create codes subject to change which won’t cause deterioration of quality.
We use agile methodology of running works and projects. We organise the project works according to Scrum methodology,and maintenance works using Kanban method. We closely collaborate with our customers. We make use of a practice known from XP – together we plan the works, often in pairs testing own code.
In case the product requires involving 7-10 person’s team and it will last several months we will most likely run it by means of Scrum in an isolated part of the office. Without disturbing the rest of the company during weekly sprints the members of the team: estimate the complexity of the tasks, plan sprints, discuss and test the possible solutions, they meet every morning and then do the programming. Every single part of the work is immediately integrated into the software and evaluated by the team. After the sprint the operable fragment of the software is presented to the customer who report their comments which are then taken into consideration while further planning. The sprint concludes with a resume- a summary of the events in the bygone week, a discussion over the work organization and the to do list.
At TouK there is a board on almost every wall. Whether it be for scrabbling during technical discussions or for post-its which show the progress within a given team. The board is important, thanks to it we know where to meet. It doesn’t serve only information purposes but also cuts down the number of tasks taken by making sure that every one of them has undergone every stage: from analysis to implementation, test and commercial implementation. The visualization of the progress allows us to see which stage has the most negative influence on the effectiveness of the whole, thus we can take improvement actions.
We are taking part in conferences as listeners, speakers and coorganisers. We share our knowledge. We are talking about what we've learned during our work. You can see where we were (we are still completeing archives). In one place there are materials: videos, slides and links to articles. See where and when we are plannnig to present in the future. You are welcome to watch!
Use of technologies, which are still globally considered as technological novelties, in projects implemented for our clients has always been one of TouK’s distinguishing features. We still actively seek and test them in terms of their reliability. What is even more captivating than looking for novelties is coming up with interesting, often unorthodox uses for them. We are able to adapt them creatively so that they benefit our clients and address their specific problems. We share our ideas whether asked or not.
We are not afraid of changes also regarding organisation of work and our life in the company. We constantly improve them, we experiment, we are flexible. We seek solutions that will benefit both our efficiency and everyday convenience.
Do you need an ergonomic interface allowing to attend to more customers at a shorter time in your store? Or an interface providing more efficient handling of quality control incidents? Or an interface that would speed up the collection of receivables?
In TouK we create applications which efficiently cooperate with users everywhere. Our customers include large and medium-sized companies, where our software is usually used at multiple work stations. We use web solutions to ensure its easy management. Our applications are also accessed over the Internet or mobile interfaces.
Before a new software was implemented, sales in a publishing house were planned by means of correcting Excel files and exchanging the files by e-mail between various departments. As one can easily conclude, this was extremely tiresome and time consuming.
Introduction of ERP system was to enable easy management of the publisher’s offer, i.a. through a centralization of all processes and data of the publishing house. Enterprise Service Bus integrated the following modules: central catalogue of products, sales and dispatch, promotion management, production management, business process support and e-commerce system.
Thanks to implementing the system in the form of „smart enterprise applications” the employees involved in the process of sales offer configuration were granted access to all the system functions via an Internet browser.
The main system elements were installed based on open software. ESB was implemented based on Apache ServiceMix 4.0, and the application interface operates based on Google Web Toolkit (GWT).
When we created enhanced corporate applications, the point of departure were Rich Internet Applications and the related group of technologies that gave rise to new quality in browsing websites.
When designing applications for enterprises, we pay equal attention to technological innovation and the visual aspect of our solutions. Users get to know our applications via the interface. Therefore, we make sure interfaces are pleasant to the eye and functional. We achieve it by using, on the one hand, popular component frameworks such as Google Web Toolkit (GWT) and Isomorphic SmartClient, and, on the other hand, state-of-the-art web technologies: jQuery, AngularJS, CSS3 and HTML5.
To create application frameworks, we use the Spring/Hibernate duo for Java, usually wrapped in the increasingly popular Grails framework. Making available and using network services (web services or REST) is implemented using Apache CXF, Camel or WsLite libraries (in Groovy). Our applications can be launched on all Java EE servers.
We aim for the most extensive coverage of the code with tests. On the back-end layer, we usually use Spock or Junit and Mockito. As we find the idea of functional tests important, we provide them to our customers to verify the operation of the entire application. In this area, we use Selenium, a widely recognised tool, as well as modern Geb and CasperJS libraries.
We use Spring Security library to make sure our customers’ data are always safe when they use our application. From among public applications, we suggest using mechanisms of distributed authentication and user identity distribution such as OpenID and OAuth.
Thanks to applying cutting edge standards, our applications work well with different web browsers and on mobile devices.
We have often supported our customers in crisis situations, such as misunderstandings with software providers (see “Vendors” movie), sudden change of a business concept, failure of a legacy system which requires urgent intervention or the need to adjust own infrastructure to changes in legal regulations.
We do not reject projects that customers need done yesterday so do not hesitate to ask us to do them for you. We consider projects with tight deadlines to be a challenge and not a reason to panic. Such approach becomes important when short implementation time constitutes a crucial element to gain advantage over competition.
A mobile network operator in the process of entering the market had a serious problem: it needed a very important sale channel – an on-line store matching the operator’s needs. It was impossible for the operator to reach an agreement with the software provider on introducing the necessary changes to the applications.
The telecom’s representatives asked TouK to help them fast. In two days, our developers presented the framework of a solution and in two months’ time the customer was provided with a fully operational system. We were able to help our customer fast because we used a ready-made component to build the store: Apache OFBiz open e-commerce platform.
The operator was provided with a flexible tool, open to modifications with the changing needs, with lower maintenance costs and free from license fees. The cost of the new on-line store did not exceed the price of one-year support of the previous system.
Do you consider implementing an integration platform to make considerable savings thanks to faster information flow between your company departments and more efficient implementation of business projects? But at the same time do you think that it is an expensive product that generates costs? We believe that this should not be the first item on the list of products for building service-oriented infrastructure. And it certainly should not constitute the highest value item in your IT budget.
We implement integration solutions with adaptation – while running business projects. We solve specific problems bearing in mind the whole idea of architecture. We show great diligence in making sure that the integration guarantees both cooperating services and data integrity. We implement projects adjusting tools to ideas and ideas to customers’ requirements. Never the opposite.
Under an inter-operator agreement, a mobile phone operator undertook to share its infrastructure with a Mobile Virtual Network Operator (MVNO). It decided to provide its services in an orderly manner.
Building support architecture for overlapping business processes of both operators was accompanied by a decision to introduce Enterprise Service Bus (ESB). The implementation of ESB enabled compatible operation of services for numerous virtual operators while preserving autonomy and separate management at the same time; it also enabled to easily provide services to subsequent MVNO. In a broader context, ESB enabled our client cohesion of services and data provided by other systems which were gradually covered by the designed architecture.
Observing economic guidelines concerning expenses as well as client’s approval of open source influenced a choice of technology: a light Apache ServiceMix platform, which was additionally equipped with client-adjusted administrative and monitoring tools.
Adjustment of ESB to current business needs of the wireless provider was the first implementation of ESB by TouK. Similar projects were implemented for a few other clients.
Licensed ESB engines are equipped with a number of functions, the presence of which – depending on context – can be an advantage or a serious disadvantage of a solution concerned. While buying an integration tool from a box, we pay (quite a sum) for numerous functions, which are never used in fact.
While making a decision on implementing an ESB based on Apache ServiceMix platform, a firm is capable of adjusting the tools to its needs and maintaining a real control over the scope and structure of functions used; moreover, it is not inhibited by restrictions enforced by technologies or by any restrictions resulting from a license.
Lightweight ESB based on Apache ServiceMix 4 features the most important properties of a genuine Service Bus: coherent service access implementation and management system, simple and clear implementation model (by using Apache Camel framework), a number of ready-made components and mechanisms for protocol and data format conversion.
The platform does not have a ready-made register of services or central monitoring. Administrative mechanisms are created by TouK depending on client’s needs, and in a form which is favoured by the client.
One of the biggest energy companies in Europe provided its Polish clients with an electronic client service centre. The e-self-sevice application enabled clients to have access to their invoices. However, account balance was updated only once a day, because of the frequency of data collection by the application from the huge database. If a new client registered into e-self-service system, delay in their balance update could reach even two days.
The need to provide customers with faster access to current financial data had direct effect on a decision to design and implement Operational Data Store. The system which would provide access to data from different source systems in the unified way was designed by TouK as an important platform integrating the company’s IT environment. This is why it could quickly start to operate as a data store, also for other services apart from those related with customer invoices. And so it happened. Today ODS serves the company as a tool to supply i.a. measurement data on energy consumption to various suppliers whose clients have been using the operator’s infrastructure.
We have the experience and competence necessary to implement relational databases, providing tens of terabytes of data which are in a specific order, divided into categories, with specifically defined relations and the possibility to filter data according to simple rules. We frequently recommend these universal platforms to our customers and... equally frequently we discourage them from using the platforms because we know they may not always be the best solution.
We know practical solutions that will help you to process distributed data from different sources, whose inflow is dynamic. We have also successfully implemented such non-relational databases that model data in the form of e.g. graphs.
We know that text search is several times more effective when a solution is optimised for that purpose. As far as Business Intelligence is concerned, using non-normalised data and excluding ETL processes may yield better results.
We have cooperated for years with most of our customers. They are several bigger and medium enterprises from different businesses whose trust we have won owing to our hard work. We have time for them. We are concerned to ensure the top quality of their IT systems while maintaining lower implementation and maintenance costs.
- We have implemented a light and flexible platform facilitating the integration of the company’s systems.
- We have integrated a number of clients systems: both those of key importance - such as the system of transport and storage - and ancillary systems.
- In the next phase of the project, we developed tools enabling client to integrate other systems on their own.
- We have created an operational database that forms a centre for information sharing and integrates WIP applications.
- We have implemented a new publishing system supporting key processes in a publishing house. Read more...
EBS Sp. z o.o.
- We have created a system supporting the work of security agencies and other entities using EBS Sp. z o.o. devices. The application allows the work of security agents to be monitored and to respond to alarms generated by devices. The system is available in the SaaS model; it has been adapted to serve hundreds of clients and to be used in tens of thousands of devices.
- Together with a Nigerian partner, we have created a mobile payment system for one of the banks. Read more...
- As a subcontractor of Hewlett-Packard Poland Sp. z o. o., we have participated in a project aimed at implementing a central banking system for Lucas Bank.
We have gained experience in this field through the implementation of the following projects for mobile phone operators:
- verification of financial credibility - integrated with economic information bureaus and inter-company solutions for two telecommunications operators;
- central product catalogue - consistent distribution of sale offers (including price plans) in a variety of sales channels;
- integration of customer data – a number of solutions implemented;
- support for the process of managing mobile number portability - a great success of Play; TouK was in charge of its technical implementation through an open integration platform.
- We have developed a system collecting data from the billing system, providing access to data and information on business events.
- We have created a system to support automated corrective invoicing. Read more...
- We have developed an application collecting customer data in the framework of a loyalty programme and implementing rewards.
- We have created and implemented a system supporting mobile number portability between operators.
- We have designed and implemented an online store. Read more...
- We have developed and put into effect a system of managing marketing campaigns.
- We have developed and implemented a component for sending text messages.
- We have designed and implemented a system of standard mass correspondence.
- We have created a system to support the configuration and delivery of commercial offers.
- We have designed and implemented a system providing P4 services to Netia. Read more...
- We have developed an application that collects statistics on packet data transfer from the user’s computer, presents connection parameters in a graphic form and performs active connection tests.
- We have developed an application that tests the services provided by a mobile operator, which use different access channels (SMS, voice, USSD, WWW, WAP, mail, mail BB, etc.), from the user’s point of view.
- We have created an Android mobile application that presents the mobile range in a specific technology on the basis of data made available by the provider.
- We have developed and implemented a CRM Carrier application for the marketing division.
- In one of the flagship projects of PayU we integrated a few polish banks and one foreign bank with their payment platform allowing PayU instant receiving transfers from customers' banks.
- We integrated two banks with PayU payout service.
mobile: +48 660 222 280
phone: 22 576 18 12
fax: 22 823 10 18
TouK sp. z o.o. s.k.a
al. Bohaterów Września 9, 02-389 Warsaw
The company is registered by the District Court of the capital city of Warsaw, XII Economy Division of the National Court Register under the number KRS 0000251363
Share capital – PLN 1,710,680.00, paid in full.
The company is represented by proxies: