03 Aug My start as a Software Engineer
On the 1st of July, I started as a Software Engineer at viesure – the curiosity accompanied me already before though. I was extremely excited and keen to learn more about software engineering, cloud and open-source software. Meeting new colleagues, getting to know the team culture and diving into next-generation services to broaden my experience for life.
In the year before, I successfully completed my studies in International Industrial Engineering. The course of study deals with many technical areas but less with a specific in-depth field. One of these areas was also Computer Science and I found it a pity that this area was not taught further. Although the students were repeatedly told how important it is, and how much potential this area has in the future. Moreover, I noticed this in my private as well as in my professional environment.
From shelf clerk to support engineer, I had already mastered career changes. So I took matters into my own hands again. I attended warm-up and online courses and listened to podcasts about programming and Computer Science. Bit by bit I tried my hand at programming examples and a full-stack project. But was that enough? (vie)Surely not! I wondered if I would ever be able to catch up on the knowledge my colleagues had acquired through their education and experience. Whether others feel the same way about running into every mistake and being surprised by unexpected behaviour, and even spending days, if not weeks, trying to solve these problems. In this respect, I have very high expectations of myself. I became introverted, solitary, and really dived into the subject. But why make life so difficult and work so inefficiently?
The viesure way
Before my official start day, I was allowed to come to viesure, located at Talent Garden Vienna, get to know the surroundings, sense the atmosphere and meet a few colleagues in advance and ask questions.
I chatted about the workday at viesure and talked about technical topics. For Dalibor, Head of AI, it was not unusual to describe how important video cards are to machine learning and how data is computed with its use. Rene, Head of Technology, took his time and explained on a whiteboard how a Hashing algorithm works. I like the fact that there is no separation between the departments. It is openly designed and full of small things that put a smile on your face. This is also reflected in the mindset. At viesure, it is the most natural thing in the world that cooperation leads to collaboration. Researching and sharing knowledge with each other is a daily business, independent of hierarchy, role and origin. We appreciate it and have fun while discussing a complex topic. The effort of one helping another in a task is not questioned due to the fact that this is also a step to the shared mission. Developing high-quality software is a team effort. Up to my beginning and beyond, the doors were and are still open for questions, practising and even borrowing literature like technical books and magazines.
My first day
Despite many team members working remotely, a few colleagues came to Talent Garden for onboarding and welcoming the new members. I especially liked the fact that I spent the first day mostly independent of my Scrum team. I got to know colleagues from different areas, such as AI, Mobile Development, DevOps, System Architecture, Marketing. Stefanie, a Scrum Master, introduced the newcomers with an introduction to Scrum and we talked to Product Owners. Together with Markus, a Software Engineer, I did the setup of my computer. With him, I found a learning partner for Java and moreover, another mentor for all kinds of issues. We started the very next day with our daily-one-hour Java course.
The further days and weeks, I made my way through Atlassian tools, downloaded and installed missing programs, asked and got access to further accounts and refined tool settings. Thanks to Martin, using CLI, especially terminal and vim, is not just an evitable evil but accurate and joyful. I was amazed that there are so many games, modifications, schemes and configurations.
I was part of the Standups of each team to meet everyone due to the circumstances at least once and remotely. Finally, I got to know the still-forming team I will support and work with. Furthermore, I adapted to the rhythm of regular meetings like daily Standups, weekly Backlog grooming and biweekly Retrospectives, the weekly Development Jours fixes and biweekly Tech Tea Time meetings. I committed to administrative topics like a future team and task rearrangement concerning collaboration with new team members. Although I was only here for a few days, I already participated in a Meet&Greet with a potential future colleague. And I realised that I am now on the other side and answer questions.
My first tasks
Beneath the administrative part, there were other duties. Getting to know technologies and training my skills, I participated in Udemy courses about Java, AWS Cloud Practitioner and more. Furthermore, I practised on getting-started-examples of Docker and Antora. With the help of my colleagues, I quickly gained knowledge of the essential technologies. Christian gave me an excellent comparison of Amazon ECS and EKS, how to perform monitoring with Prometheus and visualisation with Grafana. Markus gave an overview of the infrastructure and the application. In another session with Elias, the application, its structure and methods were explained in great detail.
I contributed to two Tech Tea Time Challenges. Firstly, I worked with my team colleagues on a Radar chart concerning our team’s maturity, which I volunteered to present. Secondly, I prepared a ‘Hello World’ in Groovy and another one in Java with Stefanie. It was my first time at viesure that I introduced someone to a new topic, which I highly appreciated. Furthermore, I could experiment with Spring Boot and Spring Web MVC. Rene showed me the difference between these two. How elegant and comfortable a ready-to-use frame for an application can be bootstrapped with Spring Boot. Moreover, he recommended further literature on design patterns. With the progress of my daily Java course, my knowledge in Java programming progressed. Due to that, I prepared two presentations including theory and examples for the Development Joure fixe.
Patrick, a senior Software Engineer, probably suffered the most as I asked him often for help. Thus, pair programming sessions were the most effective and efficient. I learned how to debug, set breakpoints and check step-by-step while jumping through these. Writing a schema for a schema gave me a hard time. With Patrick’s patience, knowledge and help, I could finally extend the JSON-meta-schema, write and implement test cases in Kotlin on the lint and adapt the documentation on the viesure Guidelines. By sharing my screen, he guided me through my first commit, push and merge request. I was highly excited and curious about the code reviewing, the feedback and the discussions. Rewriting and correcting until everything is perfect for each reviewer is crucial. Our customers and we profit from a clean code and precise documentation.
Last but not least, I joined a Google Cloud Anthos study jam, where I was introduced to app modernisation and hands-on practising by leveraging technologies like Kubernetes containers and microservices. I especially enjoyed getting to know the Anthos Dashboard. For a deeper understanding of the details behind, Cristian provided his extensive repository to go through.
The silver lining on the horizon
Before starting as a Software Engineer at viesure, I was aware of life-long learning, especially in such a fast-developing field like Computer Science. Without my colleagues and their help, I would easily lose the focus on the important topics and the connections between them. I spent most of this month working remotely. With the right tools rightly used and a proper mindset, working remotely can be at least equally fulfilling and performing. Gratefully, I enjoy every come-together with my colleagues for introducing topics, small talks and chats about games and anecdotes, but also for challenges, pair programming, courses, code reviewing and discussions.
After my first month, my next tasks include the onboarding of new team members, getting specialised in API specifications and reviewing the viesure Guidelines. In the next months, I am heading to pass the OCA Java 8, the AWS Cloud Practitioner certification and become a vim ninja 😉 I am looking forward to new challenges with which I can grow both, personally and technically, live out my creativity and encourage my colleagues.