Full stack developer Skåne län, Sweden

Kan være tilgjengelig

(Oppdatert %updatedDate %)

Full stack developer

Skåne län, Sweden

Innfødt Svenska, Flytende English, Mellomliggende German

  • Embedded systems
  • Kotlin/Java
  • 15 years+ of C++

Ferdigheter (43)

REALTIME

PROTOTYPE

Linux

GRADLE

BLUETOOTH

ARM

UART

FIRMWARE

I2C

SOFTWARE DEVELOPMENT

Unix

C++

Android

AVR

ELECTRICAL TROUBLESHOOTING

REST API

CORTEX

JavaScript

Python

FRONT-END

PIC

AngularJS

Jenkins

FRONT END DESIGN

TEACHING

SOFTWARE ENGINEER

Rails

LOADER

STRUCTURED SOFTWARE

SYMBIAN

BILINGUAL

SOAP

FIREBASE

REAL-TIME

ALLEN-BRADLEY

DSP

Ruby on Rails

iOS

BI-LINGUAL

GPRS

WINDOWS MOBILE

PLC PROGRAMMING

Ruby

Oppsummering

I'm a computer science "generalist" born in 1976. I love to tinker and create and have been part of a number of technology startups both
as founder and tech lead. I have about 15 years experience with software development, ranging from tiny, 8-bit embedded systems like AVR and PIC to Java, Big Data systems, mobile apps, Flash
and JavaScript. Lately my main focus has been on Android and
embedded Linux systems.
I'm a generalist in that I like to switch technologies, learning the latest
stuff and work in cross-technology environments, preferably small
teams where everybody has to know a bit of everything.
On the side I run a small production company, SofflossMedia,
producing various kinds of moving pictures: Music videos,
commercials, short films etc.

Arbeidserfaring

Full (very full) stack software engineer
NEXA

2014-03 - Nåværende

Design of a home automation server running on a Colibri VF50 SoM (ARM)
based custom board. Z-Wave and some other radio protocols implemented
mainly in Java (yes, Java rocks on ARM!). Linux Driver development for
433Mhz radio as well. Web server development (on the board) using the excellent Restlet framework. This project pretty much had everything: from drivers bitbanging io-pins to scalable cloud services, using at least 15 different
open source frameworks. Very, very fun!


I also had to certify my very own zwave stack built in Java which was pretty
challenging. The specification documents for a compliant zwave controller
device is > 200 pages and every single function needs to work in the test
house for you to get the certification.
The web frontend was made with AngularJS which was also really interesting to learn.


Java 8, Z-Wave, ActiveMQ, Restlet, AngularJS, Spring, Tomcat, ActiveMQ etc
CTO and developer
Drumblox AB

2018-11 - Nåværende

Android and IOS. Development of the cross-platform mobile music game
Drumblox. Technically pretty challenging getting low-latency audio to work
flawlessly on IOS and Android, using Kotlin as the main language and audio-
engine work in C++. Also, integrations against Firebase & Facebook with authentication in a cross-platform way is not always straight forward.


http://drumblox.rocks
Z-Wave expert
neusta consulting

2019-03 - Nåværende

Bremen Area, Germany

Helping out with certification requirement for a new Z-Wave-enabled home
automation gateway. Some Java and C hacking to bugfix and improve the Z-
Wave stack and make it pass test-house testing.
Gitlab, Jira, C, Java, Maven
Full Stack Engineer

2020-01 - Nåværende

Android Developer
Doro Group

2019-12 - 2020-02

Skane County, Sweden

Prototype development of an Android app for monitoring a smart bracelet over
Bluetooth LE, used to detect movements and accidents of elderly living in retirement homes.


Android, Kotlin, Gradle, BLE, HTTPS
System Developer
Soffloss AB

2008-01 - 2019-12

Freelance software and hardware developer doing everything from tiny
embedded systems to Android to nosql and Big Data.
CTO and backend dev
Operanode AB

2018-01 - 2019-12

Architecture and development of https://operanode.com , a service for finding and following classical music events. Using PostgreSQL and Kotlin with the great VertX framework for the backend and Angular 5 for the frontend.


My job also involves managing a team of remote front-end developers in Ukraine.
Kotlin, gradle, Digital Ocean
C++ Developer
ASSA ABLOY Global Solutions

2019-06 - 2019-09

Sweden

Development of locker box services on an embedded Linux system (ARM)
used to administer delivery boxes and locker boxes over a tcp/ip network.
C++11, Rust, MQTT, Docker, Redis, Python, Jira, Gitlab, Jenkins
Founder
Freedrum

2016-11 - 2019-03

Sweden

I built a virtual drum kit for my son, but realized that the rest of the world also
were in desperate need of one


I used the excellent nRF52 Bluetooth chip from Nordic to build this. Lots of DSP C++ code running on an OS-less ARM CPU, performing gyro integration
(sensor fusion) to figure out where the sticks are pointing. Also needed to create some mobile apps and tools for production. This is as full-stack as a
developer gets.


The sticks connects via BLE (Bluetooth LE) to an IOS or Android phone,
hence my work also included lots of tinkering with BLE on Android which is
surprisingly buggy and requires some major hacks to get stable.


I also got a deep dive into the MIDI specifications and how drum synthesizers
work (needed to build our own for Android).
C++ Developer
Tempiro

2017-10 - 2018-01

Helped out with some low level firmware problems in Tempiros "Smart fuse" to meet customer delivery deadlines. NXP Zigbee, controlling relays,
measuring currents in the devices and generally cleaning up the code to make
it maintainable.
MIB engineer
Sony Mobile Communications

2013-09 - 2014-02

Troubleshooting Linux drivers, Android platform and hardware problems on
new Android mobile phones within the Power-Save team. Goal: Get that
battery to last forever!
Senior Software Engineer
DCelektronik

2013-05 - 2013-09

up" of an embedded Linux system featuring a Texas Instruments
Sintara (Cortex A8 AM335X) CPU and various external components (NAND- flash, DDR3, CAN, video, i2c etc).


My work included patching and adaptation of boot loader (u-boot), Linux
kernel and drivers to our new design as well as electrical troubleshooting and patching of prototype PCB:s and hardware design.


The system featured a number of UART:s, resistive touch screen, LCD screen,
a number of radio interfaces (Bluetooth, GPRS), Ethernet, RS485 etc and was to meet EX (Explosive environments) certifications.
Server C++ developer
Schneider Electric

2012-08 - 2013-04

Development of core server functionality in C++ for the in-house platform.
Windows, Linux and embedded.


Some fun projects:
Embedded the Google V8 javascript engine in the the main server code to make it scriptable.
Exploratory work on inter-process communication using protobuf+zeromq and python.
Sony Ericsson

2011-04 - 2012-07

Sweden

Contract project.


Development of some core Android systems for in-device diagnostics. Apps and framework. Linux and Android.


Database development for visualization systems, using MySQL and NOSQL
database MongoDB. Web front-end using the Java Play framework (similar to Ruby on Rails), AJAX, JavaScript, REST.


Development of QlikView applications and corresponding "data-crunching"
back-end software, Postgresql, Python and MySQL.
Python teacher
Hermods AB

2011-05 - 2011-05

May 2011 (1 month)
Contract project.


Teaching a basic Python course and meanwhile getting hooked on Python!
Embedded developer
Jayway AB

2010-11 - 2011-03

Contract project.


Development mobile apps for Android and Nokia Qt including an enterprise
application for 3 (network operator) in Denmark and a bar-code scanning app for Nokia Qt.
Software engineer
Scalae AB

2010-03 - 2010-09

Development of motor-control applications in C# .NET
PLC programming.
Image analysis.
Embedded developer
Triacon AB

2007-12 - 2010-03

Triacon is a consultant, primarily in embedded systems, helping customers with everything from requirements spec to finished products and small
production series.


My role: Developer of embedded systems.


Low level programming and system design of embedded real-time systems
(including FreeRTOS). Mainly ARM7 , MSP430 and AVR8 architectures. C / C
+ +, Java.


Also some electronics design and PCB layout in Altium Designer.
Projects included:


METERCAM (3 months in 2007)
Software implementation (in C++) for a small embedded system used to take
pictures of electricity meters periodically, save them to flash and transmit them through
GPRS to a server. The requirements for the system included that it must run
on
batteries alone for at least 3 years. Thus power saving was a big issue.


Technology used: MSP430, GPRS modem (Telit), photo camera (with rs232 interface and jpeg-compression)


DEVELOPMENT OF EXCAVATOR LOAD WEIGHING SYSTEM. (12 months in 2008)
Design and bugfixing (both hard- and software) of a software for measuring
load on hydraulic excavators.


My work included:


Algorithms for calculating the shovel load from a series of hydraulic pressure
values.
Menu system for an LCD display.
Locating of hardware flaws.


Technology used:
Atmel ARM7 controller, running FreeRTOS. GCC for ARM.


USER INTERFACE FOR NAUTIC SATELLITE DISH. (3 months in 2009)


Development of a graphical user interface on a color TFT-display for
controlling a satellite dish system used on boats. The system uses gyros and compass to compensate, in realtime, for movements in the ship (waves, wind),
making the dish point at the satellite at all times.


Technology used:


ARM9 cpu, TFT-display, display controller/driver. GCC C++.
Mobile phone software developer
Covelus Ltd

2007-02 - 2007-11

Software development for mobile phones (Symbian S60) in C + +.
Implementation of software that manages Anoto (www.anoto.com) digital pens,
sending their data over the cellular network. My task was to port an existing
software from Java (J2ME) to Symbian C + + and Windows Mobile.
Software engineer
Teleca

2006-04 - 2007-03

Development of software components in C for mobile phones, including
implementation of the phonebook database and SyncML (synchronization between the phone's databases such as address book and PC / Server)
Lead software developer
Imita AB

2004-09 - 2006-02

Development of real-time systems (PID-regulator) on the PIC architecture in C.


ARM7 development in OS-less C.


Expansion of the company's proprietary operating systems flash file system on the Hitachi H8-platform.


Design of electronics (in combination with micro-controllers).


Design of navigation systems and geographic mapping systems in Java.

Akademisk bakgrunn

MSC
Lunds tekniska högskola

1998-01 - 2004-01

Master's degree
Lund University

1998-01 - 2003-01

Kontakt konsulent

/