I’m a Java, Golang and Python developer with 15 years of experience. I worked on web and back-end applications, telecommunications, enterprise banking systems, video processing backends and mobile apps. I am especially interested in education, GPS and open source.
My professional carreer is mostly about backend Java/Golang and (more recently) Android projects.
I’m also a regular open source contributor (https://github.com/tkrajina), where I use Python, Golang, Java and Typescript.
Experience
Java 15 years
Go(lang) 6 years
Python 16 years
Android 5 years
react-native 2 year
Typescript 5 years
Google Maps, Leaflet 9 years
Google Cloud 12 years
Test-driven Development (TDD) 15 years
Agile Software Development 10 years
Employment and freelance contracts:
Helping to build the IT infrastructure, Coachbit, 2019 - PRESENT
Developing an innovative educational application
Technologies: Golang, react-native, typescript
Owner, SCIO, 2015 - PRESENT
Worked and maintained various open source projects. Mostly Python, Golang, and Java (Android).
Mantained several websites (Python, Golang, and PHP) and their internal microservices (Golang and Java).
Developed a language learning Android application to help users learn new words by going through 10,000 sentences.
Created an Android application for numeric sequences and time tracking.
Developed a news aggregation Android application complete with back-end (AWS lambda and DynamoDB).
Created a panoramic photography sharing website (Panoye)
Technologies: Golang, Java, Python, Google Cloud, Android
Back-end and Mobile Software Engineer, Teach me 2, 2018 - 2019
Developed a bot for Telegram chat
Developed Android and iOS mobile phone applications
Developed a REST API for mobile clients
Technologies: Golang, react-native, typescript
Back-end Software Engineer, Globio, 2017
Implemented a back-end ane website
Implemented several payment application services
Technologies: Golang
Lead Developer, Trackprofiler, 2009 - PRESENT
Developed a GPS track editor web application.
Developed a library for GPS tracking manipulation.
Developed several heuristic algorithms to detect and fix common GPS track errors.
Implemented PayPal payment system.
Implemented several cloud APIs (Amazon S3, GoogleAppEngine, Dropbox API).
Implemented Google Maps API and Leaflet.js maps API.
Developed a parser for the Shuttle Radar Mission Data.
Technologies: Golang, Python, PHP, JavaScript
Back-end Software Architect, Storie, 2015 - 2016
Implemented a back-end REST API hosted on Google Cloud.
Implemented video processing workflow.
Implemented a variant HLS video streaming solution.
Integration of iOS and Android applications with backend services.
Technologies: Golang, Java, Google Cloud Platform, iOS, Android
Senior Java Developer, Infobip, 2010 - 2015
Developed enterprise SMS messaging systems.
Implemented various applications using the SMPP protocol.
Implemented the GSMA OneApi REST API.
Developed open-source client libraries (in Python, PHP, Ruby, and Java) for the OneApi REST API.
Introduced the Git versioning system and worked on a specific Git workflow to be adopted.
Introduced Groovy scripting for several applications.
Technologies: Java, Spring, Python, Groovy, Tomcat, Web services, SMPP
10,000 sentences an language learning Android app to help users learn new words in a foreign language. The idea is to go through 10,000 sentences in a target language. By exposing users to unknown words in a real context (a sentence) they learn new words.
Typescriptify Golang Structs (Open source tool and library)
Gpxpy is a Python library for GPS/GPX tracks. It implements all the most common algorithms used to manipulate and analyze GPS track data. Widely used in GIS-related research and GPS-related apps.
A statical analysis tool to discover long and complex functions in Golang. The user decides which measures of “complexity” to use, for example: “numer of variables in scope”, “number of assignments”, “nested blocks”, “cyclomatic complexity”, “complexity per line of code”, etc.
Trackprofiler is an online GPS track editor intended for hikers, mountain bikers, and outdoor lovers. Users can upload their tracks, fix common GPS errors, split or join tracks, add elevation data, etc. Tracks can be uploaded via email or from Dropbox.