Career Profile

An all-around software engineer with most experience in web development field and system administration. Principled, precise and willing to do the work to perfection. Happy to contribute ideas for better execution and always standing behind own words. Passionate about new technologies, virtualization and automation. Enthusiastic about single-page applications, microservices and scalability.

Experiences

Teacher

Strokovna gimnazija, Šolski center KranjKranj, Slovenia
2021 – Present

Giving lectures about programming languages, while primarily focusing on Java. Assigned to two complementary courses on computer science, where one is covering theory and the other is based on exercises. The key topics consists of basics of algorithms, algorithmic thinking, theory of programming languages along code and concepts in Java.

The courses are a prerequisite for students who want to enroll to the computer science exam, which is part of the college-prep leaving exam (splošna matura) in the secondary school. In order to guarantee quality execution of courses and provide the best possible learning resource for students, I prepared my own online textbook which covers all the topics in the expected detail.

Freelance Software Engineer

XFY.SYSTEMS, računalniško svetovanje in storitve, Jan Sušnik s.p.Kranj, Slovenia
2020 – Present

Started my own part-time self-employed business offering various services and knowledge, which I gathered over the years on all the projects I was involved in. It’s branded separately under name xfy.systems, so all the contributions to the projects can be marked by it, instead of my own name (containing a character not defined in ASCII charset).

Working on a wide range of projects, from custom-tailored web applications, cross-platform mobile apps, all to the maintenance and upgrades of existing systems. One of the most special projects was complete refactoring and functional improvement of a flight radar application, used by air traffic controllers to rely on changes coming in real time.

Lead IT Engineer

IECom d.o.o.Ljubljana, Slovenia
2015 – Present

Began working as a student on development of data processing system for electronic program guide (EPG). Got involved into upgrade of VoIP Android mobile application through partnerized laboratory. Later took over the maintenance of primary EPG system based on LAMP stack and fixed various bugs. Also implemented new features and helped optimizing the system to get it as stable as possible.

Collaborated at rewrite of EPG system as a core member, worked as idea lead and full-stack engineer. At the same time got an opportunity to summarize and extend parts of my work into bachelor thesis. Later on developed entire system for live stream bookmarking with the emphasis on responsiveness of all the moving parts. Established physical and virtual server environments for different development purposes and production. Worked with various modern technologies in fields of engineering, automation and virtualization.

Responsible for technical support both internally and externally and for the enforcement of modern deployment procedures into everyday workflow.

Web & Mobile Developer

Časnik Finance d.o.o.Ljubljana, Slovenia
2013 – 2014
Started collaboration because of Basket 2013 project (web game). Worked on rebrand of project for different events, implemented additional features and took care for the content. Later on developed Android mobile application for checking latest news from their main website and home screen widgets for quick access to news.

Web Developer

RC IKT d.o.o.Kranj, Slovenia
2012
Performed 1 month working practice as part of educational programme for computer technician title. Primarily developed a web application for auctions for internal use in company, based on CodeIgniter framework. Also helped with grabbing of some data for security purposes.

Public Projects

Projects contributing to community and possibly impacting the future in some way.

Slo-Pi

Web portal for Slovenian Raspberry Pi Community. Established in May 2012, soon after the first batch of mini computers was delivered. Initiated the community together with two colleagues and promoted the computer in Slovenia. Organized merchandise of Raspberry Pi related items via portal. Wrote numerous articles and reviews about Raspberry Pi and related devices. Designed theme of the portal.

Raspberry Pi Workshop

Prepared 22 hours long workshop on the initiative of Slovenian National Education Institute, called Uvod v računalništvo z uporabo mini računalnika Raspberry Pi (Introduction to computing with the use of mini computer Raspberry Pi). The goal was to train primary and secondary school teachers for teaching the computing and informatics courses with the use of Raspberry Pi computer. Occurred in three sessions in 2014 and 2015.

psybernet.xyz

Online radio platform for streaming psychedelic music which is published for free from various labels. Created design, content and gathered all the music for playout. Based on Airtime radio management system which was patched to work for specific configuration. In operation since 2016.

Bobri

Developed a tickets reservation system for the Ljubljana festival of cultural-arts education. The intent of system is to gradually replace physical takeover of tickets and remove the need for people to wait in the long lines. Contributed all parts of the application including user and ticket checker interface, created with TypeScript, Node.js and PostgreSQL using NestJS, Next.js and Ionic frameworks.

Kino! Revija za film in filmsko.

Website created for society for expanding film culture, intended to report results of their work, publishing issues of magazine and summaries of included articles. Contributed implementation of existing design code into the WordPress theme, developed plugins to support custom content types and complete implementation of online shop functionallity. The backend for processing orders and subscriptions was done in Go and RabbitMQ.
Other contributions to public projects are listed on GitHub.

Personal Projects

Projects done in spare time as part of learning process, side interest or to ease some procedures.

jodlajodla's blog

Personal blog established in 2008 with the intent to write about technology and life in our country. Some of the non-tech related posts were published in a printed version of newspaper called Blogorola. Later then I got an opportunity to test and review all the latest Nokia phones. Along that also published some pictures of nature and events. Designed theme of the blog.

Basket 2013

Web game for forecasting results and score difference of basketball or soccer matches. Initially created for the EuroBasket 2013 event as a project for the young researchers competition – research paper. Got the sponsorship from bigger national newspaper publisher and reused the system for other events after that. Created and designed complete system, based on CodeIgniter framework.

IPTV Playlist Editor

Desktop program for editing playlists of IPTV streams and exporting them to TVHeadEnd configuration compatible format. Created with C# and Windows Forms.

LS-SLO

Web portal for Slovenian Landwirtschafts Simulator Community, established in 2009 and shutdown in 2015. Developed plugins for downloads categories, download submissions and users banning on specific rules. System was based on PHP-Fusion CMS.

codenovel

Blog about programming, techniques, patterns and software used for work. In operation during 2014 and 2015. Designed theme of the blog and prepared all the content.

ProgPsy.eu

Web portal covering the progressive psytrance music scene. In operation during 2014 and 2015. Designed theme of the portal and prepared all the content, including some mixes.
Additional projects are available in their private git repositories. Some projects are not publicly available because they reveal the workings of private systems and it would be inappropriate to publish them. If you would like to know more about them, make sure to get in touch.

Skills & Proficiency

Mostly involved into …
PHP, Go
MySQL, PostgreSQL
Bash, Ansible
Angular, Vue.js, React
Docker, Kubernetes
Node.js, Python
MongoDB

Also worked with various other programming languages and technologies such as:

  • C# (Windows Forms, UWP, ASP.NET MVC),
  • Java (Android, JavaFX),
  • C (programs wrapped by other languages, Arduino) and
  • virtualization (KVM, LXD; OpenStack, Proxmox, TrueNAS).

In the field of development I used (at least) the other more known frameworks/libraries: Symfony, CodeIgniter, Zend Framework, NestJS, Express, Koa, Ionic, jQuery, React Native, NativeScript, Angular Material UI, Next.js, Vuetify, TypeORM, Django, Flask, go-pg/bun, gRPC, Firebase Client/Admin SDK and Qt.

Having own server in a colocation and established multiple lab environments containing different pieces of enterprise hardware. Some of them were later deployed to the production and are up with a minimal required intervention, except for maintenance. Most are running Proxmox with ZFS based storage redundancy and SDN for communication between nodes in a cluster. Also using virtual machines (SPICE) as part of my development process, so the projects I’m working on are ready all the time. Therefore I have experience with passing through hardware to virtual machines (VFIO). I deployed, configured and maintained a wide range of applications on a production level, such as: Apache httpd, nginx, MySQL, PostgreSQL, MongoDB, RabbitMQ, Redis, GitLab, Gogs, Nexus Repository, Graylog, ELK Stack, Zammad, phpLDAPadmin, Airtime, Icecast, OpenVPN, strongSwan and Apache Guacamole.

Mentored few junior developers from the very beginning of their programming journey to the more advanced steps. Introduced them to the technology, protocols, concepts and patterns used in projects they were assigned to, with a brief presentation and simple tasks in the beginning. Reviewed their code, gave constructive feedback and tips on how to improve their skills.

Interested into interface design and user experience, but prefer system engineering and administration over them.

Always eager to learn new things if they are interesting and helpful for business or my own needs.

Talks

Raspberry Pi - Je lahko za dlan veliko tiskano vezje osebni računalnik?

Raspberry Pi - Can a palm sized PCB be a personal computer?
Presentation of a tiny computer called Raspberry Pi. Talked about its origins, development and practically showcased for what the computer can actually be used. Also did some promotion for Slovenian Raspberry Pi community and its website. Teamed up with two colleagues with whom we together talked for about an hour and a half.
Occurrences:

Uporaba mini računalnika Raspberry Pi kot učnega pripomočka

Use of mini computer Raspberry Pi as a learning tool
Researchly oriented presentation of a tiny computer called Raspberry Pi at international education conference. Talked about its usability as learning tool in school. Teamed up with two colleagues with whom we together talked for about ten minutes with intent to showcase the computer and our research paper as fast as possible.
Occurrences:
  • 2013/11/29@EDUvision 2013, Tehnološki park LjubljanaLjubljana, Slovenia

Interviews & Mentions

Media about me and my projects …

Košarkarska vročica z Janom in Petrom @ Finance

Basketball heat with Jan and Peter
Short interview about Basket 2013 project. Answered questions about the idea, its realization and plans for the future. Originally published in a printed version of newspaper.
Write-up article about contribution to EDUvision conference. Summarizes part of research paper and promotes the Slo-Pi community project. Originally published in a printed version of newspaper.
Jan Sušnik

Jan Sušnik

Software Engineer

Education

BSc in CS & IT

FRI, University of Ljubljana
2014 – 2017

Computer Technician

SŠER, Šolski center Kranj
2010 – 2014

Certificates

  • CCNA Routing and Switching

Online Courses

Languages

  • Slovenian(Native)
  • English(Professional)

Interests

  • Bicycling
  • Hiking
  • Reading
  • Writing(reviews, tutorials, ...)
  • Music(accordionist, DJ, producer)
  • Basketball
  • Photography