A Personal Retrospective: Feedback and Thoughts

Iakkai Saga Map

This post is the retrospective and the personal feedback report I wrote to the management of Nautilus Cyberneering on my experience of working with Nautilus Cyberneering´s team as an external contributor. I was given the opportunity to share it here on their corporate website. I am thankful for this and it proves to me again the organizations strive towards full transparency.

Following, there are two sections in this post. I start of with the feedback I wrote and then I write about my contributions to give you a better overview of what I accomplished during my collaboration.

In this post the reader will find a first section where I give my feedback and a second where I write about my contributions.

PART 1 – Feedback

Personal Feedback

Through October 2020 to May 2022, I have worked on the projects for the group of people that now constitute Nautilus Cyberneering. Originally indirectly via Hyve Innovative Digital and now in a more direct way after the creation of the group.

During this collaboration, several projects and Proof of Concepts were developed. We researched and had many discussions, both technical and philosophical.

As a long-time external contributor to the company’s projects, I have taken the opportunity to share my experience, in the hope that it will be useful for all those who continue to be involved with the company, in particular the managers of the company.

General Feedback

Over the time that I have worked the Nautilus Cyberneering projects, I have:

  • Improved my knowledge and skills on several topics and technologies.
  • Felt productive and useful.
  • Been interested, motivated and engaged for all the projects I have worked on (although, for obvious reasons, every project is different, and some have been more appealing than others).
  • I have felt respected and valued as a team member.

I also found some of the technical decisions, tasks and even projects surprising and sometimes even one-sided. If there had been better explanations and a more comprehensive decision-making process, it is likely that I would have felt more engaged, making it easier for me to adapt and take the new direction.

The part that I probably liked the most is the company’s innovative approach to management and development. The approach of “openness” applied in every part of the organisation, not only in the code, is something really fresh that sets Nautilus apart from other companies. I believe that Nautilus should maintain this approach whenever possible.

The pure development process was also a lot of fun, because of the “horizontality” with which Jose led it (he is a much more experienced programmer than me, but never took a position of superiority) and because of all the small, big and interesting challenges we had to overcome.

The weekly meetings and roadmap helped to create an atmosphere of ‘high goals’, exploring advanced concepts and setting ambitious medium-term milestones. Although this was sometimes intimidating, it can be a real challenge for many developers who are tired of the typical standard projects.

Keep Doing

Below are the specific aspects of my cooperation that I personally liked more or that were more valuable for my personal development:

  1. The opportunity to learn and improve myself personally

Some projects or functions required knowledge that I did not have. The management gave me the time I needed to acquire this knowledge and develop the necessary skills. Also, working with a small but diverse team with high qualifications in different areas was a really enriching experience.

  1. Motivation

I felt that my work was valued and given feedback and was a useful contribution to a larger project.

  1. Confidence and Flexibility 

Sometimes it was really difficult to coordinate with other edataconsulting projects and my responsibilities as the father of a young child and his sudden and unexpected needs. At Nautilus I wasn’t forced to meet strict availability deadlines or rigid deadlines, which was helpful given my other personal and work commitments.

  1. Patience and Understanding

Although I have years of experience, I am relatively new to some complex architectures and design patterns, as well as some workflows and methodologies that require a large repository of comprehension. The team didn’t put any pressure on me, and I was able to climb the learning curve smoothly.

  1. A Balance between Corporate Needs and Personal Satisfaction

Occasionally, when I felt personally interested in some non-urgent aspects of development, such as creating a librarian logo or researching image metadata, when I asked for it, I was allowed to do so.

Unusual and inspiring approach to development and corporate culture: One of the most attractive features of Nautilus Cyberneering is its unique corporate culture. More horizontal than many others, with a lot of autonomy given to team members and, of course, the already mentioned openness. All these aspects were extremely refreshing and stimulating.

What needs to be improved

The following are some aspects of the company’s operations that, in my opinion, could be improved. Obviously, I would not like them to be perceived as criticism, but simply as subjective feedback on procedures that could be corrected and optimised.

  1. Format of Meetings

Sometimes weekly meetings prove tedious for me. For instance, when it comes to technical details, I find it really difficult to concentrate for more than 90 minutes, and often meetings last longer. It might be useful to have two weekly meetings or to stick to an agenda more strictly.

  1. A Volatile and Unpredictable Roadmap

Although most of the time the ‘organic’ and flexible nature of the project was exciting and stimulating, sometimes I felt that some unexpected changes to the organisational roadmap meant discarding (or at least abandoning and not using) some of the previous work. In addition, my vision of the tasks ahead and the interim achievements had to be adjusted several times when priorities changed, and this caused me a certain sense of uncertainty.

  1. Some hard top-down decisions

Sometimes I felt that some decisions or decisions discussed in the weeklies came “pre-cooked” and predetermined, and in some cases I would have preferred to be involved in the brainstorming, evaluation and decision-making process.

Expectations for the Company

According to my experience with the group, its projects and comparison with other companies I have worked with, I do think the company can develop in the following way in the future, and I would sincerely like it to do so:

Growth

This company has great potential for growth, both in terms of personnel and projects. Especially, the uniqueness of its organisation and the avant-garde nature of its concepts should be enough to convince a team of extraordinary developers to join it. However, of course, they need to be aware of the company.

Given this, in my humble opinion, what the company needs most at the moment is to be known. I know there are specific actions (blog, social media, events…) to do this, but I think there are two important key actions that need to be taken:

  1. Branding

The company lacks a professional and attractive corporate image. Some branding tasks have been solved by Constantin (well done), but the corporate image is something complex involving several design tasks. The perception of the company is still vague and not very attractive.

  1. Events and Conversations

While attending events is a good way to become known, which is already done, hosting them or giving workshops is even better. Constantin has already done this, and I think it is a good way to spread the word about the company. In the new post-pandemic remote access environment, holding an online event with guests and audiences from all over the world may be ambitious, but it is possible. It could be dedicated to IA or CICD, and I’m sure a masterclass from Cameron would attract a lot of attention.

  1. Clear Information on Recruitment

I miss the typical “Join us” or “Work with us” section online explaining what the company offers. On LinkedIn you can offer jobs that are automatically sent out to possible candidates.

Evolution of Future Projects

Nautilus Cyberneering’s future projects (GitQueue 2.0, IA-powered online radio) are exciting, unique and technologically challenging. However, I believe that such powerful and ambitious visions need to be somehow tied to reality with a clearly defined roadmap, evaluation and resource allocation as well as defining milestones, milestones and/or iterations. As previously stated, very fluid projects without a clear roadmap can be frustrating for some developers, and I would honestly like to see those projects materialised. 

Inspiring Corporate Culture and Spreading the Word

I would really like to see more companies like Nautilus in terms of corporate culture and organisation. If projects start to materialise and the company starts to grow, it will certainly serve as an inspiration and even a model for other companies.

Conclusion

I want to express my gratitude for all the trust placed in me all these months, and for all the enjoyment and learning I have had. I honestly think that this has been one of the most unique job experiences I have ever had in my 20 years of career.

Certainly, I’m really looking forward to seeing the exciting future that Nautilus Cyberneering is about to experience, and I hope I will keep contributing somehow to it.

PART 2 – Contributions

Projects and Tasks

In this section I include a brief description of the projects I have been involved in, and the main task I performed in each one of them:

Boken Engine 

  1. Project URLs
  1. Development dates

From October 2020 to June 2021

  1. Description of the project

From the repository README: 

BOKEN ENGINE is a Swift Package with which any user, only with a few lines of codes, can generate full-fledged visual stories or slide based presentations for iOS and MACOs devices. It is based on SpriteKit. 

The user just must provide a human readable JSON description with some predefined properties, the image and sound assets, and initialize the framework within the project with just a few lines. 

  1. Technologies involved
  • XCode / Swift 
  • UIKit, SceneKit and SpriteKit and PathKit 
  1. Tasks
  • Research visual novel genre and storytelling frameworks 
  • Research possible XCode libraries related to media handling and interaction 
  • Implementation of a basic Visual Novel library 
  • Research package/library/framework distribution methods on iOS 
  • Extraction of the core library functionality into CocoaPods, Carthage and SPM distributables 
  • Framework documentation 
  • Framework branding 

Iakkai Saga 

  1. Project URL
  1. Development dates

From June 2021 to August 2021

  1. Description of the project

A demo project designed to showcase the possibilities of the Boken Engine. It is a graphic novel based on an original story by Constantin Bosse. The visual assets were also created specifically for the application, using the “doom metal cover” technique: blending via Photoshop parts of royalty-free images to create a composition that will have its colour and texture altered. The sprites (characters) were all drawn and coloured by Constantin Bosse.

Iakkai Saga artwork rendering example. Feedback
  1. Technologies involved
  • Boken Engine
  • Swift / XCode
  1. Tasks
  • Research visual novel storytelling and design.
  • Research  different ways of creating background images in a short time with an unique and appealing look.
  • Designing the general demo project and its scope.
  • Editing external assets.
  • Improving Boken Engine with the features needed by this project.
  • Editing the story description JSON and researching ways to automate and maintain it.

Chinese Ideographs

  1. Project URL
  1. Development dates

(Main involvement) From September 2021 to November 2022

  1. Description of the project

From the repository README: 

Ethical Software Artwork Management Continuous Integration Workflow for a Website, Book and Game

  1. Technologies involved
  • Python
  • GitHub
  • DVC
  1. Tasks
  • Research technologies to perform image manipulation programmatically.
  • Research tools to manipulate metadata.
  • Training DVC tool and advanced GIT usage.
  • Developing the workflow and the actions.

Nautilus Librarian

  1. Project URLs
  1. Development dates

(Main involvement) From December 2021 to February 2022

  1. Description of the project

From the repository README: 

A Python Console application to handle media libraries with Git and Dvc.

  1. Technologies involved
  • Python
  • GitHub
  • DVC
  • Docker
  • Poetry
  1. Tasks
  • Research the best way to extract functionality from the Chinese Ideographs repository to a separate entity.
  • Training on poetry.
  • Refactor of all the previously developed functionality to accommodate it to the new architecture.
  • Developing all the additional new features.
  • Branding.
Nautilus Librarian Logo
Librarian Logo

GitQueue

  1. Project URLs
  1. Development dates

From March to May 2022

  1. Description of the project

From the repository README: 

This GitHub Action is a job queue with the following characteristics:

Jobs are done by GitHub workflows intended to create git commits and merge them into target branches.

It provides an optimistic locking mechanism to guarantee that commits are merged in a mutual exclusion way, avoiding duplicate commits. When the queue accepts more than one active job (not finished) it will also guarantee the execution order.

  1. Technologies involved
  • Typescript
  • GitHub
  • Node
  1. Tasks
  • General development of the project and discussion on its architecture, design and features.