-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
193 lines (156 loc) · 14 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>About mediafinger – Señor Developer</title>
<link rel="dns-prefetch" href="//maxcdn.bootstrapcdn.com">
<link rel="dns-prefetch" href="//cdn.mathjax.org">
<link rel="dns-prefetch" href="//cdnjs.cloudflare.com">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="CV of an experienced web developer and ruby coach">
<meta name="robots" content="all">
<meta name="author" content="Andreas Finger">
<link rel="canonical" href="https://mediafinger.com/">
<!-- Custom CSS -->
<link rel="stylesheet" href="pixyll.css" type="text/css">
<!-- Fonts -->
<link href='//fonts.googleapis.com/css?family=Merriweather:900,900italic,300,300italic' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family=Lato:900,300' rel='stylesheet' type='text/css'>
<!-- Open Graph -->
<!-- From: https://github.com/mmistakes/hpstr-jekyll-theme/blob/master/_includes/head.html -->
<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="about mediafinger">
<meta property="og:description" content="An experienced web developer and ruby coach reveals his past and present">
<meta property="og:url" content="https://mediafinger.com/">
<meta property="og:site_name" content="Señor Developer">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@mediafinger" />
<meta name="twitter:title" content="Señor Developer" />
<meta name="twitter:description" content="An experienced web developer and ruby coach reveals his past and present" />
<meta name="twitter:url" content="https://twitter.com/mediafinger" />
<!-- Icons -->
<!-- <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="/favicon-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="/favicon-160x160.png" sizes="160x160">
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"> -->
</head>
<body class="site">
<div class="site-wrap">
<div class="post p2 p-responsive wrap" role="main">
<div class="measure">
<div class="post">
<article class="post-content">
<h1 id="seor-developer">Señor Developer</h1>
<h2 id="about-mediafinger">About me(<em>diafinger</em>)</h2>
<p>Born and raised in a small town in the west of Germany, I moved to Hamburg to study Media Information Science (Medieninformatik) at the FH Wedel. With my previous experience of building simple websites, I was able to land jobs as a student
programmer at AOL and smaller companies.</p>
<p>After a year long break in which I studied in Bristol (UK) and lived and traveled in and around Vancouver (Canada), I returned to Hamburg to finish my Diploma (closer to the Master than the Bachelor degree) and start my career. I stayed there until the
end of 2012 when I moved to Barcelona (Spain), a great place to enjoy life.</p>
<p>During my professional career I worked for agencies, a browser games company, an internet translation company <a target="_blank" rel="noopener" href="https://tolingo.com">https://tolingo.com</a>, a large social network <a target="_blank" rel="noopener" href="https://xing.com">https://xing.com</a>, a web
development bootcamp <a target="_blank" rel="noopener" href="https://www.ironhack.com">https://www.ironhack.com</a>, a bank <a target="_blank" rel="noopener" href="https://solaris.bank">https://solaris.bank</a> and have been self-employed.</p>
<p>While my role was usually that of a web developer, I also developed applications, designed and balanced the game mechanics of a football manager and taught and mentored aspiring web developers.</p>
<p>Previously, I worked with languages like Perl, PHP, Java and ActionScript. But since discovering Ruby in 2010 I have worked almost exclusively with Ruby - and all the other languages and DSLs that come with Ruby and Ruby on Rails applications.</p>
<p>I like Ruby so much that I started teaching it to beginners. First through RailsGirls workshops in Hamburg and Barcelona (where I also organized both). Later through periodical meetups in Barcelona and as a (paid) teacher and mentor in the
Ironhack Web Development Bootcamp. I am also one of the organizers of <a target="_blank" rel="noopener" href="https://www.meetup.com/Barcelona-on-Rails">Barcelona on Rails</a>, the local Ruby User Group.</p>
<p>From 2017 on, I worked 18 months as a freelancer for solarisBank - a newly founded bank and tech company that offers financial products strictly over APIs. Their main office is in Berlin and I worked fully remote from Barcelona. Afterwards I have been back for a few weeks at XING Barcelona to single-handedly update their oldest and largest Ruby on Rails app to the latest Rails version 5.2, before joining Cookpad remotely, who have their (beautiful) office in Bristol, UK. In the four months with Cookpad I experienced a very dynamic working style where each team would start multiple small experiments each week. Small tweaks to UI, texts, features. Anything that could be measured and evaluated. Successful changes were kept and explored further, unsuccessful ones removed. In 2019 I worked for multiple clients, mostly for each in part-time as I had contracts in parallel.</p>
<blockquote>
<p>I am on the lookout for interesting long-term positions for 2020 and beyond.</p>
</blockquote>
<h2 id="in-case-you-want-to-hire-me">In case you want to hire me</h2>
<p>I enjoy working in small companies with small development teams. This setup promises light processes and demands independent workers. People have to show initiative and should be willing and able to make decisions. At the same time it enables
transparency and clear communication structures.</p>
<p>I do consider myself to be a product developer thinking of all parts of an implementation and not only ‘my code’. I prefer to write simple, maintainable code and to find a good, pragmatic solution, instead of a complex one. When layers of
abstractions or optimizations become necessary, they can be added at the right moment.</p>
<p>I am a strong communicator. Spreading information and connecting people comes natural to me. I do push my colleagues to share more. Be it through the group chat or in pull request descriptions or by creating new tickets. When I am in the office, I use the opportunity to connect with people outside of my team to learn more about the business in general. When I am remote, video chats help discussing complex matters.</p>
<p>I am happy to work in a fully remote position. At home in Barcelona I have a great setup with standing desk, 4k screen, 200 MBit fibre connection and a sunny balcony. In the sunny months I take advantage of living in Spain and having a camper van to sometimes work <a target="_blank" rel="noopener" href="https://raw.githubusercontent.com/mediafinger/mediafinger.github.io/master/bulli_beach.jpg" title="Playa de las Hurnas, Spain">besides a beach</a> or <a target="_blank" rel="noopener" href="https://raw.githubusercontent.com/mediafinger/mediafinger.github.io/master/bulli_montsec.jpg" title="Montsec, Spain">in the mountains</a> - when there is a fast internet connection available.</p>
<blockquote>
<p>Feel free to offer me competitively compensated <b>remote</b> roles. I am registered as an autónomo (freelancer) in Spain.</p>
</blockquote>
<h2 id="most-challenging-development-projects">Most challenging development projects</h2>
<h3 id="tolingo-integrating-salesforce-crm">2012 at tolingo: integrating Salesforce CRM</h3>
<ul>
<li>replacing old PHP monolith</li>
<li>new Rails customer facing app</li>
<li>new Rails operators facing app</li>
<li>implementing a new payment solution</li>
<li>integrating Salesforce</li>
<li>Ruby services to glue internal and external apps together</li>
<li>challenging because of: the complexity of the task, developing new apps, integrating a large external application, big bang release (not the idea of the dev team)</li>
</ul>
<h3 id="xing-messages-over-1-billion-existing-threads">2013 at XING: messages (over 1 billion existing threads)</h3>
<ul>
<li>modeling the data structure</li>
<li>optimizing queries for speed</li>
<li>migrating from old Perl to new Ruby implementation without affecting the users</li>
<li>challenging because of: the sheer amount of data, the sensitivity of the data, the search results’ speed and quality</li>
</ul>
<h3 id="xing-xtm-statistics">2014 at XING: XTM statistics</h3>
<ul>
<li>collecting usage data</li>
<li>accumulating existing data</li>
<li>creating a data structure optimized for query speed</li>
<li>displaying statistics to different user roles through a flexible interface</li>
<li>challenging because of: development of the whole feature, finding a maintainable and fast solution without increasing the technical complexity of the whole project</li>
</ul>
<h3 id="solarisbank">2017 at solarisBank: Business Identifications</h3>
<ul>
<li>extracting existing functionality out of a monolith while building a dockerized m/SOA architecture</li>
<li>adding new functionality in new services</li>
<li>connecting to a terrible XML (non SOAP) API (without good documentation)</li>
<li>following banking and data privacy regulations closely</li>
<li>challenging because of: constantly changing architecture, unstable API, time pressure to be the first on the market with a solution to identify businesses and their legal representatives in an online process</li>
</ul>
<h3 id="xing-jobs">2018 at XING: Jobs app</h3>
<ul>
<li>10 weeks project with the single task to update to the latest Rails version</li>
<li>XING's oldest and largest Ruby on Rails app, started more than 10 years ago on Rails 0.8</li>
<li>it was running on outdated Ruby and Rails versions</li>
<li>updating many (internal and external) dependencies, some of them deprecated</li>
<li>removing monkey-patches and overrides of private Rails APIs that changed or got deleted</li>
<li>rewriting tests of refactored code parts from minitest to rspec</li>
<li>finished on time on with PRs for the latest Ruby and Rails versions and comprehensive documentation about the changes</li>
</ul>
<h3 id="multiple-clients">2019 balancing multiple clients</h3>
<ul>
<li>For the first time I am working in parallel for multiple clients</li>
<li>Half of my time is spent maintaining and expanding a grown product with an ActiveAdmin-Rails app, a Sinatra-API, minitest, a mixture of fixtures and factories and a small remote team where all members work part-time</li>
<li>The other half is spent on a well funded greenfield project with all the bells and whistles: latest Ruby and Rails versions, Rspec, Capybara, Docker, microservice architecture, Kubernetes, Helm, Kong, Prometheus and a fast growing team involving people from four different companies</li>
<li>In both projects I work fully remote</li>
</ul>
<h2 id="links">Links</h2>
<ul>
<li>Twitter: <a target="_blank" rel="noopener" href="https://twitter.com/mediafinger">@mediafinger</a></li>
<li>Mastodon: <a target="_blank" rel="me" href="https://ruby.social/@mediafinger">@[email protected]</a></li>
<li>LinkedIn: <a target="_blank" rel="noopener" href="https://www.linkedin.com/in/andreasfinger">https://www.linkedin.com/in/andreasfinger</a></li>
<li>XING: <a target="_blank" rel="noopener" href="https://www.xing.com/profile/Andreas_Finger">https://www.xing.com/profile/Andreas_Finger</a></li>
<li>Github: <a target="_blank" rel="noopener" href="https://github.com/mediafinger">mediafinger</a></li>
</ul>
</article>
</div>
</div>
</div>
</div>
<footer class="center">
<div class="measure">
<small>
Contact me
via email: <a href="mailto:[email protected]">[email protected]</a>
or phone: <a href="tel:+491788726645">+491788726645</a>
</small>
</div>
</footer>
</body>
</html>