Erlend Hamberg
Verified Expert in Engineering
Software Developer
Oslo, Norway
Toptal member since October 4, 2015
Erlend has a large range of experience in software development, having worked on projects from kernel driver development to web apps. He is most proficient on the back-end side of things and knows how important the behind-the-scenes foundation is for a good product. He has industry experience with C, C++, Haskell, and Erlang and is not at all afraid of learning new technologies or languages that may be well-suited for a problem domain.
Portfolio
Experience
Availability
Preferred Environment
Git, Unix, Doom Emacs
The most amazing...
...piece of software I've built is a distributed chat server with probabilistic synchronization of state between nodes.
Work Experience
Back-end Engineer (Consultant)
Remarkable
- Reduced cloud costs for document storage and backups by 75%.
- Created an expandable back-end API with continuous deployment to GCP.
- Added document synchronization integration with Dropbox and Google Drive.
Software Engineer
Soundrop
- Worked on the back-end of the music marketing web app, show.co, whose campaigns are seen by hundreds of thousands of end users.
- Implemented a payment and subscriptions system using Braintree as the service provider.
- Wrote microservices in Erlang and Haskell using REST and WebSocket RPC for inter-service communication.
- Co-wrote an efficient, scalable chat system whose synchronization algorithm was presented at the Commercial Users of Functional Programming conference (CUPF) in 2014.
- Integrated logging and error reporting to our systems using services such as Rollbar.
Software Engineer
Telenor Comoyo
- Worked on moving payment in-house as a PCI-DSS compliant service provider.
- Maintained and improved the payment and subscriptions system.
- Led a team of interns in creating a proof-of-concept mobile banking app for the Malaysian market.
R&D Intern
Galois Inc.
- Worked on the Ivory language (http://ivorylang.org).
- Helped develop features for a Haskell EDSL for building high-assurance, embedded software for microcontrollers.
- Developed a run-time verification library for ensuring that a given set of temporal logic invariants held.
- Wrote a GCC compiler plugin that allowed variables in C code to be instrumented and monitored at run-time.
Engineer
ARM
- Developed Linux drivers for the Mali-400 series GPUs.
- Worked with customers such as Samsung to resolve issues with new and existing hardware products.
- Added support for new kernel features as they were adopted by Android and Tizen.
- Did QA work in preparation of releases of our drivers to customers.
- Worked on confirming and analyzing bug reports from QA testing from customers and reports from customers' end users.
Experience
Talk: What's wrong with Java's type system?
iOS/Apple Watch app: How Much?
http://gethowmuch.comAll parts are written in Swift except for the reverse geocoder that is written in C.
9m Unicode URL shortener
http://9m.noSimpleEA
http://hackage.haskell.org/package/SimpleEATalk: Probabilistic Synchronization of States Between Independent Nodes
https://www.youtube.com/watch?v=imjdhT6DqSsEducation
Master of Science Degree in Computer Science
NTNU - Trondheim, Norway
Skills
Libraries/APIs
React
Tools
Vim Text Editor, Git, GCC, LaTeX, Ansible
Languages
C, Haskell, Elm, C++, Swift, Erlang, ML Programming Language, Embedded C, Erlang (OTP), Rust, Domain-specific Languages (DSLs), F#, Python, Java, Idris, OCaml, Go
Platforms
Linux, MacOS, iOS, Unix, Google Cloud Platform (GCP)
Paradigms
Functional Programming
Storage
PostgreSQL
Frameworks
Yesod, Doom Emacs
Other
Embedded Software, Embedded Systems, Formal Methods
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring