Peder Johnsen
Full stack software developer.
Currently
2022 - now
Lead Software Developer at Dynamo
Leading development at Dynamo using technologies like Django, Next.js, Elastic Beanstalk etc.
Work Experience
2015 - 2022
Software Developer at Ayoa (previously DropTask)
I mostly worked on front-end, but tackled back-end whenever required or when taking the lead on brand new features.
I was working on the web/api side of things until around 2018 when asked if I wanted to be part of the team re-building our native Android app in React Native, I happily agreed as React Native was something I had been looking to learn at the time. I later took over as the lead developer on that when the other developer left the company in 2020.
We eventually brought in some contractors to help with React Native development for a specific feature and to move the iOS app to React Native. At this point I mostly lead the team and reviewed PRs while doing most of my coding work on the web/api side.
Regularly helped customer service team with tech support tickets from customers.
Some projects I worked on:
Account microservice
I lead the initial development of the account microservice where users can edit their profile, change their password, update notification settings and manage their subscription.
React Native
I joined the newly created RN team with another developer to re-build our native Android app in React Native. My responsibilities included working on building new components and reviewing the other developers pull requests.
Push for React.js
At the time we were adding an emoji picker to React Native it made more sense to move our existing web emoji picker to the one I ported to React Native: emoji-mart. I was already trying to get us to move to React.js as while working on React Native I got interested in learning React.js and this gave me the perfect opportunity to get it through the door.
After this we continued to write new components in React.js and slowly rewrite older components.
Pulse
I was the sole developer of the feature “Pulse”, which I built on top of our existing Chat feature. As the Pulse members needed to be based off the team subscription members I had to make sure they were properly synced, so if anyone were added/removed to the team, it would be reflected in the Pulse chat.
Board Chats
I was the sole developer of “Board chats” which I built on top of our existing Chat feature. It would allow users to create a group chat tied to a board.
As with Pulse, the members of a board chat is based off who’s on the board, so I had to make sure they were properly synced here too.
Whiteboards
I helped lead a team of up to 3 developers to bring our in development “Whiteboards” feature onto React Native.
Responsibilities included overseeing the progress, reviewing pull requests and co-mentoring our native iOS dev.
React Native iOS
Not long after the native iOS team shrunk to one developer, we decided it was a good idea to move our iOS apps over to React Native too. I helped lead a team of up to 3 developers to bring the React Native app up to the standards of our existing native iOS apps to prevent negative feedback when released.
Responsibilities included overseeing the progress, reviewing pull requests and co-mentoring our native iOS dev.
React Native iPad support
After releasing our React Native app on iOS for iPhones we wanted to replace our iPad app too. The larger screens meant our existing components looked too small, so we had to find a nice way to scale everything when the app is used on iPads. There were also other parts of our app that just didn’t work great on a larger screen that we had to fix.
Responsibilities included overseeing the progress, reviewing pull requests as well as doing some of the work, like adding scaling.
Tech used:
- Front-end initially written in CoffeeScript with backbone.js then later we used React.js for new components and to slowly rewrite old ones.
- Back-end written in CoffeeScript with node.js/express.js as microservices.
- Android and iOS written in React Native with TypeScript (originally using babel.js).
2006 - 2015
Freelancing
Between 2006 and 2015 I was doing freelancing on and off mostly using PHP and some node.js.
2014-2015
Retail at Lidl UK
Most of my time at Lidl was spent at night shifts doing re-stocking.
2009
Retail at Rema 1000 (Norway)
Personal Projects
2018 - now
Emoji Mart Native, a React Native port of emoji-mart
While working at Ayoa we required an emoji picker for the React Native app, so in my free time I decided to port emoji-mart to React Native which I continue to maintain and update to this day.
2006 - now
Other projects
I’ve also built multiple other personal projects throughout the years, mostly using PHP or node.js, but all have since been shut down. I am however thinking of starting to tinker with some of my existing app ideas I’ve yet to start.
Hobbies
- Learning, playing and experimenting with musical instruments.
- Developing, playing and collecting games from retro to modern.