1 line
No EOL
16 KiB
HTML
1 line
No EOL
16 KiB
HTML
<html lang=en><head><meta charset=UTF-8><title>cv | Anders Englöf Ytterström</title><meta name=viewport content="width=device-width"><meta property=og:title content=""><meta property=og:description content=CV><meta property=og:image content=fixme.jpg><link rel=stylesheet href=./cv.css></head><body><main class=resume><div class=name><header><hgroup><h1>Anders Englöf Ytterström</h1><div role=doc-subtitle></div></hgroup></header><footer class=vcard><address>Balladvägen 3, 784 43 Borlänge, Sweden</address><dl class=contact><dt>Phone:</dt><dd><a href=tel:+46702169645>+46 70 216 96 45</a></dd><dt>Email:</dt><dd><a href=mailto:yttan@fastmail.se>yttan@fastmail.se</a></dd><dt>Github:</dt><dd><a href=https://github.com/madr rel=external title=Github>madr</a></dd><dt>Website:</dt><dd><a href=https://madr.se rel=external title=Website>madr.se</a></dd></dl></footer></div><section class=about><div><p><strong>Anders Englöf Ytterström</strong>, Web Developer with 16 years of passion. I strive to constantly come up with new ways of improving both products and processes for all participants in projects I am part of.</p><p>I prefer my coffee black, just like my metal, and preferably drip brewed by hand.</p><p>I also aim to be a <a href=https://www.linkedin.com/pulse/20140816105034-167544180-you-don-t-want-a-rock-star>roadie, not a rockstar</a>, as well as defending <a href=https://mcfunley.com/choose-boring-technology>boring tech</a>.</p></div><span><a href=./cv-anders-englof-ytterstrom.pdf>Download as PDF</a></span></section><section class=skills><h2>Skills</h2><dl class=skillset><dt>Programming languages</dt><dd>HTML, CSS (Sass), Python, JavaScript (TypeScript), Elixir, Rust, PHP</dd><dt>Development process</dt><dd>CI/CD, Automated testing, Mentoring, Mob programming, Pair programming</dd><dt>Web Backend Frameworks</dt><dd>Django, Flask, Phoenix (LiveView), Express, Remix, Next.js</dd><dt>Web Frontend</dt><dd>React, Redux, Vue, Svelte, Lit, OOCSS, BEM, Living styleguides</dd><dt>Data visualization</dt><dd>Vega, Altair, Vega-Lite, Advanced SVG</dd><dt>Build systems</dt><dd>Webpack, Parcel, esbuild</dd><dt>Content management</dt><dd>Wordpress, Joomla, Directus</dd><dt>Web Backend testing</dt><dd>pytest, Jest, Selenium, Playwright, Puppeteer, WebDriverIO, Web Test Runner</dd><dt>Web Frontend testing</dt><dd>Lighthouse, Axe, WebAIM, VoiceOver, Voice Assistant, NVDA, Cypress</dd><dt>Deployment</dt><dd>AWS, Docker (Podman), Kubernetes, Ansible, Terraform, Azure DevOps, Render</dd><dt>Services & Infrastructure</dt><dd>Nameko, RabbitMQ, Celery, Kibana, Prometheus</dd><dt>Databases</dt><dd>MySQL, Postgres, Elasticsearch (Opensearch), GraphQL, Influx, Timescale</dd><dt>Version control</dt><dd>Git, Subversion</dd><dt>Operating systems</dt><dd>Mac OS, RHEL, Debian, Ubuntu server, Arch linux, Windows</dd><dt>Other skills</dt><dd>Inclusive communication, Accessibility compliance, Technical writing</dd><dt>Languages</dt><dd>Swedish (native), English (fluent)</dd></dl></section><section class=work><h2>Experience</h2><div class=timeline><article class=event><h3 class=event__title>PlaymakerAI, Data analytics SaaS</h3><div class="event__location event__aside">Remote position</div><div class=event__position>Full Stack Engineer</div><div class="event__date event__aside">Nov 2023–now</div><div class=event__content><ul><li>Part of a team consisting of Data scientists and Machine learning experts.</li><li>DevOps, Backend programming, Frontend engineering.</li><li>Python, NumPy, Pandas, Scikit-learn, React, MaterialUI</li></ul></div></article><article class=event><h3 class=event__title>Stratsys, Process management platform (SaaS)</h3><div class="event__location event__aside">Remote position</div><div class=event__position>Senior Frontend Architect</div><div class="event__date event__aside">Mar 2022–Oct 2023</div><div class=event__content><ul><li>Part of a team consisting of Frontend architects and UX designers.</li><li>Responsible for the design system, frontend DX and Microfrontend toolchain and architecture.</li><li>Writing Web components with full ARIA compability, according to the spec.</li><li>QA and manual testing with screen readers (NVDA, VoiceOver).</li></ul></div></article><article class=event><h3 class=event__title>Iteam, Technical Innovation agency</h3><div class="event__location event__aside">Remote position</div><div class=event__position>Full Stack Developer</div><div class="event__date event__aside">Sep 2021–Mar 2022</div><div class=event__content><ul><li>All source code are released by a FOSS license.</li><li>Backend programming in Node.js, TypeScript, Express and Next.js.</li><li>Frontend development in React, Jotai, Formik, Styleguidist and Figma.</li><li>Code labs and skill sharing.</li></ul></div></article><article class=event><h3 class=event__title>Kundo, Customer service company (SaaS)</h3><div class="event__location event__aside">Stockholm, Sweden</div><div class=event__position>Full Stack Developer</div><div class="event__date event__aside">Mar 2017–Sep 2021</div><div class=event__content><ul><li>T-shaped frontend developer focusing on WCAG 2.0 AA, design and mentoring.</li><li>Roles besides development: Team Lead, Tech Lead and Security administrator (briefly).</li><li>Backend programming in Django and Phoenix, with RabbitMQ as broker/RPC and Celery as job queue.</li></ul></div></article><article class=event><h3 class=event__title>Adeprimo, Digital Fullservice agency</h3><div class="event__location event__aside">Östersund, Sweden</div><div class=event__position>Systems developer</div><div class="event__date event__aside">Oct 2007–Feb 2017</div><div class=event__content><ul><li>T-shaped Systems developer focusing on frontend and backend web development. Fields: Media, Destination, Tourism.</li><li>High demand on customer experience and context switching.</li><li>Distributed, remote-first teams with members located in Vaasa (Finland), Örebro (Sweden) and Östersund (Sweden).</li><li>Consulting for startups based in Östersund and Åre, Sweden.</li><li>Polopoly, Python, PHP, Sass, jQuery, Wordpress, SilverStripe, .NET.</li></ul></div></article><article class=event><h3 class=event__title>Pierce, Ecommerce (Motocross, MC and Snowmobile accessories)</h3><div class="event__location event__aside">Åre, Sweden</div><div class=event__position>Web developer</div><div class="event__date event__aside">Mar–Jul 2015</div><div class=event__content><ul><li>Development and maintainence for 24mx.se, XLMoto.se och sledstore.se.</li><li>.NET, C#, Azure.</li></ul></div></article><article class=event><h3 class=event__title>Västsvensk tidningsdistribution (VTD), Distribution</h3><div class="event__location event__aside">Alingsås, Sweden</div><div class=event__position>Newspaper carrier</div><div class="event__date event__aside">Jul–Aug 2007</div><div class=event__content><ul><li>Temporary summer position. Delivering Göteborgs-Posten to 300 households by foot. It rained every night.</li></ul></div></article><article class=event><h3 class=event__title>Moment Marketing, Startup</h3><div class="event__location event__aside">Stockholm, Sweden</div><div class=event__position>Web designer</div><div class="event__date event__aside">Sep 2006–Apr 2007</div><div class=event__content><ul><li>Frontend development assistance. Employment by the hour.</li></ul></div></article></div></section><section class=education><h2>Education</h2><div class=timeline><article class=event><h3 class=event__title>Media and Communication Science, Mid Sweden University</h3><div class="event__location event__aside">Sundsvall, Sweden</div><div class=event__position>Degree of Bachelor of Arts (incomplete)</div><div class="event__date event__aside">2004–2007</div><div class=event__content>Web design, Computer science, Computer engineering, Programming (Java, C)</div></article><article class=event><h3 class=event__title>Staffanskolan secondary school</h3><div class="event__location event__aside">Söderhamn, Sweden</div><div class=event__position>Student degree</div><div class="event__date event__aside">2001–2004</div><div class=event__content>Media programme, vocational, media production, graphical communication</div></article></div></section><section class=projects><h2>Projects</h2><div class=timeline><article class=event><h3 class=event__title>OneUX Component library</h3><i></i><div class=event__position>Senior Frontend Architect, Stratsys</div><div class=event__aside>2022-2023</div><div class=event__content><ul><li>Implement a reusable set of components as Web components (Custom element with Shadow DOM).</li><li>Data-driven state over DOM State.</li><li>Deployed by the MicroFrontend concept and practices.</li><li>Fully accessible, with keyboard navigation and mouse gestures, according to the ARIA Authoring Practices guide.</li><li>E2E/Integration tests in a set of real, headless browsers.</li><li>Packaged as part of a NPM package and a Design system for internal frontend developers.</li><li>Atomic Design, Microfrontends, Storybook, Custom Elements, Design Systems, Style Guides, Web Components, Lit, Vue.js, ARIA Authoring Practices guides (APG).</li></ul></div></article><article class=event><h3 class=event__title>SEO-friendly embed of knowledgebase</h3><i></i><div class=event__position>Full Stack Developer, Kundo</div><div class=event__aside>Mar 2020–Mar 2021</div><div class=event__content><ul><li>Embedded a knowledgebase on any site using a simple embed snippet, whereas the knowledgebase is embedded using fetch().</li><li>Navigation between guides and text search included, all crawlable by googlebot.</li><li>SPA-compliance.</li><li>TypeScript, Jest, Google Search Console.</li></ul></div></article><article class=event><h3 class=event__title>Accessibility Statement</h3><i></i><div class=event__position>Full Stack Developer, Kundo</div><div class=event__aside>Sep–Dec 2019</div><div class=event__content><ul><li>Compliance of the EU Directive on the Accessibility of Public Sector Websites.</li><li>Axe, W3C validators, Lighthouse, manual accessibility testing.</li></ul></div></article><article class=event><h3 class=event__title>Kubernetes migration</h3><i></i><div class=event__position>Full Stack Developer, Kundo</div><div class=event__aside>Jan 2019–Dec 2020</div><div class=event__content><ul><li>Migrating an AWS production environment (several service-modules in different programming languages, message queues and micro services) to Kubernetes, along with all in-house DevOps tooling.</li><li>Goals: keep one command deploys to production, keep Kibana logging, supervision of all services.</li><li>Terraform, Ansible, Docker, Helm, Prometheus, Kubectl, Minikube.</li></ul></div></article><article class=event><h3 class=event__title>Facebook Opengraph client</h3><i></i><div class=event__position>Full Stack Developer, Kundo</div><div class=event__aside>Sep 2017–Mar 2019</div><div class=event__content><ul><li>Integrating customer support questions posted on Facebook Pages and Messenger into the Dashboard.</li><li>Needed to be done asyncronously to not tamper with API credibility.</li><li>Python, Django, MyPy, Protobuf, RabbitMQ, Phoenix Presence+Channels, React + Redux</li></ul></div></article><article class=event><h3 class=event__title>Security & GDPR accountable</h3><i></i><div class=event__position>Full Stack Developer, Kundo</div><div class=event__aside>Sep 2017–Feb 2019</div><div class=event__content><ul><li>Accountable for several projects to fulfil the GDPR directive up to May 25th, 2018 and onwards.</li><li>Accountable for security processes and planning for the technical platform.</li></ul></div></article><article class=event><h3 class=event__title>Engcon pricelist</h3><i></i><div class=event__position>Interface Developer, Consultant</div><div class=event__aside>Nov 2016–Feb 2017</div><div class=event__content><ul><li>Prototyp-driven development of a digital version of a printed pricelist, focusing on effiency and MVP.</li><li>Vue, Django, Twitter Bootstrap</li></ul></div></article><article class=event><h3 class=event__title>Wide Ideas</h3><i></i><div class=event__position>Full stack Developer, Consultant</div><div class=event__aside>Aug 2011–Feb 2017</div><div class=event__content><ul><li>Development of an idea management platform.</li><li>Handled DevOps, automation of workflows, development of web interface, and backend programming.</li><li>PHP, Pligg, Python, Flask, MongoDB, Elastic Search</li></ul></div></article><article class=event><h3 class=event__title>Östersundstidningar redesign</h3><i></i><div class=event__position>Interface Developer</div><div class=event__aside>Mar–May 2011</div><div class=event__content><ul><li>Complete redesign of 3 sites with the same locked (and oldfashioned) HTML.</li><li>An Object-oriented CSS architecture (OOCSS) was used to create a design system and KSS-powered styleguide utilizing Sass mixins.</li></ul></div></article><article class=event><h3 class=event__title>Mktwebb</h3><i></i><div class=event__position>Interface Developer</div><div class=event__aside>Oct 2007–Aug 2009</div><div class=event__content><ul><li>Shared technical solution for a publication platform for 40 newspapers across Sweden, with Polopoly as CMS.</li><li>Technological ownership and mentoring others to write JavaScript.</li><li>All HTML and CSS written in collaboration with backend programmers, UX researchers and designers.</li></ul></div></article></div></section><section class=courses><h2 class=h-aside>Courses, Conferences & Certifications</h2><ul><li>ElixirConf EU, Warshawa (2020, postponed due to the Coronavirus pandemic)</li><li>Att leda utan att vara chef, Företagsakademin (2019)</li><li>Modern React with Redux, Udemy (2017)</li><li>Ethical Programming from Scratch, Udemy (2018)</li><li>Android Developer Nanodegree, Udacity (2017)</li><li>PyConf, Stockholm (2017)</li><li>Nordic.JS, Stockholm (2014)</li><li>TiConf, Amsterdam (2014)</li><li>FFConf, Brighton (2012)</li><li>DevSum, Stockholm (2012)</li><li>Certificed Scrum Master Course, Crisp AB (2010)</li></ul></section><section class=personal><h2 class=h-aside>Personal Projects</h2><div class=timeline><article class="event event--aside"><h3 class=event__title>Advent of code</h3><i></i><div class=event__content><p>Every December since 2016, I challenge myself (and sometimes other collegues) to solve AOC puzzles in a programming language of my choice.</p></div></article><article class="event event--aside"><h3 class=event__title>Tajm.me</h3><i></i><div class=event__content><p>As a consultant, time tracking is a crucial part of every day work, and using bad time tracking software sucks. For 5 years, I scratched my own itch. Django, DRF and Web standards at its core. Several experimental client side solutions built with D3, React, Vue, Android, iOS and GTK+. (Archived, 2012–2017)</p></div></article><article class="event event--aside"><h3 class=event__title>Baslyft, bärs & burgare</h3><i></i><div class=event__content><p>My first Progressive Web App, with support to work fully offline once installed on a device. It's a simple app for logging reps, sets and PB's in the gym, with some nice tools built-in: 1RM calculator and KG-LBS converter. Touch-oriented design patterns, React, Redux, localStorage, ServiceWorker and other nifty Web API:s. (On hold, Sep 2019–)</p></div></article><article class="event event--aside"><h3 class=event__title>Brütal Legend</h3><i></i><div class=event__content><p>A site to track progress of owning vinyl copies os songs licensed in an epic video game. Occasionally used as a real-world example to teach TypeScript, React and Redux concepts to collegues. (On hold)</p></div></article><article class="event event--aside"><h3 class=event__title>Utsökt</h3><i></i><div class=event__content><p>A simple bookmarking and read list service, with integration to RSS feeds, Pocket and Slack. Inspired by the old, more minimal version of Instapaper. Elixir, Phoenix LiveViews. (In progress)</p></div></article><article class="event event--aside"><h3 class=event__title>Smed</h3><i></i><div class=event__content><p>A pluggable static site generator, inspired by Metalsmith. The goal is to replace my own sites in Metalsmith, and to learn Rust. (In progress)</p></div></article></div></section></main></body></html> |