265 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			265 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | ||
|     <head>
 | ||
|         <meta name="url" content="resume/">
 | ||
|         <meta name="save_as" content="resume/index.html">
 | ||
|         <meta name="status" content="published">
 | ||
|         <title>Resume</title>
 | ||
|     </head>
 | ||
|     <body>
 | ||
|         <h3>
 | ||
|             Resume
 | ||
|             <span
 | ||
|                 id="keywords-button"
 | ||
|                 data-toggle="popover"
 | ||
|                 data-placement="bottom"
 | ||
|                 role="button"
 | ||
|                 tabindex="0"
 | ||
|                 data-trigger="focus"
 | ||
|             >
 | ||
|                 <span id="keyword-list-button">[ want some keywords only? click this! ]</span>
 | ||
|                 <div id="keyword-list-wrapper">
 | ||
|                     <div id="keyword-list">
 | ||
|                         Keywords go here!
 | ||
|                     </div>
 | ||
|                 </div>
 | ||
|             </span>
 | ||
|         </h3>
 | ||
| 
 | ||
|         <div>
 | ||
|             If you’re a recruiter (and why else would you be here?), you may want to check out
 | ||
|             <a href="{filename}work-preferences.rst">my preferences</a> before reading on.
 | ||
|             It will save both of us valuable time.
 | ||
|         </div>
 | ||
| 
 | ||
|         <div itemscope itemtype="http://schema.org/Person">
 | ||
|             <p>
 | ||
|                 I am <span class="b" itemprop="name">Gergely Polonkai</span> (sometimes referred
 | ||
|                 to as <span itemprop="nickname">W00d5t0ck</span> or <span
 | ||
|                 itemprop="nickname">Polesz</span>), a <span class="b" itemprop="jobTitle">software
 | ||
|                 developer, systems engineer and administrator</span>. I was born on <span
 | ||
|                 class="b" itemprop="birthDate">7 March, 1983</span> in Budapest, Hungary. I spent
 | ||
|                 my life moving here-and-there in the country, and finally settled in <span
 | ||
|                 class="b" itemprop="address" itemscope itemtype="http://schema.org/Address"> <span
 | ||
|                 itemprop="locality">Veresegyház</span></span>.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 You can reach me on <span class="b" itemprop="email">gergely@polonkai.eu</span>,
 | ||
|                 or by phone on <span class="b" itemprop="telephone">+36 (30) 7375-706</span>. I
 | ||
|                 fluently speak and write <span class="b">English</span> and <span
 | ||
|                 class="b">Hungarian</span> and currently learning Icelandic.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 I have <span class="b">graduated in 2001</span> from <span class="i">Táncsics
 | ||
|                 Mihály Szakközépiskola, Szakiskola és Kollégium</span>, an architecture high
 | ||
|                 school based in Veszprém, Hungary. There, I learned about <span
 | ||
|                 class="b">electricity and elevators</span>, while getting my feet wet in the area
 | ||
|                 of IT systems engineering. Together with some teachers, we developed <span
 | ||
|                 class="b keyword" title="network building">the IT infrastructure of the school,
 | ||
|                 building it from scratch</span> with <span class="b keyword">Windows XP</span>
 | ||
|                 based clients, and <span class="b keyword">Debian GNU/Linux</span> servers with
 | ||
|                 <span class="b keyword">Squid proxy</span>, an <span class="b keyword">Apache
 | ||
|                 httpd</span> web server, <span class="b keyword">Exim</span>+<span class="b
 | ||
|                 keyword">Courier IMAP</span> based internal mailing and a <span class="b
 | ||
|                 keyword">Samba file server</span>. Meanwhile, I have created the school’s first
 | ||
|                 <span class="b keyword" title="web development">web page</span> using <span
 | ||
|                 class="b keyword">Perl CGI</span>, and later it’s replacement in <span class="b
 | ||
|                 keyword">PHP</span>.  Although I did that as a student, I consider it my first
 | ||
|                 job.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 My first contract was made in <span class="b">2002</span> with a small Budapest
 | ||
|                 based ISP that served Internet connection to a large warren. I have mastered Linux
 | ||
|                 based <span class="b keyword" title="firewalls">firewalling and routing</span>
 | ||
|                 there using <span class="b keyword noupper">iptables</span>, and <span class="b
 | ||
|                 keyword" title="QoS">tc for QoS</span>. I have also created a <span class="b">web
 | ||
|                 page</span> for the company using <span class="b keyword">PHP</span> and <span
 | ||
|                 class="b keyword" title="MySQL database development">MySQL</span>.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 After that I contracted with a small <span class="b">web development
 | ||
|                 company</span> in <span class="b">2004</span>.  Here I was in the role of both a
 | ||
|                 <span class="b keyword" title="web development">web developer</span> and a <span
 | ||
|                 class="b keyword" title="Systems administration">systems administrator</span>. I
 | ||
|                 have mastered <span class="b keyword">PHP</span> there, together with <span
 | ||
|                 class="b keyword">MySQL administration</span>. I also built a small <span class="b
 | ||
|                 keyword" title="routers">router</span>/<span class="b keyword"
 | ||
|                 title="firewalls">firewall</span> out of a PC for office needs.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 My next job came in <span class="b">2006</span>, when I contracted with a small
 | ||
|                 <span class="b">VoIP company</span> developing a call center software based on
 | ||
|                 <span class="b keyword">Asterisk</span>. My job here was to create a base system
 | ||
|                 for this software as small as possible, while managing the old, Ubuntu based
 | ||
|                 ones. For the new version we targeted <span class="b keyword">Gentoo Linux</span>
 | ||
|                 because of its possible small size, and performance reasons.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 The job that followed was with a world-wide IT services company in <span
 | ||
|                 class="b">2007</span>, where I became a member of a large team supporting and
 | ||
|                 administering several thousand servers, mostly based on <span class="b
 | ||
|                 keyword">Red Hat Enterprise Linux</span> and <span class="b keyword">SUSE Linux
 | ||
|                 Enterprise Server</span>. There I mastered cluster technologies (both <span
 | ||
|                 class="b keyword">Heartbeat 2</span> and <span class="b keyword">Red Hat
 | ||
|                 Cluster</span>), <span class="b keyword">SAN</span>, <span class="b keyword
 | ||
|                 noupper">iSCSI</span> and <span class="b keyword">NFS</span> based storages, <span
 | ||
|                 class="b keyword">Apache httpd</span> and <span class="b keyword">Tomcat</span>
 | ||
|                 web servers, administration of <span class="b keyword" title="MySQL
 | ||
|                 administration">MySQL</span> and <span class="b keyword" title="Oracle 10g
 | ||
|                 Database Administration">Oracle 10g Database</span>s, <span class="b
 | ||
|                 keyword">Bacula</span> based backup, <span class="b keyword">Windows 2003
 | ||
|                 Server</span> and <span class="b keyword">Windows Server 2008</span> (both
 | ||
|                 standalone and cluster) with <span class="b keyword">Active Directory</span>,
 | ||
|                 <span class="b keyword">Group Policy</span>, <span class="b keyword">Microsoft
 | ||
|                 Exchange Server 2005</span> and <span class="b keyword">Microsoft SQL Server
 | ||
|                 2005</span>, <span class="b keyword">Xen Open Source</span> virtualization, <span
 | ||
|                 class="b keyword">Citrix XenServer</span> and <span class="b keyword"
 | ||
|                 title="Citrix XenApp">XenApp</span>, <span class="b keyword">VMware ESXi</span>
 | ||
|                 and <span class="b keyword" title="VMware vSphere">vSphere</span>, <span class="b
 | ||
|                 keyword">Nagios</span> monitoring (and <span class="b keyword">monitoring</span>
 | ||
|                 in general), and last, but not least, <span class="b keyword">Linux
 | ||
|                 hardening</span> (<span class="b keyword">SELinux</span>, firewalls of different
 | ||
|                 kinds, fighting <span class="b keyword">application security</span> issues).
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 All this knowledge came in very handy, when I went to a leading Hungarian
 | ||
|                 financial company in <span class="b">2010</span>. The IT infrastructure was in a
 | ||
|                 very bad shape there, and my job was to rebuild the Linux parts from scratch. We
 | ||
|                 utilized <span class="b keyword">Debian GNU/Linux</span> servers (both standalone
 | ||
|                 and <span class="b keyword">Heartbeat 2</span> clusters), <span class="b
 | ||
|                 keyword">Apache httpd</span> web servers, <span class="b
 | ||
|                 keyword">Exim</span>+<span class="b keyword">Courier IMAP</span> for mailing,
 | ||
|                 <span class="b keyword">Bacula</span> based backup, <span class="b keyword"
 | ||
|                 title="MySQL administration">MySQL</span> and <span class="b keyword"
 | ||
|                 title="PostgreSQL administration">PostgreSQL</span> database servers, <span
 | ||
|                 class="b">Oracle Database</span>s (both <span class="keyword" title="Oracle 10g
 | ||
|                 Database Administration">10g</span> and <span class="keyword" title="Oracle 11g
 | ||
|                 Database Administration">11g</span>), <span class="b">Microsoft SQL Server</span>s
 | ||
|                 (both <span class="keyword" title="Microsoft SQL Server 2005">2005</span> and
 | ||
|                 <span class="keyword" title="Microsoft SQL Server 2008">2008</span>), <span
 | ||
|                 class="b keyword">Windows 2003 Server</span> and <span class="b keyword">Windows
 | ||
|                 Server 2008</span> (both standalone and clusters), <span class="b keyword">Active
 | ||
|                 Directory</span>, <span class="b keyword">Group Policy</span>, centralised <span
 | ||
|                 class="b keyword">ESET NOD32 anti-virus</span>, <span class="b keyword">Windows
 | ||
|                 cluster</span> based <span class="b keyword" title="Microsoft File Server">file
 | ||
|                 server with AD backend</span>, <span class="b keyword">WSUS</span>, <span class="b
 | ||
|                 keyword">OTRS::ITSM</span> helpdesk, <span class="b keyword">Zabbix</span> based
 | ||
|                 monitoring, virtualization with <span class="b keyword">Citrix XenServer</span>,
 | ||
|                 IT security solutions with <span class="b keyword">SonicWall</span> appliances,
 | ||
|                 <span class="b keyword">SELinux</span>, <span class="b keyword">Snort</span> and
 | ||
|                 <span class="b keyword noupper">iptables</span>, <span class="b
 | ||
|                 keyword">Perl</span> for system administration scripts, and <span class="b
 | ||
|                 keyword">PHP</span> and the <span class="b keyword">Symfony 2</span> framework for
 | ||
|                 internal web development. Although much has changed in this list since then, it
 | ||
|                 was my best and most challenging experience so far.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 I left that company in <span class="b">2013</span> to work as a <span
 | ||
|                 class="b">freelancer developer</span> and a <span class="b">systems
 | ||
|                 engineer</span> for a <span class="b">startup network monitoring
 | ||
|                 company</span>. Here we were building a help desk system using open source
 | ||
|                 products like <span class="b keyword">OTRS::ITSM</span>, <span class="b
 | ||
|                 keyword">OpenLDAP</span>, and <span class="b keyword">Zabbix</span>. I also dug my
 | ||
|                 nose into <span class="b keyword">Docsis</span> based ISP networks and <span
 | ||
|                 class="b keyword">SIP</span>-based telephony.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 Unfortunately our main employer went bankrupt in <span class="b">2014</span>, so
 | ||
|                 after a few months of freelancing I got a new job at the R&D division of a
 | ||
|                 leading telecommunications company, a role pretty close to DevOps. I also
 | ||
|                 developed some internal, <span class="b keyword">Django</span>-based web
 | ||
|                 applications, while maintaining internal scripts written in both <span
 | ||
|                 class="b keyword">Perl</span>, <span class="b keyword">Python</span>, <span
 | ||
|                 class="b keyword">bash</span> and <span class="b keyword">tcsh</span> or helping
 | ||
|                 in the migration of the internal source code repositories from <span class="b
 | ||
|                 keyword">ClearCase</span> to <span class="b keyword">Git</span>.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 I left that company in 2016, as such a slow moving giant couldn’t really keep up
 | ||
|                 with my pace. I signed with another startup creating games capable of analysing
 | ||
|                 work behaviour. Here we mainly used <span class="b keyword">Flask</span> and
 | ||
|                 <span class="b keyword">FastAPI</span>. I also built the infrastructure from the
 | ||
|                 ground up, migrating the original <span class="b keyword">Docker</span>-based
 | ||
|                 workflow to <span class="b keyword">DigitalOcean</span>’s
 | ||
|                 <span class="b keyword">Kubernetes</span>. We collected logs with
 | ||
|                 <span class="b keyword">Loki</span>, metrics with
 | ||
|                 <span class="b keyword">Prometheus</span> and visualized both with
 | ||
|                 <span class="b keyword">Grafana</span>, managing the whole thing with
 | ||
|                 <span class="b keyword">Terraform</span>.
 | ||
|             </p>
 | ||
| 
 | ||
|             <p>
 | ||
|                 In my <span class="b">free time</span>, I wander in forests, take pictures, and
 | ||
|                 sometimes manipulate them with the <span class="b keyword">GIMP</span>. Sometimes
 | ||
|                 I <span class="b">write</span> short fantasy or sci-fi novels using
 | ||
|                 <span class="b keyword">LibreOffice</span>. I am also developing some software in
 | ||
|                 <span class="b keyword">C</span>, <span class="b keyword">Python</span>, and
 | ||
|                 <span class="b keyword">Vala</span>, whose source code is managed with
 | ||
|                 <span class="b keyword">Git</span>. Being an avid
 | ||
|                 <span class="b keyword">Emacs</span> user I spend a considerable amount of my
 | ||
|                 screen-time learning about and extending my editor. When I’m not in the mood for
 | ||
|                 writing, I go and check out the news on several technical areas, mostly IT and
 | ||
|                 engineering, or give a try to a new programming language in the name of “why not?”
 | ||
|             </p>
 | ||
|         </div>
 | ||
| 
 | ||
|         <div id="keywords"><span id="keywords-close"></span><span id="keywords-list"></span></div>
 | ||
| 
 | ||
|         <script type="text/javascript">
 | ||
|          function generateKeywords() {
 | ||
|              var keywords = new Array();
 | ||
|              var keyword_tags = document.querySelectorAll('.keyword');
 | ||
| 
 | ||
|              keyword_tags.forEach(function(tag, idx) {
 | ||
|                  var kw = (tag.title || tag.textContent).trim().replace(/\n */, ' ');
 | ||
| 
 | ||
|                  var firstLetter = kw.charAt(0);
 | ||
|                  var remainder = kw.slice(1);
 | ||
| 
 | ||
|                  if (!tag.classList.contains('noupper')) {
 | ||
|                      firstLetter = firstLetter.toUpperCase();
 | ||
|                  }
 | ||
| 
 | ||
|                  kw = document.createElement('span');
 | ||
|                  kw.classList.add('keyword-first-letter');
 | ||
|                  kw.innerText = firstLetter;
 | ||
| 
 | ||
|                  keywords.push(kw.outerHTML + remainder);
 | ||
|              });
 | ||
| 
 | ||
|              return keywords
 | ||
|                  .filter(function(el, index) {
 | ||
|                      return index === keywords.indexOf(el);
 | ||
|                  })
 | ||
|                  .sort(function(a, b) {
 | ||
|                      if (a.toLowerCase() < b.toLowerCase()) {
 | ||
|                          return -1;
 | ||
|                      } else if (a.toLowerCase() > b.toLowerCase()) {
 | ||
|                          return 1;
 | ||
|                      }
 | ||
| 
 | ||
|                      return 0;
 | ||
|                  });
 | ||
|          }
 | ||
| 
 | ||
|          var keywords = generateKeywords();
 | ||
| 
 | ||
|          document.getElementById('keyword-list').innerHTML = keywords.join(' | ');
 | ||
|          document.getElementById('keyword-list-button')
 | ||
|                  .addEventListener('click', function() {
 | ||
|                      var wrapper = document.getElementById('keyword-list-wrapper');
 | ||
|                      wrapper.style.display = (wrapper.offsetParent) ? 'none' : 'block';
 | ||
|                  });
 | ||
|         </script>
 | ||
|     </body>
 | ||
| </html>
 |