Kansallinen palveluväylä tulee loppuvuodesta. Jos organisaatiosi haluaa liittyä siihen, voit jo nyt testata sitä julkisen kehitysympäristön kanssa. Liittyminen on periaatteessa hyvin helppoa ja nopeaa. Tarvitset vain liityntäpalvelimen, jota varten suositellaan dedikoitua (virtuaali)palvelinta. Palvelimen asennus onnistuu pienen konfiguraation jälkeen yhdellä komennolla palveluväylän Ubuntu-repoista ja myöhemmin myös RPM-repoista. Tämän lisäksi tarvitaan varmenteet ja tarvittavien portien avaukset palveluväylän ylläpidolta sekä tietysti ajatus siitä, mitä palveluväylään liitettyä palvelua halutaan käyttää tai mitä palvelua halutaan tarjota.
Mikäli toimittajasi mukaan palveluväylään liittymiseen menisi päiviä, kannattaa kysyä tarjous myös Goforelta. Pystytimme koko palveluväylään liittyvän infrastruktuurin tyhjästä sisältäen palvelinten hankinnan alle parissa päivässä. Palveluväylään liittyminen on tästä vain osajoukko.
kansallinen palveluväylä
Gofore on vahvasti mukana Kansallisen palveluarkkitehtuurin kehittämisessä. Palvelunäkymien, tunnistuksen, roolien ja valtuutusten hallinnan lisäksi Gofore on myös toimittajana Kansallisen palveluväylän jatkokehitys- ja ylläpitoprojektissa, jonka ensimmäisiin kokemuksiin tämä blogi perustuu. Kansallinen palveluväylä pohjautuu Virossa kehitettyyn X-Road -teknologiaan, joka on ollut siellä käytössä jo vuosituhannen alusta saakka. Projektimme pohja on X-Road versio 6, joka kokonaan uudelleen kirjoitettu versio aiemmasta X-Roadista. Versio 6 ei ole vielä Virossa käytössä; se pyritään ottamaan käyttöön loppuvuonna 2015.
Oman projektimme aikataulun mukaan valmista pitäisi olla marraskuussa ja uusi palveluväylä silloin tuotantokäytössä, joten on mahdollista, että Suomessa otetaan X-Road 6 -pohjainen palveluväylä käyttöön ennen Viroa.
Projektimme tarkoituksena on jatkokehittää palveluväylää Suomen vaatimuksia vastaaviksi. Toteutamme mm. lainsäädännön vaatimat muutokset lokitukseen, salausasetuksien muutoksia, monitorointiominaisuuksia sekä helpotamme palvelunväylän käyttöönottoa monille organisaatioille toteuttamalla liityntäpalvelimelle RedHat-tuen ja RPM-paketoinnin. Tällä hetkellä X-Road on asennettavissa Ubuntu-palvelimelle apt-getilla X-Roadin repoista. Suomessa tämän lisäksi tulee mahdolliseksi asennus RPM-repoista.
Töiden varsinainen käyntiin polkaisu tapahtui kaksipäiväisessä workshopissa, jossa mukana oli allekirjoittaneen lisäksi Jansu ja Ilkka Goforesta, Petteri VRK:lta sekä virolaisen Cybernetican X-Roadin kehittämisestä vastaava arkkitehti Margus. Ensimmäinen aamupäivä käytettiin teknologiaan ja arkkitehtuuriin tutustumiseen Marguksen esittelemänä. Kun esittelykalvot iltapäivällä loppuivat, kysyimme, olisiko mahdollista pystyttää oma täydellinen palveluväyläympäristö käännetyistä lähdekoodeista. Tähän tarvittaisiin neljä palvelinta ja Magus ehdotti, että loppupäivän aikana yrittäisimme pyytää tarvittavat palvelimet, jotta pääsisimme jatkamaan seuraavana päivänä. Itse kuitenkin olimme sitä mieltä, että yritetään edetä vielä vähän nopeammin. Perustimme Amazonin AWS:ään tilin ja käynnistimme sieltä neljä EC2-instanssia palveluväylän infrastruktuuria varten. Päätimme, että emme tässä vaiheessa pystytä omia varmenne- ja aikaleimapalveluja (OCSP ja TSA), vaan käytämme näitä CSC:n tarjoamasta julkisesta kehitysympäristöstä, joten otimme yhteyttä CSC:hen ja pyysimme tarvittavat palomuurit auki. Tämän jälkeen voimmekin aloittaa palvelujen pystyttämisen. Aloitimme keskuspalvelimesta (Central Server), jonka asennus sisälsi periaatteessa käyttäjän luonnin ja muutaman konfiguraation lisäksi .deb-pakettien asennuksen. Pakettien asennuksen yhteydessä tehtiin tarvittava konfiguraatio ensin paketinhallinnan konfiguraation kautta ja lopuksi keskuspalvelimen käyttöliittymästä. Palvelun testaamiseksi asensimme kaksi liityntäpalvelinta (Security Server), joiden roolina on simuloida kahden eri organisaation liittymistä palveluväylällä. Liityntäpalvelinten asennus meni vastaavasti kuin keskuspalvelimella. Näiden kolmen palvelimen lisäksi neljäs palvelin on varattu tietopalvelulle, jota käytetään palveluväylän infrastruktuurin ja viestien välityksen testaamiseen. Käytön helpottamiseksi pystytimme nimipalvelun (AWS Route 53) ja otimme käyttöön pysyvät IP-osoitteet (AWS Elastic IPs). Liityntäpalvelinten pystytyksen jälkeen teimme käyttöliittymän kautta sertifikaattipyynnöt ja lähetimme CSC:lle varmepalveluun liittymistä varten. Tässä vaiheessa lopetimme workshopin ensimmäisen päivän osalta ja jäimme odottamaan sertifikaatteja.
Seuraavana aamuna mukaan tuli CSC:n Pekka, joka antoi sertifikaatit liityntäpalvelimillemme ja pääsimme testaamaan järjestelmää. Pystytimme esimerkkipalvelun, jonka liitimme toiseen liityntäpalvelimeen. Tämän jälkeen törmäsimme ongelmaan; palvelu toimi suoraan kutsuttuna, mutta ei palveluväylän kautta. Syyksi osoittautui vanhan X-Road -version mukainen schema, jonka päivittämällä saimme saimme viestit kulkemaan ja palvelun toimimaan palveluväylän kautta. Aikaa jäi hyvin muille asioille ja pääsimme lopettamaan workshopin hyvissä ajoin.
Workshopin jälkeen työ ympäristön parissa jatkui mm. dokumentoinnilla, testipalvelun säätämisellä, kehitysympäristön tietoturvan varmistamisella ja asennuksen automatisoinnilla Ansiblen avulla ja teimmepä vielä scriptin, joka kustannusten säästämiseksi sammuttaa EC2-instanssit yön ajaksi.
Tässä vaiheessa näyttää siltä, että projektimme suurimmat haasteet eivät tule olemaan teknisiä, vaikka toki teknisiäkin haasteita riittää, ja osa työlistalla olevista asioista on sellaisia, joiden vaatimasta työstä ei ole vielä käsitystä. Suurimmat haasteet ovat todennäköisesti kuitenkin organisatoorisia. Kehitys tapahtuu yhteistyössä Suomen ja Viron viranomaisten kanssa ja osa ominaisuuksista tehdään yhdessä Virolaisen toimittajan kanssa. Ajatuksena on myös, että toteutamme muutoksemme Virolaisten kanssa yhteiseen koodipohjaan. Esimerkiksi juuri yhteisen versionhallintarepon käyttöönotto ei näytä onnistuvan sormia napsauttamalla, vaikka me ja kaikki tapaamamme osapuolet: Suomen viranomaiset ja virolainen toimittaja ovat sitä mieltä, että se tarvitaan.
Jäämme odottamaan valtiotason sopimuksia.

Avatar

Sami Kallio

Sami on kokenut ohjelmistoarkkitehti ja huippuasiantuntijoista koostuvan tiimin vetäjä. Hän on osallistunut lukuisten erilaisten yksityisektorin ja julkishallinnnon tietojärjestelmien kehittämiseen vakuutusjärjestelmistä mediasektorille ja joukkoliikenteestä rahastotoimintaan Suomessa ja ulkomailla.

Piditkö lukemastasi? Jaa se myös muille.

Code your configuration

It feels that html and css are more configuration than code when writing an average webapp. This often manifests as a kind of write-only nature of html and css. In addition debugging these parts of your app is most difficult.
Dictionary defines configuration as relative arrangement of parts, or as functional arrangement. When considering applications or computer systems, this would mean the kind of composition that is achieved by using the system under configuration. For example HTML and CSS define the kind and style of predefined components that form a web page whereas backend software’s configuration would be where to find a database server and how to connect to it. A typical feature of this kind of configuration is that the configuration is written as is and does not provide any executable features such as loops.
Typical web frameworks try to solve this problem of generating configuration for the browser but they fail to regard this inner nature of the problem and rather view a web application as some kind of state machine which tightly integrates with DOM. Good examples of this are Angular directives and web components that basically ship independent pieces of configuration to your browser. Afterwards you can programmatically integrate these into your application but the problem remains that your UI is represented as configuration.
Typical configuration formats such as JSON, XML and by extension HTML and CSS suffer from the lack of programmability. What you write is what you get. There is no support for loops or any other kinds of comprehensions within these formats. In addition, there either is no validation (e.g. JSON) or validation is horribly complex and still ineffective (e.g. XML). Others have realised this problem too and Google has released Jsonnet that extends JSON by providing templating, loops, etc and can be compiled into standard JSON.
This abstraction can be extended into other programming languages too. Clojure is one example of a programming language where every is expression is a value. This allows us to write a literal representation of our JSON configuration and output it into proper JSON. In the following example I define a simple JSON file using native clojure data structures and functions. This is then executed with relevant parameters and passed to a standard JSON encoder. This gives us a programmatically generated JSON which closely resembles the original clojure data structure but lacks the expressive power that was inherent in the clojure version. However this proves that it is possible to use powerful programmatic tools to produce configuration.
https://gist.github.com/9140163d12590081e6a2
React works the same way. It allows us to programmatically define our configuration, in this case HTML and CSS. This is then transformed to a DOM representation. In addition, React extends the syntax of JavaScript with JSX to allow native embedding of HTML elements which are part of our generated configuration now. In a way, this is similar to how JavaScript already allows embedding its own data structures as JSON.
https://gist.github.com/e27ad275cb0c122755c7
So how can we move forwards and embrace code over configuration? New web technologies are already embracing this change in thinking. JSX moves HTML and CSS generation inline with your application code and effectively turns HTML into a programmable language. Web components allow encapsulation of HTML and CSS into components and thus enable abstraction. When it comes to other modes of configuration, such as JSON and XML, it might be a good idea to generate the configuration from some other format. Programs such as Vagrant have already demonstrated that configuration is easily doable as code.
There are some limitations though. If you need to change your configuration in a live production or environment, the necessary development tools might be unavailable. In addition, if your configuration change in code needs a recompilation, this is very likely to be impossible too. However containerization and other modern ways of deploying software have greatly reduced the need to edit configuration files on servers. Rather the editing of configuration is done through deploying the application again. This allows editing the code/configuration using editors and IDEs that actually support your programming language.

Avatar

Lauri Hahne

Piditkö lukemastasi? Jaa se myös muille.

In its simplest form JavaScript web development consists of two phases: 1) writing code in the editor and 2) reloading and testing the application in a browser, to verify the code works as expected. This kind of workflow, perhaps enhanced with a build pipeline using – say – grunt or gulp, is probably still the most common way of developing web apps. However, it’s not very interactive, because there’s a delay between writing code and observing how it behaves.
We can do better than this.

What is Live Editing?

Live editing, also called interactive programming, enables developers to see the effects of code modifications nearly instantly, thereby tightening the feedback loop.
From a technical point of view, live editing consists of two components: 1) modifying running code (hot-swapping) and 2) re-executing it in order to observe changes.
live-editing
The animation above demonstrates live editing as performed by Bret Victor. When the program code on the right-hand side is edited, the program is re-executed and changes can be observed instantly. Talk about a tight feedback loop!

Hot-swap JavaScript in Chrome

You might think that live editing is possible just in theory, but in fact, it can be achieved today with existing software development tools.
JavaScript language characteristics support hot-swapping, since methods and functions can be overridden at runtime. Even better, Chrome developer tools provide built-in support for hot-swapping and live editing. I have found it especially useful in killing bugs, as demonstrated by Paul Irish in this video. Extensions such as fb-flo can be used to integrate hot-swapping into your build process.
So, what’s the benefit of hot-swapping compared to just reloading the page? For a simple application reloading the page might work fairly well, but imagine you are modifying a function that is heavily dependant on the application state (for example processing user input from a multi-step form). Reloading the page destroys the application state and you have to manually fill the inputs etc. before you can re-run your code. In contrast, hot-swapping retains the application state. However, you still need to trigger the re-execution of the code in order to see how it behaves. In a typical web application this involves clicking a button that triggers the execution of the function that was modified. If you are editing with Chrome developer tools, you can also re-run code by restarting the frame.

Tracr – A Tool for Code Hot-Swapping and Automatic Re-Execution

This spring Gofore (the company I work with) gave me the opportunity to research JavaScript developer tools in my master’s thesis. I ended up designing and implementing a prototype of a new JavaScript development tool called Tracr. It integrates with the Brackets editor and provides hot-swapping and automatic re-execution of JavaScript code.
tracr-live-editing
 
Tracr workflow consists of two phases. First, in the capturing phase, the system must be taught how to “use” the web application that is developed. In practice this means that Tracr records user input, such as mouse clicks and keyboard events, while the web application is being used. This step is needed in order for Tracr to know how to trigger re-execution of the functions when they are edited.
The second phase is activated when the developer decides to live edit code in Brackets. In this phase Tracr simulates the captured user input in order to replay the web application to the exactly same state as in the capturing phase. Now, Tracr evaluates code and displays the results of each statement immediately as code is written.
Tracr has been released as open source software at http://tracr.org. At the moment it is only a proof-of-concept that demonstrates how hot-swapping and automatic re-execution can be implemented with vanilla JavaScript.

Final thoughts

I believe that the developer experience will continue to get more interactive, not only for JavaScript but for other programming languages as well. Live editing is a key component in this evolution, and we will continue to see new tools and editors that improve the editing experience. Recently also testing became more interactive with Wallaby.js that ”runs your code as you write it”. Seems like an interesting project to check out!

 
 

Avatar

Alexis Troberg

Piditkö lukemastasi? Jaa se myös muille.

React Native was released a few months ago and it brings a new approach to mobile development by bringing web development tools to native mobile development. Compared to older hybrid mobile frameworks, such as PhoneGap, React Native uses native UI controls to provide fully native look and feel. In addition, it allows us to leverage existing JavaScript libraries and frameworks such as RxJS, lodash, and Bacon.js. It provides a browser-like execution environment with features like XMLHttpRequest and window.fetch. Application layout is specified using a CSS-like DSL. All of this makes it possible to reuse existing web development expertise and even existing code on native mobile development.
React Native works by executing your application as JavaScript on the phone. Your code and the UI layer are executed on different threads and React Native asynchronously handles all events between these two. Native UI controls are exposed as JavaScript classes that are then used just as HTML elements are used on a regular React web page. React Native provides wrappers for the most common UI controls and it is possible to create your own wrappers to access apis that are not supported out of the box.
Facebook’s recent Groups app uses React Native so it has already proven itself in production to some extent. In addition, it appears that a rich ecosystem of third party components is already developing.

Sharing your code

I developed a proof of concept application that downloads train timetable data from a public rest api and displays it on your phone. The user interface is pictured below. In addition, I developed a simple React based web site that uses the same application logic to fetch timetable data. This demonstrates that it is indeed viable to share common business logic between the browser and a React Native application. The full example can be found at https://github.com/lhahne/trains.
react native iphone
A React Native app displaying train timetable data
react native browser
A React application displaying train data using the same underlying components as the React Native app
React Native’s JavaScript environment provides a browser-like execution environment. This makes it trivial to use same JavaScript code on both mobile and web. In addition, React Native provides a node.js and browserify like require system so you can use the require function just as you are used to. React Native also provides JavaScript transformations that allow you to use ES6 features on your code just as if you were using Babel when doing web development.
All this commonality makes it rather trivial to share source code between React Native and web. If we are to use the typical Flux architecture, it would mean that our stores would be shared code. The UI layer would then be written specifically for each native platform using React Native and for web using React.
react native architecture
In practice we can use any JavaScript library from npm and then construct our actions and store logic. Specifically I used bacon.js to implement a simple FRP style store that fetches data from a public api. This implementation is fully compatible with both React Native and browsers that have window.fetch polyfilled.
Then a standard React view to display this on browser becomes
and using React Native on iOS this can be implemented as
 
We can see here that both implementations share the same store layer code. The UI layer is then implemented natively using either React or React Native. In addition, the structure of both views is very similar. It becomes apparent that knowledge of React and JavaScript programming is more important here than the knowledge of native APIs and native development. The full example application can be found on github at https://github.com/lhahne/trains.

Conclusions

React Native demonstrates that it is indeed possible to share code between the web and mobile platforms. In addition, programming React Native resembles web development more than native mobile development. This allows developers to quickly translate their existing web development skill to native mobile development. React Native provides much more native feel than other crossplatform tools such as phonegap. However not all native UI components have yet been implemented so achieving native feel is easier than achieving native look. Yet React Native is currently only available on iOS. Android version is supposedly upcoming but nothing has been released yet.

Further Reading

React Native
React Native’s JavaScript environment
Building Custom React Native Components From Scratch
Components for React Native

Avatar

Lauri Hahne

Piditkö lukemastasi? Jaa se myös muille.

Gofore on voittanut Väestörekisterikeskuksen kilpailutuksen kansallisen palveluväylän jatkokehityksestä ja kehittävästä ylläpidosta.
Palveluväylä on kansallisen palveluarkkitehtuurin tiedonvälityskerros, joka määrittää, miten tietoja ja palveluja välitetään eri tietojärjestelmien välillä.
”Palveluväylä perustuu X-Road-tekniikkaan, joka on tehty Virossa heidän palveluväylänsä tarpeisiin. Omassa jatkokehitystyössämme sovitamme ratkaisua Suomen toimintaympäristöön vahvistamalla erityisesti tietoturvaa ja väylän teknistä luotettavuutta,” sanoo hankepäällikkö Eero Konttaniemi Väestörekisterikeskuksesta.
Konttaniemen mukaan työn alla on nyt kolme isoa kehityspakettia, joilla taataan palveluväylän helppo käyttöönotto, tietoturvallisuus ja luotettavuus: suomalaisessa IT-ympäristössä käytetyn Red Hat -tuen toteuttaminen käyttöjärjestelmälle, tietoliikenteen lokitus suomalaisia tietoturvavaatimuksia vastaavaksi sekä valvontatoiminnallisuuksien luominen vikatilanteiden selvittämistä varten.
Palveluväylän jatkokehitystyön lisäksi Gofore on VRK:n kumppanina ja tukena palveluväylän käyttöönotossa ja palvelutuotannossa.
Palveluväylän on määrä olla tuotantokäytössä loppuvuodesta. Konttaniemi uskoo, että mukana on tuolloin myös puolenkymmentä organisaatiota.
”Kansallisen palveluarkkitehtuurin toteutuksessa ollaan niin pitkällä, että organisaatioiden kannattaa alkaa valmistella oman palvelunsa ja tietovarantojensa liittämistä palveluväylään. Maaliskuussa avattu kehitysympäristö on kaikille avoin kokeilualusta, jossa voi ottaa tuntuman asiaan ja jota vasten voi jo tehdä omaa kehitystyötä,” Eero Konttaniemi kannustaa.
Kansallisen palveluarkkitehtuurin (KaPA) rakentamisella valtio panee vauhtia digitalisaation hyödyntämiseen julkisessa hallinnossa. KaPA-ohjelmassa luodaan   Suomen digitaalisten palvelujen infrastruktuuri, jonka ansiosta julkisen hallinnon palveluja voidaan uudistaa asiakaslähtöisesti, ei tietojärjestelmien yhteensopivuuden ehdoilla. Ohjelman toteutuksesta vastaa Väestörekisterikeskus valtiovarainministeriön ohjauksessa.

 ”360 asteen näkymä KaPAan”

Kansallisen palveluarkkitehtuuriohjelman eli KaPAn neljä keskeistä hanketta ovat palvelunäkymät, tunnistus, roolien ja valtuutusten hallinta sekä palveluväylä.
Gofore on mukana toteuttamassa kaikkia näitä hankkeita. Lisäksi se osallistuu palveluväylän ja palveluarkkitehtuurin viitearkkitehtuurityöhön.
”Voi sanoa, että meillä on ainutlaatuinen 360 asteen näkyvyys kansalliseen palveluarkkitehtuuriin,” sanoo johtava konsultti Mikko Kolehmainen Goforesta.
Goforen toimitusjohtaja Timur Kärki on tyytyväinen, että yritys pääsee hyödyntämään vankkaa kokemustaan julkisen hallinnon sähköisten palvelujen uudistamisesta eli missionsa mukaisesti pelastamaan Suomea.
”KaPA-ohjelma on juuri se kokonaisuus, jonka avulla on mahdollista toteuttaa tuoreeseen hallitusohjelmaan kirjattu tavoite yhden luukun digitaalisten julkisten palvelujen kehittämisestä,” Kärki sanoo.
 Lisätietoja:
Gofore Oy, Mikko Kolehmainen, johtava konsultti, strategiset asiakkuudet, p. 040 589 2725
Väestörekisterikeskus, Eero Konttaniemi, hankepäällikkö, p. 0295 535 024
Kansallinen palveluarkkitehtuuri verkossa, mm.:
http://vm.fi/palveluarkkitehtuuri
esuomi.fi  – kansallisen palveluarkkitehtuuriohjelman viestintäkanava
www.palveluvayla.fi  – palveluväylän kehitysympäristö
Twitter: @vm_kapa

Gofore Oyj

Gofore Oyj

Piditkö lukemastasi? Jaa se myös muille.

Suomen 3. paras työpaikka 2015, it-johdon konsultointi- ja ohjelmistotalo Gofore Oy, on valittu yhdeksi Euroopan parhaista työpaikoista pienten ja keskisuurten yritysten sarjassa. Sarjassa palkittiin Euroopan 50 parasta työpaikkaa.
Great Place to Work® palkitsee vuosittain yrityksiä, joissa työntekijät luottavat organisaationsa johtoon, arvostavat työtään ja viihtyvät keskenään. Goforen kulttuurista ja osaamisista vastaava johtaja Erkki Salminen sanoo olevansa ylpeä Goforen saamasta tunnustuksesta.
Euroopan parhaat työpaikat -listasijoituksessa painottuvat työntekijöiden arviot työpaikastaan. Gofore sai tutkimuksen Trust Index -kyselyssä erinomaiset pisteet. Tutkimuksen mukaan 100 % goforelaisista on sitä mieltä, että töihin on mieluisaa tulla joka päivä. ”Lähdimme tänä vuonna mukaan Great Place to Work -tutkimukseen ensimmäistä kertaa. On todella hienoa ja ilahduttavaa, että jo pitkään tekemämme työ hyvän työpaikan rakentamiseksi noteerataan heti myös Euroopan tasolla. Tämä on palkinto kaikille goforelaisille”, Salminen hehkuttaa.

Taloudellinen menestys ja henkilöstön hyvinvointi toistensa edellytys ja seuraus

Goforella on takana yli kymmenen peräkkäistä kannattavan kasvun vuotta, keskimääräisen liikevaihdon kasvun ollessa yli 40 %. Vuonna 2013 kasvua oli yli 60 %, viime vuonna 54 %, ja kova vauhti jatkuu tänäkin vuonna.
Gofore työskentelee laajasti hallitusohjelmassakin vahvasti esillä olevan digitalisaation parissa. ”Työn merkityksellisyydellä on keskeinen vaikutus työviihtyvyyteen. Koemme aidosti olevamme pelastamassa Suomea ja rakentamassa tulevaisuuden palveluita uudella, järkevällä tavalla. Yhteinen innostus ja sitoutuminen näkyvät työviihtyvyydessämme sekä takuulla myös asiakkaille ja käyttäjille toimivina ratkaisuina”, Salminen summaa.
Salmisen mukaan Goforen onnistumisen avain on se, että yritys rekrytoi tiukalla seulalla yrityskulttuuriinsa ja arvomaailmaansa sopivia ihmisiä. Luottamus henkilökuntaan ja vapaa työilmapiiri kantavat hedelmää loistavan työpanoksen ja sitoutumisen muodossa. ”Palkkaamme uusia goforelaisia jatkuvasti, tänäkin vuonna useita kymmeniä. Haluamme olla asiantuntijayritys, joka tarjoaa parhaan mahdollisen työilmapiirin ja kehittymismahdolllisuudet työntekijöilleen.”

Avoimuus ja yhdessä tekeminen

Samalla kun Gofore rakentaa digitalisoitumisen keinoin uutta tietoyhteiskuntaa, yritys kehittää uudenlaista ihmislähtöistä työkulttuuria. Yrityksessä uskotaan yhdessä tekemisen, avoimuuden, läpinäkyvyyden sekä keskinäisen arvostuksen ja luottamuksen voimaan. Trust Index -kyselyn avoimissa kommenteissa anonyymi työntekijä kuvaa ilmapiiriä seuraavasti: ”Ihmisille annetaan aidosti vastuuta työympäristöstä ja omasta työstään, ja jokainen voi halutessaan osallistua asioiden kehittämiseen. Toisaalta pakko ei ole osallistua, mikä sekin on hyvä.”
”Goforen yltäminen ensikertalaisena parhaiden työpaikkojen listalle on erinomainen osoitus siitä, että hyvä työpaikka on Goforen johdon arvovalinta, johon organisaation johtamiskäytännöt nojautuvat kokonaisvaltaisesti. Työelämä tarvitsee lisää Goforen kaltaisia inspiroivia esimerkkejä yrityksistä, joissa kannattavaa kasvua tehdään ihmisiä arvostavalla tavalla ja aitoa välittämistä huokuvassa yrityskulttuurissa”, sanoo Great Place to Work® Finlandin toimitusjohtaja Mona Rundberg.
Great Place to Workin tutkimukseen osallistui yli 1,5 miljoonaa työntekijää 2322 yrityksestä eri puolilta Eurooppaa. Palkintoja jaettiin kolmessa kategoriassa: suuret monikansalliset työpaikat, suuret työpaikat (yli 500 henkilöä) sekä pienet ja keskisuuret työpaikat (50–500 henkilöä). Euroopan parhaiden työpaikkojen lista julkistettiin myöhään torstai-iltana 4.6. Luxemburgissa.
Lisätietoja:
Gofore Oy
Johtaja, Kulttuuri ja osaamiset, Erkki Salminen
040 738 5650, erkki.salminen@gofore.com,
www.gofore.com

Avatar

Erkki Salminen

Goforen kulttuurista ja osaamisista vastaavana johtajana Erkin vastuulla on Gofore Crew Services, jonka tehtäviin kuuluvat mm. rekrytointi, osaamisen kehittäminen ja työviihtyvyys. Erkki haluaa huolehtia, että Goforella on Suomen osaavimmat ja parhaiten työssään viihtyvät työntekijät.

Linkedin profile

Piditkö lukemastasi? Jaa se myös muille.