At Gofore, it is already a tradition to conduct an annual Project Radar survey to gain better insight into our current software projects and technological landscape. Cloud and DevOps related questions on used technologies and development practices are an interesting part of the yearly Gofore Project Radar.
DevOps is not only about technology, but rather an organizational and cultural movement with a goal to improve software delivery and operational performance alongside productivity and service reliability at organizational level. In terms of productivity and performance, the utilization of cloud infrastructure is a key.
So, where are we currently on the journey of cloud adoption? What are the current trends and the coolest technologies related to cloud and DevOps?
Buzzwords: microservices, transparent application lifecycle, infrastructure automation, CI/CD, and serverless.
Performance and productivity from the cloud
Cloud is a key differentiator for top performers and a driver for high software performance. It enables organizations to benefit from the speed, stability, and availability of the cloud.
AWS is the market lead among cloud vendors. That is also visible within our projects as AWS is used in almost 60% of our projects. The number of Azure projects has also grown steadily in the last two years and the growth seems to continue. We have some certified Google Cloud Platform (GCP) enthusiasts at Gofore as well. However, GCP is currently used mostly in our internal projects.
Agile and safe software updates
Containers are a type of technology that makes it easier to deploy and host applications in a consistent manner within the delivery chain. Containers are fast and easy to update enabling frequent software updates.
Kubernetes is currently the number one orchestration and operation system for the containerized application. It has been adopted widely within our on-going projects. On one hand, it might be a bit of a heavy technology for small scale projects. On the other hand, it might also be a strategic decision for multi-product organisations to use Kubernetes, even for smaller projects, as it provides a standard way of operations among different product teams. This can potentially help maintenance in the long run. Maybe even run multiple production applications in a centralized Kubernetes cluster in maintenance mode. Currently, more than half of our cloud and DevOps specialists use Kubernetes in their projects and this movement only started a couple of years ago.
The rest of the projects mostly rely on AWS ECS, AWS ECS Fargate, and Azure Containers as a cloud vendor-managed solution to run and orchestrate containerized applications.
Serverless further simplifies deployment and abstracts scaling, capacity planning, and maintenance away from developers and operators. Thus, the developers can only focus on the code without the need to worry about infrastructure. Serverless, such as AWS Lambda and Azure Functions, are used widely in our projects especially when complemented by container technologies.
On-demand deployments to the end-users
Continuous integration (CI) and continuous delivery (CD) means software can be shipped to a production environment with speed and reliability. It requires that build and deployment processes are automated and can be triggered by a change in the source code. Thus, teams can deploy on-demand to production or to the end-users throughout the software delivery lifecycle. This also enables a fast feedback cycle and an agile reaction to the feedback.
As one might have forecasted, Jenkins’s share as CI/CD solution has declined quite significantly in the past few years. Whereas GitLab CI/CD is currently leading within our projects. Also, Azure CI/CD has also grown its footprint. In general, the tendency is to firstly use SaaS tools and secondly integrated solutions where version control and CI/CD pipelines is sitting in the same environment (e.g. GitLab CI/CD and GitHub Actions). Thus, there is no need for a separate CI/CD tool or environment.
Infrastructure as Code (IaC) is a method to provision and manage IT infrastructure through formal descriptions, namely as source code. Use of IaC helps to configure and deploy infrastructure components quickly and consistently. It also enables you to automate the infrastructure deployment process in a repeatable manner.
Currently, Terraform seems to be a de facto tool for infrastructure automation. Within the past couple of years, it has grown it’s share significantly. Terraform is independent of the cloud vendor and can be used with AWS, Azure, and GCP projects. That said, AWS Cloudformation is still used in half of our software projects.
Some closing words
In general, the trend in software development is clearly towards containers and microservice architectures. Usage of virtual machines has decreased significantly as the aim is towards a more agile and DevOps style of operations through containerized applications. Currently, most of our projects make use of containers. Also, the use of serverless has increased within the last two years. More specifically, many projects take advantage of both container and serverless technologies. To mention some trending technologies, Kubernetes for container orchestration and Terraform as IaC tool have rapidly strengthened their footprint within Gofore’s software projects.
This Radar clearly comes with a technical focus. However, a cloud journey should always start by building a solid cloud foundation. Everything else is built on that enabling, for example, scalable and secure cloud infrastructure. In order to help our customers to succeed, we strongly believe that promoting agile methods and DevOps culture is the key. Also, our preference for tooling and technology selection serves this purpose by helping to incorporate DevOps technical practices in our customer organisations.
Artificial Intelligence and algorithms are shaping our work.
“It is important to prepare for a hybrid workforce in which AI and human beings work side-by-side. The challenge for your business isn´t just ensuring you have the right systems in place but judging what role your people will play in this new model. People will need to be responsible for determining the strategic application of AI and providing challenge and oversight to decisions.” The PwC report, Sizing the Price, 2017
The world is transforming. COVID-19 has revealed our vulnerability and has pinpointed complexities. Lead time to make a positive impact has been cut shorter. Power structures of the past are not future proof. In my opinion, and backed with a multitude of fresh research, there are three key drivers of new ways of working.
First, organizations relying on control and command are replaced with fluid, transparent and self-determinant ways of working. Hierarchical control and command power structures are fading away, slowly but surely. Second, digitalization is continuing at a logarithmic speed. For example, in Spain, the first 60 days of COVID closure is said to have accelerated the county´s digitalization by seven years (El Confidencial, 2020). Third, as interconnected emerging technologies continue to advance and converge, they will hit hard knowledge workers, managers, and the C-suite. Old competencies will be questioned, and new ones required. In this development, the main drivers will be Artificial Intelligence (AI) & Data and particularly algorithms. Leaders will be heavily affected. They need to become more people-positive and complexity-conscious to activate the full potential of the hybrid workforce, combining humans and machines of tomorrow already today. Leaders need to return and excel in their number one role, which should be a coach for his / her people.
I am not a data analyst, nor a coder, nor an AI & Data expert, but an experienced organizational development professional. Therefore, my focus is the management and leadership of individuals, teams, and organizations. Thus, I would like to extend the discourse of only technical matters of AI & Data more to required new leadership skills, capabilities, and structures. I feel that the prevailing way of looking at management automation thru a technical lens, only with AI & Data mostly as a cost reduction practice, is short-sighted and dangerous. AI & Data doesn´t intrinsically make changes, but they are enablers for societies and organizations to progress. No doubt, AI-enabled future economies will have massive shifts in workforce competency requirements at all organizational levels, including experts and executives. To cope with fast-paced digitalization, organizations need to adapt fast, get organized in new ways, and unleash the full potential of both people and machines to thrive. Is the unstoppable development of AI & Data the cure or cancer of business transformations?
Constant Human Desire for Better Technologies
Throughout history, we have been seeking help from technical inventions supporting output efficiency and process accuracy. In the western world, we have traveled the journey from the steam engine to electricity to computer to 24/7 AI & Data of today. This development has been backed with old management theories, mostly Taylorism (scientifical management) and hierarchical power structures based on control and command both affecting us still today. The first and second industrial revolutions focused on the human body, the third and current fourth on the human mind. By now, we as humans have lost the performance game both in terms of body and mind to AI & Data-driven digitalization, algorithms, and robotics.
According to Moore´s Law of computer processing power duplicating every 18 months, this is just the beginning, not the end of this development in AI & Data. Fast AI developments, like machine learning (ML) and deep learning (DL), have big economic implications for our societies and organizations. Price Waterhouse Coopers has predicted that AI´s contribution to the global economy will be USD 15,7 trillion by 2030. What are the possibilities and limitations of algorithms?
Current Pros and cons of Algorithms at Work
Being an expert or not, one should understand that AI is NOT just another new technology, but AI is creating convergence and binding many emerging technologies together. AI is not neutral. It is always mirroring directly or indirectly its creator´s perceptions, experience, and values.
- Discern patterns in raw data with a faster and better than star data analysts.
- Optimize processes more in detail and precision than best operations managers.
- Analyse and predict behavioral trends and implications for humans.
- Assess and comply with complex variables for top decision-making better than executives.
- Excel, like a savant, in a tightly limited sphere of expertise.
- Expand some precise human capabilities to the next levels out of our reach.
Algorithms cannot (as of autumn 2020):
- Build sense-making and connect unrelated ideas into a new creation, innovation.
- See things from different perspectives, even with ML only programmed views are seen.
- Act with intuition, build trustworthiness, and show situational emotional intelligence.
- Store as rich data (sights, sounds, sensations, smells, or emotions) as our brain does.
- Use experiences and understanding across unlimited sets of situations, like the human-brain.
Algorithms can increase performance in process speed, efficiency, and accuracy. In the fields of innovation, creativity, critical thinking, and sense-making thru intuition, AI at the time of writing only offers a poor imitation of what humans can do naturally. Thus, people can better combine, create, and bring to the game, more thorough insights. The holistic situational sense-making is the key difference between algorithms and humans. Therefore, the multifaceted thinking of leaders is a must. They need to be able to think simultaneously in a three-dimensional way: first reactive for the situation at hand, second proactive for things not yet seen, and third reflective for continuous improvement. The reflective means of an inner capability to confront critically one´s own actions instead of accepting them without questioning autonomous outside-in thinking and data available.
Trustworthiness of Algorithms Under Deep Scrutiny
Many research studies reveal that humans feel concerned, suspicious, and uncomfortable when dealing with algorithms that make decisions on their behalf. As a general trend, people perceive the functioning of autonomous algorithms as something of a black box. This suspicion stems from the lack of transparency of how algorithms were generated and the difficulty of explaining algorithms clearly for non-experts and even for engineers, data analysts, and coders. This lack of knowledge has created fully reasonable prejudices to distrust algorithms in work settings. Controversially, at their leisure, people trust algorithms to make choices and affect their purchase patterns in services like Amazon, Netflix, or Spotify. Even more weird are research findings where people accepted to be replaced in their daily work by an algorithm rather than another person.
Thus, to build employees’ and customers’ trust towards algorithms at work, immediate and systematic visible actions are required. Just recently, Google has announced to offer help to other companies with the tricky ethics of AI (Wired, 2020). One internal way to grow trust towards algorithms is to first to break silos between AI & Data experts and experienced leaders. The objective should be to engage people with diverse backgrounds and experience to work together towards a common purpose considering both efficiencies and ethics of AI & Data. For example, this type of challenge has been tackled in some of the most affluent digital companies like Microsoft and KPMG with their AI ethicists. The role of these AI ethicists is to secure transparency, ethics, and outcomes of algorithms before they go live. How about working with algorithms?
People and Data-Centric Combo First Steps
As a practical example, it was decided at Gofore Plc. in 2006 that all clerical tasks that can be automated will be automated. Bot-manager “Seppo” supports commercial decision-making and bot-assistants “Genie and Granny” take care of daily routine tasks. For example, they remind about unmarked billable hours, confirm holiday requests, make travel expenses claims, provide personal performance statistics, and report company-wide statistics. These scalable HR bots, combined with Lean & Agile ways of working, have enabled fast and continuous financial growth with less management and lighter structures simultaneously releasing time for leadership, development, and customers.
There used to be a time when we were doing more with less. Now we are doing less with less. One possible solution to overcome this dilemma is a hybrid workforce. As within Gofore, these modern digital tools, like bots, robots, robotic process automation (RPA) and other digital means, are key enablers of the future of work, but one should not get on the bandwagon blind-sighted. Some recent not so good examples of failed algorithms are the A-level and GCSE examinations fiasco in the UK in August 2020 (The Guardian, 2020) and the Amazon recruiting disaster of 2018, where only white males were selected from applicants by algorithms (Reuters 2018). After an internal investigation of the case, it was noticed that the recruitment algorithms of Amazon could not work without supervision to build sense-making of the desired future with past distorted data.
On the other hand, one of the largest Finnish digital forerunners – Tieto Ltd. – has implemented an AI assistant named Alicia who is a member of the management team with full voting rights. Alicia has reminded the company´s board members of important data and statistics and helped them to make smarter decisions. Similar developments are occurring around the world. For example, AI assistants like IBM´s Watson can bring together complex data from various sources, analyse their trends against a company´s internal metrics and business objectives, and present suggestions based upon its findings (Rouhiainen, 2020).
Best of Both Worlds, A Hybrid Workforce of Tomorrow
The changes that algorithms are bringing to the business world are massive. As mentioned, they can drastically increase efficiency, accuracy, and speed to run businesses, but they are still lacking human-specific traits like emotional, innovation, and critical thinking skills that finally make or break businesses. AI & Data development will not only be about technology. The time for solely control and command-driven managers and administrators is over. I perceive that transformed businesses will need a new kind of curious, creative, and critical thinking leaders with emphasis on interpersonal and emotional skills. Effective leaders will need much more of soft human skills to understand human dynamic systems to be able to motivate, innovate, facilitate, and assimilate business impact better than in the past. I believe that the biggest challenge is to renew our mind-set to positively challenge and combine best of both worlds – human and machine – as a hybrid digitalized workforce.
I hope experts on AI & Data, digital-pioneers, and executives, together with social scientists, take a courageous stand on AI & Data system and related algorithms with clear roles, responsibilities, and preventive rules. Together we need to influence the evidential and non-stoppable development of AI & Data with a positive impact, creating social, economic, and environmental added value for all. If digitalization is derived from natural human capabilities rather than performance only, I believe that this is not a race against the machine, but a race with the machine. The choice is ours.
“As leaders, it is incumbent on all of us to make sure we are building a world in which every individual has an opportunity to thrive. Understanding what AI can do and how it fits into your strategy is the beginning, not the end, of that process.”, Andrew Ng, the world-renowned expert in machine and deep learning
“Ignorance is never better than knowledge.”, Enrico Fermi, winner of the 1938 Nobel Prize for Physics
I remember a course in business school where we students, mostly unknown to each other, went for an “offsite” learning event for two days. At the end of day one, we were given the opportunity to have some dinner and (a few) drinks with each other. During the evening we got to know each other more on a personal level and had a fun evening together. Not surprisingly but even though very tired the team assignments we were doing on day two were much more productive and creative. Later the professor revealed that this had been done intentionally for us to realise the power of relationships in business and teamwork. After this experience, I have been very interested in relationship building and team dynamics.
Value of relationship: openness and trust
Obviously, during this special time of COVID-19, it is not as easy to build and maintain better workplace relationships as it is normally in face-to-face communication. While working in isolation, it is very easy to focus on the content of work and distancing ourselves instead (guilty as charged..) rather than on the process of relationship building. After all, these times call out for openness and trust more than ever. Organizations and teams need to see the value of this.
Is it even possible to build these better relationships only virtually? I think yes, it is done all the time over the internet in contexts where people share common interests and goals. A good example of this is some online gaming communities where people develop very close relationships with people around the world without ever meeting each other in person. A multitude of other examples exists as well. While online gaming is somewhat different from a strictly professional setting, similar dynamics of teamwork still apply, like a well functioning team has a very high level of trust.
Build and maintain your (business) relationships in a virtual setting
Here are some thoughts and tips which might help you build and maintain your (business) relationships in a virtual setting. I build this experience especially from some of the virtual teams I have worked with lately.
- In meetings, using the camera is necessary. It goes without saying that much of our communication is non-verbal so we need to get used to putting the camera on. Looking into a person’s eyes will tell you instantly if you are on the same page and a thumb-up reinforces that message. And no, it doesn’t matter if you have a bad hair day because most other people have them too.
- While everyone is working from home, it opens the possibility to share some personal things with your colleagues, for instance, an easy way of introducing some family members to the people you work with or sharing something interesting about your hobbies. Sharing some favorite photographs is a fantastic icebreaker or you can “accidentally” place something interesting in the space behind you. Being open will usually have the effect of other people opening up as well.
- Keep the team sizing small rather than big. Most of us people are psychologically more comfortable in “family-sized” groups ranging from 3-7 people. If this is not possible, try to split the group into smaller sub-groups to work on specific problems or questions (at least it’s quite easy to find a room for it now in the digital realm). Then synthesise the findings with the larger group.
- Make some time for chit-chat by putting it on the agenda of the meeting. At the office, stronger relationships are built by the coffee machine and during the time when people are getting to the meeting room. In a virtual context, put the meeting to start 10-15 minutes before intended to do some catching up with your colleagues. This allows the attendees to arrive on time and share for instance a cup of coffee or a sandwich together while exchanging the latest news and checking in for the meeting. If we are not too busy for this at the office, how can we be while working remotely?
- One of the most effective ways of building better relationships is learning something new together with your teammates. This can be achieved by setting some learning and improvement goals. One good way of doing is to dedicate a regular meeting only for these type improvements (many times also called a retrospective). Other ways are also working in pairs around problems and by just ”thinking out loud” in the meetings.
- Add transparency by communicating more on your progress, it only can take a few minutes to update your system, sending a message, or making a short call to your stakeholders. Ask actively feedback so that you can improve on the things you are doing. Ask for help e.g. review something you’ve done as you would at the office, don’t batter your head to the wall alone.
- Overall, be genuinely curious about the people you are working with and acknowledge how important they are. Try to understand their story and let them understand yours. Increase the number of one-on-one meetings with your co-workers and the casual “how are you doing” instant messages just like you would while passing them in the hallway at the office. Even though being remote, people still have the need to be visible and seen by others.
Investing in better relationships takes time and effort especially now in this special time. Especially if you are a leader, you need to see the value of the process of relationship building. Please take this topic and discuss it with your team on how they want to improve the situation.
X-Road is a free and open-source data exchange layer solution. We are proud to announce that X-Road version 6.24.0 was published by our customer Nordic Insititute of Interoperability Solutions (NIIS) on the 31st of August and its latest release is more user-friendly than ever.
Combining security and human-centric design together might sound like a mission impossible, but it’s not if there is a will to make it happen. The creation of version 6.24.0 has required good collaboration between the customer and its different vendors – including us. It is always a pleasure to work in the team, that wants to find the best solutions, taking equally into account the functionality, visual design, user experience, and security.
A new user interface for Security Server administrators
The main new feature that is visible for the user is a new user interface for Security Server administrators. The CTO of NIIS, Petteri Kivimäki, wrote about it himself: “The new UI provides improved user experience (UX) for Security Server administrators. The new UI has a new look and feel, and it makes taking care of administrative tasks easier and supports streamlining the onboarding process of new X-Road members.”
The new version has an administrative REST API that enables automation of Security Server maintenance tasks, several changes to improve the performance of the security server, and last, but not least, a new version has support for Red Hat Enterprise Linux 8 (RHEL8).
A significant improvement in many ways
Security Server’s administrative API is a significant improvement in many ways. Basically all the operations that can be done in the UI, can also be done with the API. After all, the UI has been built on top of the API. Using the API and automation, configuring new Security Servers becomes effortless. Maintaining and monitoring subsystems, services, and access rights can be fully automated. What’s best of all, everything mentioned above works equally well for single servers and large groups of Security Server installations.
Please remember that X-Road version 6.21, which was compliant with Ubuntu 14.04 LTS, is not supported anymore and the underlying host operating system needs to be upgraded! If help is needed in any of those upgrades, then do not hesitate to ask us. Gofore is an X-Road Technology Partner and we are happy to help in all the areas around X-Road implementation, maintenance, or upgrade.
Gofore provides the X-Road Software Core Development Services for the Nordic Institute of Interoperability Solutions (NIIS) since 2018, based on a 3-year agreement. NIIS is an association founded jointly by Estonia and Finland. It is both a network and cooperation platform and executioner of IT developments in members’ common interests. NIIS ensures the quality, sustainability, and cross-border capability of core e-government infrastructure components.
Our service for NIIS includes the design, implementation, and maintenance of X-Road core software. In addition, cloud-based development environments related to X-Road development are maintained and further developed.
Technical Project Manager for X-Road core development team
Official documentation: https://github.com/nordic-institute/X-Road/tree/master/doc
Change management is the most important task of most managers. Lessons and learnings are available in books and courses. In spite of good design and planning, many changes remain half-finished or their desired outcomes are not fully reached. I argue that it is time to review new key success indicators in change management.
From a management perspective, planning of change emphasises timetables, budgets, and distribution of work. However, from the point of view of human leadership, success is evaluated by leadership criteria. A drift towards the new can be made decisively on spreadsheets, but the stale end result is caused by personnel who resist change. This change of perspective along the process does not support success. Change is managed rationally, in spite of the fact that each of us experiences it emotionally.
Change is an emotional and hesitation is human
The critical questions of employees and their hesitation in the initial steps of change are often interpreted as resistance to change. However, the reason for hesitation is human. In the face of the new, we humans experience an emotional rollercoaster from enthusiasm to discouragement, be it in work or in our personal life. There is no need to wallow in uncertainty at the workplace, but it is worth spending some time and space to express emotions at work.
Change is grounded in confidence
Change is often complex and requires particular confidence. The task of senior management is to create encouragement and confidence even in an uncertain future. However, it does not happen at a single workshop. Trust is created at all levels of the organization and in everyday life when we walk the talk.
Disputes fuel movement
Trust also requires courage. From time to time, people may disagree, but this is allowed. There is no reason to fear different visions because friction also creates a dialogue. When employees engage in discussion and exchange views, there is a feeling of inclusion. Criticism is therefore allowed – and even desirable.
Leadership and hierarchical power diverge Leadership work is currently being reformulated: managerial work is being automated, outsourced, and transferred to bots and service centers. The power of decision-making is shared with the employees themselves. Many organisations wonder whether there is still a need for supervisors and management. We want to get rid of silos and heavy structures and increase self-guidance in the midst of everything we do.
Dialogue also promotes IT projects
Large-scale IT projects need more than agile project methods and project management. A common direction is needed. During digitalisation, interactional leadership aims to build mutual trust. It is about how people work together and define their mutual relationships.
Change leadership can be found in us all, but can we nurture it enough?
Gofore is pioneering an ethical digital world – on an international scale! Sounds good, doesn’t it? And you know what, it feels even better if you have a chance to do it as your everyday work.
We believe digitalisation can and should be a force for good. We believe that this is the core of our existence and it has to show in everything we do. As a consultancy company, our main impact on the world becomes evident through our customers. One of the best examples of making an impact is our contribution to X-Road®.
Gofore is an X-Road Technology Partner with expertise in core development, deployment of X-Road instances, and service integrations. Our projects have included consultations for potential X-Road implementation, instance implementations, software developments, training for local experts, and upgrades to the newest versions of X-Road. This means that we can help you all the way if you are considering implementing a free and open-source data exchange layer solution.
X-Road is an open-source data exchange layer solution that enables organizations to exchange information securely over the Internet. X-Road is released under the MIT open source license and is available free of charge.
Some examples, what is the impact and the potential of X-Road in the world:
- 3 out of the 5 most advanced digital societies use X-Road: Denmark (Faroe Islands), Estonia, and Finland.
- It’s distributed deployment model is resilient against cyber attacks.
- X-Road might be the solution that will be used by the World Health Organisation.
Our journey with X-Road goes back in 2015. Finland had decided to implement X-Road. We were one of the companies that supported Finland’s overall National Service Architecture implementation. The whole program consisted of roles and authorizations, service views, digital authentication, and data exchange layer. In June 2015 we started the work on the Finnish X-Road implementation project and we were responsible for the development of X-Road 6 based on the Finnish requirements. We collaborated closely with the Estonian private and public sector because at that time X-Road version 6 was under development and was not publicly available in GitHub. So many things have changed since then and it is one good example of how fast things can be done also in the public sector! The source code of the Security Server was published in GitHub on 18.11.2015 and soon after that, the whole X-Road solution became open source.
What surprised us already 5 years ago, and what keeps us continuously excited about the solution, are the principles upon version 6 and later versions are built.
- X-Road embraces diversity. It is one of those solutions that accept that organizations are different, their information systems are different, their needs are different. It allows us to standardize secure cross-organisational data exchange with rather small adjustments to the organizations no matter the sector or business domain. That eases its implementations a lot.
- Born to be international. X-Road version 6 has a built-in capability for the federation of X-Road instances. It is widely known as a feature that enables cross-border data exchange, but it can be used successfully to adjust the solution for circumstances when one country has several implementations.
After the successful implementation of X-Road in Finland, the governments of Estonia and Finland decided that they are interested in the joint development of X-Road and they established the Nordic Institute of Interoperability Solutions (NIIS). NIIS ensures the quality, sustainability, and cross-border capability of core e-government infrastructure components. Gofore provides the X-Road Software Core Development Services for NIIS since 2018, based on a 3-year agreement. We have also made pro bono contributions to the source code to create a positive impact. This is the opportunity for anyone, who is interested!
Our multidisciplinary team around X-Road activities includes employees from our offices in Finland, Spain, and Estonia. We have provided our consultations on all the continents around the world, except Australia and Antarctica! Our strength is to bring the international teams together even in a remote working mode and turn our customer’s dreams into working solutions.
International Business Development
Goforeans Teemu and Aapeli participated for the first time in our official mentoring program last spring. Together they helped each other in ways that Google could’ve not – for example by offering deeper insights about the topics, sharing personal experience, and opening up the reasons behind some modern tech solutions.
At this blog post, Teemu and Aapeli share their mentoring path and experience. Get inspired!
I have been working at Gofore for over 5 years as a software engineer in various projects in both the public and private sectors. I have worked more on the backend side of projects and while I have some frontend experience as well, I wanted to have a better understanding of some modern web development framework. When I read about Gofore’s mentoring program, it felt like a good possibility for refining my learning goals and starting the learning process.
“I have worked more on the backend side of projects and while I have some frontend experience as well, I wanted to have a better understanding of some modern web development framework.” – Teemu
I got paired with Aapeli, who has a strong experience with React and Node.js. Given their popularity, they felt like a good choice for me as well. We discussed my previous experience, goals, and ways to achieve them. We decided that I would start taking the Fullstack Open course by the University of Helsinki. The course gives a good overview of React and Node.js as well as many of the other tools and frameworks used with them. It is targeted for people who already have programming experience so it wouldn’t go too much into basics.
I started taking the course on my own and we organized calls to discuss the new topics every 2-3 weeks. Of course, it would be possible to take the course completely independently as well, especially since it provides many links to extra material in case you want to do some further research on some specific topic. Still, I found the discussions with Aapeli helpful, since they gave me a possibility to reflect on the subjects and ask questions.
“I am sure the new skills will be useful in my next projects!” – Teemu
I’m continuing to take the course, but so far, I’ve found it good. It gives a good overview of full-stack development using React and Node.js and all the topics have been explained well. I am sure the new skills will be useful in my next projects!
Most of my developer career – meaning a bit more than 5 years – I’ve been working mostly with different frontend technologies and Node.js. React.js I have used since 2016. I feel like having a relatively wide understanding of them. I also like helping others and sharing my knowledge, so it felt natural to apply as a mentor when I saw an advert of the mentoring program.
“I also like helping others and sharing my knowledge, so it felt natural to apply as a mentor when I saw an advert of the mentoring program” – Aapeli
I was a bit concerned about having paired up with Teemu, who had more experience in years as a developer than I do. I knew about peer and reverse mentoring but was still afraid that I wouldn’t have anything to offer for him. We had our first discussion and noticed that due to us having so different kinds of programming backgrounds, I could support him in this learning scope. We agreed that Teemu would start doing the course, and then we would have discussions about its topics and exercises.
Like Teemu said, working with the course independently would’ve been 100 % possible for him as well. But I think that I still managed to help him in ways that Google could’ve not – for example by offering deeper insights about the topics, telling about a personal experience, or opening up the reasons behind some modern solution.
“But I think that I still managed to help him in ways that Google could’ve not.” – Aapeli
I hope that Teemu now feels like he understands web technologies and Node.js and feels like he would feel like having a much better base for starting to learn them more deeply if he one day would end up working in a project where that would be needed. Who knows, maybe he ends up loving them as much as I do one day!
Software architect: a somewhat rare and coveted sub-species of programmer, known as notoriously hard to catch in the current job market. At Gofore, software architects are major players in our largest and most impactful projects. They design and implement principles and infrastructure used by thousands of people on a daily basis. And we would love to have more of them.
But as much as we like clear division of responsibilities and predictable call stack hierarchies in our codebases, we don’t see a place for them in running a modern software consulting company. Gofore has a minimal number of middle management (one, and he’s actually a bot), and our career ladder resembles rock climbing instead of a leisurely sloping path. Titles are not awarded automatically on basis of years in employment or obtaining some certificate.
We realised that we have a puzzle to crack: how to grow new software architects at Gofore.
“Gofore can and will offer help, tools and support for people who want to take on new responsibilities.” – Meeri
Meeri’s story: “My first step towards my goal was to join Gofore’s mentoring program”
After working as a software developer for 10 years, half of which I’d spent at Gofore, I was ready for new challenges. I could see a clear pattern in my previous projects: my engagement was significantly higher when I had taken part in the design phase, met with the shareholders, pitched in my ideas and evaluated technologies, as opposed to projects where I had been just another pair of hands to speed up implementation. I was eager to take on more responsibilities and join larger projects with non-trivial architecture. My first step towards my goal was to join Gofore’s mentoring program in the spring of 2020, where I was paired up with Juhana.
In the first sessions, we set our targets for the program. As the program was only a few months long, I didn’t expect to emerge as a full-fledged architect. Instead, I wanted to know where I stood and what direction I should take off to. I knew the textbook definition of software architecture, but I also wanted to hear the experiences of people who were actively practicing it. I wanted to learn what was beyond the web service patterns I had been using for the past 15 years. Most importantly, I wanted to learn what I didn’t know, so one of the first thing I asked of Juhana was to help me identify the strengths and weaknesses I had but didn’t see in myself.
It’s often even more important to remind ourselves and others of our strengths
As important as it is to work on our weaknesses, it’s often even more important to remind ourselves and others of our strengths. I asked Juhana to remind me to share my knowledge. I expected him to maybe send me a message at some point, telling me to give a technical talk or to write a blog post. Instead, sharing my knowledge became a much more regular–and impactful–discussion point in our mentoring sessions.
With coronavirus shutting down offices, we began our program with bi-weekly remote meetings.
As for the content of these sessions, my initial thought was that we would draw a roadmap–possibly using some formal notion I had not used since my university days–and start crossing off items. Juhana, however, had other ideas, so we set out for exploratory research, starting with the simple question of if software architecture was something I would enjoy.
Software architecture is a mix of technology and people skills
Software architecture is a mix of technology and people skills: In addition to drawing diagrams and setting up services, at Gofore we expect software architects also to be experts at defining requirements and maximizing value to clients and users. While we benefited greatly from discussing blog posts (What Kind of Animal is a Software Architect, The Path to Becoming a Software Architect), software architecture is not something you can learn just from a book.
To explore this other side of software architecture, we studied an entirely different document: my resume. We identified the roles and responsibilities I had had in my past and current projects. We picked out past architectural work–after all, the line between developer and software architect is blurry, especially in smaller projects – and started looking for ways to verbalize this experience, forging my past experiences to pave a way into the future.
As a result, we found plenty of opportunities to use my current skills and start building on them in my current projects. To my surprise, what benefitted me most turned out not to be an academic study of existing architectural patterns. Instead, I started bringing new value to my client by utilizing tools of software architecture in the work I was already doing. And because my work had an impact on my team, it made for a shorter feedback cycle as well as some good old-fashioned peer pressure. In the end, I was very happy that I didn’t have to take a huge leap to a new role in a new project at this time.
“… what benefitted me most turned out not to be academic study of existing architectural patterns. Instead, I started bringing new value to my client by utilising tools of software architecture in the work I was already doing” – Meeri
My tip: “to reach your goals put them into words”
My key takeaway from the mentoring program was something very simple: The most important thing you can do to reach your goals is to put them into words and discuss them regularly. Having the mentoring sessions set in my calendar forced me to find time to do the thing we had discussed. Of course, sometimes there were urgent project tasks that took priority.
Admittedly, we did not come up with a universal curriculum to turn developers into architects in four months or less. However, I believe that we have proved that Gofore can and will offer help, tools, and support for people who want to take on new responsibilities.
Juhana’s story: “Software architecture is not something you can learn just from a book”
I’ve been working at Gofore since Dec 2019, and my professional experience in building digital services dates back to early 2006. Here at Gofore I’m working as the Capability Owner of Web Development multitasking as a Technology Consultant in key projects with several hats from Software Architect to Scrum Master and Lead Developer to name a few. I’m renewing and nurturing Gofore’s capabilities in Web Development to match the current and future needs of our clients, and to grow new scalable businesses.
For the past decade, I’ve been involved in SMEs, growth companies, and startups as Head of Digital, VP of Software & Services, CTO, Chief Architect, Lead Developer while simultaneously undertaking all imaginable software professional roles from DevOps to Design, and from Architecture to Development, Integration, and Database administration. I often find myself working towards sharing a common understanding of the digital services at hand, either when ideating, planning, or both in their current status and what future holds. Furthermore, making proactively sure that client is heard and understood, and those important things get done and finished, effectively tying up loose ends.
I was asked to scout out potential mentors for different tracks and decided to join in as well as a mentor as I’ve previously experienced mentoring to be an excellent way to learn and widen one’s own perspective and as a software architect, I was a suitable mentor for Meeri.
What it is to work with software architecture and what it means to work as a software architect are very different things. As the mentoring was more from a coaching approach, I wanted to set the expectations towards having a low barrier dialog between two equals, open sharing of experiences, and therefore learn through widening our lenses by learning how to wear different hats one might say. Commitment to achieving goals set to oneself and having good open communication were some of my additional expectations for the mentoring agreement.
Fundamental structures of a software system, different development activities, paradigms and models, methodologies and frameworks, practices, tools, and standards are something that can be learned from books, but that doesn’t mean that one using them becomes necessarily a software architect and it is the same toolset for developers.
A good software architect: the backbone of an entire development organisation
Software architecture is also about being able to make fundamental choices that can be costly to change once implemented, and also about being able to communicate all of the above to all of the different stakeholders at hand. It is very much about people’s skills. How all of the above should be taken into consideration when applying these into the customer business landscape in order to find a problem-solution fit for the particular digital service or a problem domain.
Expectations for mentoring the software architecture track weren’t set out of the blue. I strongly believe that being able to identify oneself as a software architect, it comes from understanding the rationale and decisions behind past experiences (both one’s own and others) and having the applied knowledge and knowhow suitable for the task at hand to tackle the future successfully. A compelling track record one could say. Furthermore, accompanied by an ability to be able to have a good and open dialog between different stakeholders on a level that everyone understands the matter at hand, the decisions needed to be made, and being able to reflect, iterate. A good software architect can be the backbone of an entire development organisation even without having sugarcoated title prefixes, such as principal, lead, or chief.
“… software architect can be the backbone of an entire development organisation even without having sugarcoated title prefixes, such as principal, lead, or chief” – Juhana
We usually have pre-determined goals for positions or roles we apply to and have thoughts about the possible road ahead of us to grow into. However, even though often these goals are thought of beforehand they tend to change while things unravel.
Mentoring: “Give value to the shared knowledge and discussion”
As a takeaway, remember to have an open mindset in your professional development journey whether it is participating in a mentoring program or through something completely different. Give value to the shared knowledge and discussion, and adjust it to your situation together, and remember that setting strict goals might not be for everyone and that pre-determined goals might not be the ones you are truly after.
Sharing knowledge is a two-way street. Support one another in your professional growth through openly sharing your knowledge as well as learn how to turn these discussion items into action points that get followed through thus paving your path into your future role.
And one more thing. Remember to ask for feedback.
Goforeans participated for the first time ever to our own official mentoring program last spring. ’Official’ meaning that mentoring at Gofore has been rather unofficial and it has usually taken its form in project teams or with two colleagues talking casually, yet repeatedly, about their challenges at work.
Even though unofficial mentoring continues to be the most important form of mentoring in our company, we know that we also need structures and support. Participants gathered their thoughts and lessons learned on our blog. Get inspired!
I had been an entrepreneur for a couple of years in Jyväskylä and was at a turning point in my career. My friend invited me to participate in Star Wars movie night organized by Gofore and I thought to myself “why not”. I had been interested in the company prior since I had had some friends work there. I had heard that the company is a good place to work in so I was interested already in working opportunities at the company.
After the movie, I questioned my friend about the company and their story was aligned with what I had heard. The daily work-life sounded pretty much what I expected the work of a consultant to be. We had done customer projects while working as an entrepreneur so taking a leap with Gofore sounded like a natural fit for me.
I contacted the site lead of Jyväskylä and he instructed me to send an application on the Gofore website to get the process rolling. The process consisted of 3 interviews: defining my fit as a consultant, technical prowess and perk, and salary negotiation. The technical interview included coding live, which feels awkward as ever. I got a decent salary and as a very nice perk, a few weeks of paid holiday (without lomaraha). Normally when starting in February one would only get a few day’s worths of holiday.
Taking initiative is important
The last negotiation was at the end of January so there was still a week or so until I actively started at the company. Before that I got to fill my Hohto-profile that is used to find meaningful client projects. I got to select the equipment that I am currently writing this blog post with and do my normal software development work. I wanted to go with OnePlus 7T as my working phone since it had enough power to use on the go but didn’t seem that overpriced. And last I got to take a picture with a professional photographer. I was blinking constantly, which didn’t help the process, but we got the picture taken. These all were count as working hours that I could take back later when the actual work started.
In many of these things I got to be very self-initiative – in good and in bad – as is with everyday working in the company. Nobody is there to order you to do things but one must take initiative and make decisions themselves. The Company does its best to support decision making to allow people to make hopefully the best decisions for themselves and the company. It was nice that since the Hohto-work had been done in advance I was enrolled to start in a project during my first weeks. Unfortunately starting in the project required a security checkup.
The freedom and responsibility that are offered working here are both frightening and refreshing. My biggest hardship was to fight the quilt I had for not being able to start in my customer project. The project required a security checkup made by an official source (often called tursel). While waiting I did some work on 2 internal projects and practiced my skills in the areas that could be useful for the upcoming project.
Getting to know my new colleagues before corona
Nobody directly ordered or denied me from going to my first learning opportunity inside the company “Fundamentals of working as a consultant” in the Tampere office. Another reason for this trip was to make contact with soon-to-be teammates face-to-face. It helps to know the faces you are working with. It was nice to also get to know my new colleague better that was in a similar situation: just started in the company, waiting for tursel and joining the same project.
Gofore Jyväskylä was in the middle of moving to a larger office at the center of Jyväskylä. We had barely been able to move to the new office and set up our desks when the company declared a remote-first corona policy, as was the government’s recommendation. I had set up my desk and was able to at the new office for merely a few days before this took place. It was unfortunate to not be able to meet new colleagues more before jumping in on the project but it was also nice that I had had a glimpse of people that I was talking to on Slack.
Thankfully around at the same time, I had been able to start in the customer project and got to do some coding in that project. Not being in the new office was not that big of a deal since half of the project team worked further away anyways. At the start, we had plenty of telcos (Slack and Teams calls) to get things rolling and it was good to start coding in a new project with another person. We could share our insights on the project that we had accumulated doing feature X and both of us got to learn new things during this back and forth exchange of knowledge.
Photo: Gofore Jyväskylä office visible from Jyväskeskus
Balancing work and everything that happens in life
The working life during corona was pretty straightforward. Wake up, eat something and brush teeth and walk 2 meters from kitchen to computer. Start the day by browsing features or continue one that had been started earlier. Dailies are also a good time to talk with teammates since there’s far less natural contact with workmates – no talking during coffee breaks or in the hallway or can’t go to their desk to ask or discuss something.
The year, in general, has been somewhat of a roller coaster for me. Starting a new job, a close person dying, corona, getting married in midst of all of this, and so forth. I can be thankful since there haven’t been any problems fitting my holidays to align with wedding plans, or to be able to take a day or hour off to arrange things that needed to be done. I have had to just take initiative to secure that there won’t be problems with the project I am working in. And for this work and life balance, I can sincerely recommend Gofore as a working place for you. You can read more in Finnish about Gofore as a workplace from our blog.
You can also see the currently open positions at https://gofore.com/en/careers/ or just send on an open application if you think you could be a fit for Gofore.
Also, I’d be happy to answer questions regarding my journey so far or things that tickle your curiosity.
This year has truly managed to surprise all of us. The situation is forcing us to react and make changes quickly. That is why digitalisation, too, is progressing in leaps and bounds. These times demonstrate the need to move even faster and keep the society going, despite the crisis.
For our customers, this has meant changes in their plans and adopting new practices quickly. Even the forms of work are changing radically. While teleworking comes naturally to many people, others have been taken off guard by the situation. However, we have all been pleasantly surprised by how amazingly well our customers have adapted and projects have moved forward. Let’s hope that the bold reshaping of organisations and digital services will continue.
Enabling and securing operations and services has become a key theme of the coronavirus era. Many services remain dependent on people’s physical presence, and work is often tied to a certain place. Out of necessity, problems are being solved innovatively and agilely. Many issues that seemed impossible in the past have been made to succeed from the practical, cultural, and technological perspectives. While several solutions now in place meet long-term needs, others are temporary. And we are shaping improved, more permanent solutions for such cases. Many issues are still unresolved, however, the aim is to build a digital society that keeps going even if we encounter another crisis like the current one.
We succeed when our customers succeed
Our job is to help our customers build digital change. We succeed when our customers succeed and we can see digital services working in people’s everyday lives. Alongside our long-term partners, we have been helping to build Finland’s digital foundation. Some of our major projects include comprehensive renewal of employment services and advanced digital services for early childhood education and teaching.
In early September, we will bolster our quality assurance and test automation expertise, when Qentinel becomes part of Gofore. This is a complementary piece for our service range: we can now proudly confirm that we can provide customers with a broader set of world-class expertise and more comprehensive digitalisation services. Silver Planet’s consulting services will also be more integrated with Gofore’s service range: together, we make one of the most effective advisory consultants on the digitalisation of society in Finland and, hopefully, in time to come, internationally.
Impact and relevance are the starting points
This year has largely been shaped by efforts to maintain basic activities, but it’s been great to see how sustainable development and social responsibility have become a more prominent part of our customers’ projects and our services. During the year, we have helped to develop a solution for reducing phosphorus levels in the Archipelago Sea and have been working together with customers to solve problems associated with the coronavirus, from cleaning respirators to developing remote collaboration.
At Gofore, we believe that great things will be achieved with the aid of technology. We regard relevance and impact as key drivers for our projects. Together with our customers, we will continue working towards a better digital world — flexibly and agilely, while adapting to the situation.
Read also my blog post: From forced change to a positive outcome