-
Senior Software Developer
Helsinki, Finland
Feb 2019 - Present (5 years 10 months)
Sole developer of a location based mobile web applications with Django, Javascript (Svelte), Stripe, Prismic, AWS & PostgreSQL with PostGIS for environmental startup.
Implemented web shop with Stripe, CO2 calculator with Svelte, among all the other mobile friendly things you find on the landing page.
The two mobile web apps are Envirate for rating the environment and Treebuddy.earth for tree planting & care and a web shop for buying Treebuddies.
-
Software Specialist
Symbio
Nov 2013 - Aug 2014 (9 months)
Focus on front end development
Extending a moderately large and well-written Ruby on Rails application and it's JSON API.
Writing a small application with Python, Flask, SQLAlchemy, WTForms, jQuery, Coffeescript, DustJS, Lodash, Less, Twitter Bootstrap and jQuery. Drawing graphs with D3.js and other libraries.
Technology selections, visual and UI design and implementation for a prototype application implemented in three weeks. The technology stack used was: Flask (a Python micro framework), Jinja2 and Webassets, SQLAlchemy, MariaDB, WTForms, Backbone, Twitter Bootstrap, Coffeescript, Less and jQuery.
Other technologies used:
Ruby:
- Ruby on Rails
- Phusion Passenger
Python:
- Flask (a Python micro framework) http://flask.pocoo.org/
- Gunicorn
- Jinja2 templates
- SQLAlchemy
- Supervisord
- Virtualenv
- Webassets
- WTForms
Javascript:
- D3.js, Crossfilter.js, dc.js and SVG
- Coffeescript
- jQuery
- LoDash (UnderscoreJS clone)
- DustJS front end templates
- AngularJS
Other web technologies:
- HTML5 (especially the Histroy API)
- Twitter Bootstrap
- Less CSS (CSS2 and CSS3)
- NodeJS, ExpressJS
- Npm and Bower
- Yaml and JSON
Servers etc.:
- Fedora Linux administration, Mac OS X (for development)
- Nginx
- MariaDB
- SQLite
- Git
-
Software developer
Soprano Brain Alliance
Apr 2012 - Nov 2013 (1 year 7 months)
Software development on two large projects.
Worked on a web site in the Finnish top 25 most popular list which has over 400k unique visitors weekly.
Software architecture design of a high definition and mobile video delivery platform using:
- VideoJS / Extending with CoffeeScript and bridging VideoJS events to jQuery events
- HTML5 video (H.264 and Webm)
- Zencoder API for transcoding
- RabbitMQ message queue and server
- Xi/Filelib file handling library
- Amazon web services: S3
The initial version was up and running in three weeks.
Back end programming in:
- Symfony2 framework
- Zend 1 Php framework
Front end development using:
- jQuery
- CoffeeScript and Javascript
- Less and CSS3
- Twitter Bootstrap
- HTML5
- Jasmine (for unit testing)
Open source contributions -- https://github.com/peterhil:
- Xi/Filelib ZencoderPlugin and FFmpegPlugin for video processing:
* https://github.com/xi-project/xi-filelib/blob/master/docs/video.md
* https://github.com/xi-project/xi-filelib/tree/master/library/Xi/Filelib/Plugin/Video
- Zend_Service_Amazon_S3
* https://github.com/xi-project/xi-filelib/pull/104
- Capifony (Capistrano recipes for Symfony2) https://github.com/peterhil/capifony
- Twitter Bootstrap (fluid modals https://github.com/twitter/bootstrap/pull/7529)
-
Set-top box software developer
Maxisat Oy
Jun 2011 - Feb 2012 (8 months)
Development of IPTV systems.
Front end:
• Developing TV user interface using Dreamgallery (a Swedish Prototype derived Javascript framework), Motorola JS API for their digiboxes, Comet (reverse Ajax with Jetty), SVG, Ajax, XML, JSON and Tomcat.
Back end:
• Development using CakePHP, Javascript, PostgreSQL, Apache, Nginx, Memcached, OpenVZ virtualization, Subversion etc.
Set-top box development:
• Building software for the Motorola VIP series HD digiboxes using Perl, Python bridge to Perl, Shell scripts, C/C++ cross-compilation to SH4 architecture, Multicast software distribution system (Infocast) and Motorola SDK.
• Got intimately familiar with IPTV and video streaming technologies, audio and video formats and standards, dhcp, rsyslog and ntp protocols, multicast networking, tcpdump, building Busybox, reverse proxying with nginx, and other technologies.
• Installed Debian on two new main servers. Also used Ubuntu and Centos.
-
Freelancer
Loihde
Feb 2008 - Mar 2011 (3 years 1 month)
Loihde was my freelancing company name.
2010–2011
Programming a 7 months project for a startup. A very desktop like (icons, dock and drag and drop, animation effects) web application demo/prototype. The purpose of the app was to help researchers to collect and organize research materials from different sources in a usable way.
Technologies: Uncommon Web (Common Lisp web framework), ParenScript (Common Lisp to JS compiler), Mootools (Javascript library) and CouchDB (NoSQL).
Trie implementation in Common Lisp written by me, that was used in this project:
https://github.com/peterhil/btrie/blob/master/btrie.lisp
2008–2010
- Graphic design (visual identities, posters, layouts)
- Web design (web site design and implementation, Wordpress sites, Flash banner ads)
-
Python web programmer
Syneus Solutions
Feb 2010 - Sep 2010 (7 months)
I was part of a small agile team developing customized web stores on top of Django framework using Python programming language.
• Wrote thumbnail generation and watermarking feature for use on tens of thousands of images using Python Imaging Library PIL (with CMYK to RGB conversion and flexible watermark positioning).
• Mainly assisted more experienced programmers by writing tests with Python UnitTest and located and fixed bugs according to bug reports.
• Learned to use Mercurial source control management
• Wrote custom Django models and database field classes and used South for managing SQL database schema changes
• Was briefly introduced to jQuery
• Wrote documentation using reStructuredText and Sphinx
-
Junior Art Director
Zeeland
Mar 2006 - Mar 2008 (2 years)
Art direction for several multinational and domestic clients in: bicycle manufacturing, mining industry, financial services and flower trading.
Graphic design and web design for clients in:
music industry, biscuit manufacturing, molecular biology, dental health care appliances and solutions, higher education, communal services, brokerage, student housing, kitchen suppliers and charitable organizations.
Web site design for clients in:
financial services, student housing, flower trading
HIGHLIGHTS
Graphic design of the decals (the markings making the appearance of a bicycle) for the season 2008 and 2009 models of Nopsa bicycles.
I also produced the finished press ready digital files, of which many used multiple spot colours and overprinting effects. See http://composed.nu/peterhil/portfolio/nopsa/ for a few samples.
-
Ad Assistant, Dtp designer
Briiffi Oy
Apr 2000 - Mar 2005 (4 years 11 months)
I did graphic design and some art direction for clients in business and consumer telephone catalogues, bisquit industry, jewellery, tobacco industry, medical imaging, marine industry wood furniture and metal catering appliances, communalities, bicycle industry and charitable organizations.
-
Visualiser
Turun Kaupunginteatteri
Dec 1998 - Dec 1999 (1 year)
Carrying out civilian service (as in alternative to army) by making posters and brochures for various theatrical plays on the City Theatre of Turku.
Also redesigned and updated their website, photographed the staff and digitised an old paper card based database into MS Works.
-
Ad assistant
Ojala & Saari Advertising Agency
Jun 1997 - Sep 1998 (1 year 3 months)
I did graphic design and illustrations for clients in food processing industry, environmental and waste management services, communalities, education and cereal business.
-
Apprentice
Ojala & Saari Advertising Agency
Mar 1997 - Mar 1997
This apprentice was part of my graphic design studies.