Transition Technologies PSC experts Marek Jakubowski and Hubert Dąbrowski talk about the behind-the-scenes work at the Software Development Centre and the internal ‘Go Academy’ initiative, thanks to which our teams expand their skills and deliver better solutions to customers. During the conversation, I also ask about the benefits of learning a new programming language in the context of customer relationships, so in the text you will also find some insight from Rafał Mirowski (Senior Delivery Manager).
AB: Can you tell us a bit more about Go? What is it, what sets it apart as a programming language?
Marek: As someone with experience in Java (and who also likes order), what convinces me about Go is that during its development its creators thoroughly considered all the pros and cons of implementing mechanisms known from other languages. As a result, Go avoids the discrepancies that arise when multiple developers work on an application, and thus maintains product consistency, simplicity and readability.
Hubert: Like Marek, I started my career in Java. Go stands out primarily because of its significantly higher performance compared to Java, due to its direct compilation into machine code. This benefits applications that require high bandwidth and fast handling of multiple requests. Coroutines support is also available in Go. Due to the relatively young age of the technology, thread management mechanisms were well thought out and implemented during the language’s creation phase. Creating coroutine programs and managing threads is much simpler than in Java, and the threads themselves require less memory.
AB: What inspired you to create an academy that enables our developers to gain experience in Go?
Marek: Our decision was primarily inspired by the growing interest in this language. Go has been around since 2009, which gives it the status of a stable product. This is not without significance for business customers. Creating an academy focused on learning the Go language also expands the set of tools that our developers can use. This enables the expansion of knowledge about technologies within the company and the preparation of products of the highest quality. More recent and well-thought-out languages carry over into better implemented projects. As a result, the company can offer much better conditions to customers and partners, and we, as the Software Development Center, can stay ahead of technological trends, enabling our developers to quickly scale in new technologies.
Hubert: In my case, it was also an opportunity to learn a new language after starting with Java and to observe the process of developing and conducting training.
AB: Why did you decide to teach Go to our developers specializing in Java?
Marek: The decision to teach our Java-specialized developers Go stems from a desire to streamline the development process and to scale quickly in new technologies. Go, being relatively new compared to Java, offers much better thought-out mechanisms of operation that are adapted to modern hardware. It combines ease of coding with high performance, allowing us to deliver quality to customers at the highest level with the least possible resource consumption.
Hubert: The significantly reduced compilation time of programs written in Go, compared to those written in Java, is also worth mentioning. This, combined with Go’s code simplicity, results in a significant acceleration of the development process. Such an efficient and dynamic process means increased benefits for the customer.
AB: Thanks to programming in Go, has TT PSC already delivered real benefits to customers?
Marek: Absolutely. It is now a popular technology that customers are keen to use. Implementing projects in Go means providing more efficient and scalable solutions, which contributes to customer satisfaction. The creation of the Academy allowed us to train employees, provide them with the right tools, so they can deliver high-quality services to our clients.
AB: Can you tell us about the most interesting project you have worked on?
Hubert: The most interesting project we’ve worked on is a project for a client in the cybersecurity industry. It involves a system for managing passwords for applications, tools, and other hardware resources.
AB: Why did TT PSC’s offering meet the customer’s needs? What were their requirements?
Rafał: First, we found a technical leader with extensive experience who was able to initiate cooperation. However, our client was looking for individuals not only with long-term experience in specific technologies but also open to new challenges and with the right work approach. So, it wasn’t the price or other business aspects that determined the engagement of individuals from the academy, but rather their demonstrated commitment and initiative. Additionally, the client has their team in the United States, and our location allows us to provide support for clients worldwide in exceptional situations in a “follow the sun” model.
AB: What is the expected end result for this project?
Hubert: The goal of this project is to achieve secure password management by rewriting the application in Go. This will result in a simplified application structure, which will improve the performance of the application. Our efforts aim to reduce the risk of errors and lower the entry threshold for new individuals into this product.
AB: What are the most common challenges that clients seeking our services in this area typically face?
Marek: One of the most common challenges clients face when seeking our Go programming services is finding specialists with the right experience and knowledge of this language. The reality is that there is a shortage of Go programming specialists in the market. The verification of candidates during recruitment can also be problematic, as clients often do not have adequate knowledge of the language.
AB: What are your predictions? Can we expect a big revolution in terms of programming languages, innovative solutions?
Hubert: We can expect further growth in the popularity of the Go language. This is hugely influenced by the broad community. Statistics provided by one of the most popular forums for developers, StackOverflow, confirm that Go is one of the most desired languages to learn, alongside languages such as Rust, Python and TypeScript. Today, Go is already being used by major companies like Google, Apple, Docker and Kubernetes. While the revolution in programming languages may be difficult to predict, we are confident that the future of the IT industry will bring a range of innovative solutions, and Transition Technologies PSC will continue to deliver the highest quality solutions.