Erik Rasmussen, Developer in Colindres, Spain
Erik is available for hire
Hire Erik

Erik Rasmussen

Verified Expert  in Engineering

Styled-components Developer

Location
Colindres, Spain
Toptal Member Since
May 31, 2018

Erik is a full-stack JavaScript expert with over 25 years of development experience—specializing in React, Redux, forms in React, and GraphQL. He's obtained a spot in the top 100 GitHub users with over 20,000 stars and is also the author of the two of the three most popular form libraries in React: Redux-Form and React-Final-Form.

Portfolio

Internet Alliance, Inc.
CSS, SCSS, React, Angular, jQuery, Prototype Framework, PostgreSQL, JavaScript...
Mage Web Development, LLC.
Enterprise Java Beans (EJB), XMLC, Java
TUI UK
Oracle, Apache Struts, Java

Experience

Availability

Part-time

Preferred Environment

Next.js, JavaScript, React, Node.js, Visual Studio Code (VS Code)

The most amazing...

...thing I've coded is a weighted tagging system used to match profile preferences to golf instructional vids; informed by previously seen and ranked related vids.

Work Experience

Senior Web Architect

2006 - PRESENT
Internet Alliance, Inc.
  • Designed and implemented a DOM system for creating dynamic web pages that allows a web designer the maximum freedom to redesign dynamic web pages using only my knowledge of HTML and CSS.
  • Created a functional programming library in Java for better code reuse across the company's codebase.
  • Integrated PayPal Express Checkout and Google Checkout into the company's websites.
  • Integrated PowerReviews into the company's websites.
  • Reimplemented all of PowerReviews' functionality from scratch for SEO reasons.
  • Wrote, from scratch, an eCommerce system with shared products across all sites; including complex product configurators, product selection wizards, and search tools.
  • Developed, from scratch, a CRM system for salesmen to take calls and sell products.
  • Rebuilt that CRM system to use Ext JS libraries and a redesigned data object back-end.
  • Integrated United Parcel Service API shipping calls into the company's websites.
  • Developed, from scratch, a website which accurately evaluates a user's golf game with a weighted tagging algorithm; implemented via a questionnaire and that intelligently prescribes instructional videos that address each user's specific problems.
  • Made the questionnaire and video tagging system completely extensible and customizable to any domain, not just golf.
  • Created the editor for the question tree which was written in the Ext JS 4 framework.
Technologies: CSS, SCSS, React, Angular, jQuery, Prototype Framework, PostgreSQL, JavaScript, Java

Senior Java Developer

2004 - 2006
Mage Web Development, LLC.
  • Reimplemented more than 30 eCommerce websites that I had previously implemented using Enhydra XMLC technology.
  • Designed a single interface to manage products across all the 30+ sites.
  • Created a visual query editor called a Dynamic Product List to allow runtime selection of products for various pages on the eCommerce sites.
Technologies: Enterprise Java Beans (EJB), XMLC, Java

Senior Java Contractor

2004 - 2004
TUI UK
  • Quickly learned the structure of their holiday sales platform and fixed bugs and added features to their existing Lunn Poly website.
  • Designed and implemented a section of TUI's Thomson website allowing holiday shoppers to effectively browse travel brochures online.
  • Refactored and restructured existing holiday sales platform to allow teams based around the globe to migrate their travel websites onto a common TUI platform.
  • Streamlined the project's ANT build process to accommodate multi-team global collaboration.
Technologies: Oracle, Apache Struts, Java

Senior Java Contractor

2003 - 2004
Perceptive Informatics
  • Educated a team of non-Java developers in the methods and technologies of web applications—enabling the team to web-enable their industry-leading clinical research trial management software.
  • Was instrumental in architectural decisions in the company's web-enabling project using Jakarta-Struts, OC4J, Tomcat, and Oracle.
  • Led the UML-based architectural design workshops.
  • Wrote a complete database-based mandatory field validation system using the Jakarta-Struts Validator framework.
  • Upgraded the Jakarta-Struts Table Tag library to write multi-record forms.
  • Designed a generic pop-up data lookup system that returned selected records to the calling page with client-side JavaScript.
Technologies: UML, Oracle, Apache Tomcat, Apache Struts, Oracle Application Server, Java

Senior Java Developer

2001 - 2003
Mage Web Development, LLC.
  • Designed and developed a database-object system using Java Reflection and JDBC. Each business object was able to load, update, insert, and delete itself from the database.
  • Developed over thirty interlinking eCommerce sites using the aforementioned database-object system with both MS SQL Server and PostgreSQL database server, Jakarta-Struts, JSP/XSL technology, and Jakarta-Tomcat and Resin application servers.
  • Developed solely an enterprise web application to do accounts receivable, order management, inventory management, and task ticketing for portable toilet rental companies called Need2Go.net; used Jakarta-Struts, EJB, Jakarta-FOP (a PDF report API for Java), PostgreSQL database server, XTP/XSL technology, and a Resin application server. Need2Go.net is used daily by numerous subscribing companies.
  • Designed and implemented an in-house task management system using the above database-object system.
  • Successfully converted the task management system to use Prevayler technology, a database-free business object and transaction serialization system.
Technologies: Resin, Apache Tomcat, XSL, Jakarta Server Pages (JSP), Apache Struts, PostgreSQL, Microsoft SQL Server

Core Java Developer

2000 - 2001
eMIS
  • Developed a phonetic search algorithm to search customers in a custom billing application for a Norwegian telecommunications company.
  • Designed and implemented an XML based system of tracking database changes.
  • Created, from scratch, a mock telecommunications site; complete with web-based customer self-care and an eBilling solution for future UMTS/3G wireless technology that plugged directly into Libertis (eMIS’ billing application) to demonstrate at conferences and trade shows that Libertis could bill for UMTS services.
  • Played an integral part in the design and core development of the n-tier (value object) migration code for the Libertis' global billing system; used EJB tech.
Technologies: XML, Enterprise Java Beans (EJB), Java

Internet Applications Developer

1999 - 2000
Network Computing Solutions
  • Finished the development an eCommerce site using IBM's Net.Commerce package called Buytechonline.
  • Completely redesigned and implemented a much better and faster site using Java Server Page technology (only one other programmer involved).
  • Was professionally trained and certified for IBM's WebSphere Application Server.
Technologies: Microsoft SQL Server, Servlet, Jakarta Server Pages (JSP), Java

Software Developer

1999 - 1999
Innovative Business Software A/S
  • Designed and implemented a software request system to store requests and bug reports from customers in a database and allow the transfer of those requests from user to user.
  • Learned Borland Delphi 4 and implemented a CGI application to access a Sybase SQL Server relational database.
Technologies: Sybase, Delphi

Software Engineer

1998 - 1999
SBS Embedded Computers (now: GE Intelligent Platforms)
  • Designed and implemented software support packages for embedded computer products for DOS, Windows 95, and Windows NT.
  • Wrote hardware testing utilities that was used to program EEPROMs, generate and receive interruptions, and send and receive data across the VME bus.
Technologies: Microsoft Access, C++, C

Software Developer | Manager

1996 - 1999
Horizon Systems Integration
  • Designed an online course publishing for North Carolina State University's chemistry department, including a C++ filter used to create standard web content.
  • Developed a database application in Microsoft Access for Hamilton Beach Proctor-Silex.
Technologies: Microsoft Access, C++

Redux Form

https://redux-form.com/
I wrote and maintained the most popular form management library for the entire React ecosystem with over one million downloads every month. It uses Redux to store form data via dispatching actions on every keystroke and form state change. It is used by Airbnb and the FBI.

React Final Form

https://github.com/final-form/react-final-form
This is the successor to Redux Form and it's a very compact and fast library for form state management that uses the observer pattern; i.e. individual components "subscribe" to the parts of the form state that they want to be notified about and only rerender when they absolutely need to because their subscribed state has changed. It has roughly 40,000 monthly downloads.

Languages

JavaScript, SCSS, CSS, Java, XSL, XML, Delphi, C, C++, UML

Frameworks

Redux, Next.js, Express.js, Jest, Prototype Framework, Angular, Apache Struts, Jakarta Server Pages (JSP)

Libraries/APIs

React Final Form, React, Redux Form, Node.js, jQuery

Paradigms

Functional Programming, Functional Reactive Programming

Other

Styled-components, Resin, XMLC, Enterprise Java Beans (EJB)

Tools

Adobe Photoshop, Apache Tomcat, Servlet, Microsoft Access

Storage

PostgreSQL, MongoDB, Microsoft SQL Server, Sybase

Platforms

Oracle, Oracle Application Server, Visual Studio Code (VS Code)

1996 - 2000

Bachelor's Degree in Computer Science

North Carolina State University - Raleigh, NC, USA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring