Career Profile
Experiences
Teacher
Strokovna gimnazija, Šolski center Kranj•Kranj, SloveniaGiving 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, SloveniaStarted 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, SloveniaBegan 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, SloveniaWeb Developer
RC IKT d.o.o.•Kranj, SloveniaPublic Projects
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.Personal Projects
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.Skills & Proficiency
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.
Talks
Raspberry Pi - Je lahko za dlan veliko tiskano vezje osebni računalnik?
Raspberry Pi - Can a palm sized PCB be a personal computer?Occurrences:
- 2012/11/07@OpenLab Kranj•Kranj, Slovenia
- 2012/12/11@Kiberpipa•Ljubljana, Slovenia
Uporaba mini računalnika Raspberry Pi kot učnega pripomočka
Use of mini computer Raspberry Pi as a learning toolOccurrences:
- 2013/11/29@EDUvision 2013, Tehnološki park Ljubljana•Ljubljana, Slovenia
Interviews & Mentions
Košarkarska vročica z Janom in Petrom @ Finance
Basketball heat with Jan and PeterZa odprtost učenja @ Gorenjski glas
For open learningJan Sušnik
Software Engineer
Education
BSc in CS & IT
Computer Technician
Certificates
- CCNA Routing and Switching
Online Courses
- Introduction to OpenStack
- Music Technology Foundations
Languages
- Slovenian(Native)
- English(Professional)
Interests
- Bicycling
- Hiking
- Reading
- Writing(reviews, tutorials, ...)
- Music(accordionist, DJ, producer)
- Basketball
- Photography