#!/usr/bin/env python3
import sys
from datetime import date
from textwrap import dedent

class WayneWerner:
    def __init__(self): = 'Wayne Werner' = '' = '' = [
            {'degree': 'B.S. in Computer Science',
             'school': 'University of Central Arkansas',
             'honors': 'cum laude',
             'achievments': [
                 'President, CS Club - Fall 2010-Spring 2011',
                 'Participation in ACM & Acxiom programming competitions',
                 "Dean's List Spring 2007",
                 "Dean's List Spring 2008",
                 "Dean's List Fall 2008",
                 "Dean's List Spring 2010",
        self.experience = [
            {'title': 'Software Engineer',
             'start': date(2015, 3, 1),
             'end': date(2018, 1, 16),
             'company': 'Softgate Systems, Inc. (acquired by Tio, then PayPal)',
             'technology': ['Python', 'Postgresql', 'DevOps', 'SELinux'],
             'accomplishments': [
                 'Migrated one-off manual reports to repeatable solution',
                 'Developed OFAC SDN name lookup',
                 'Improved Documentation',
                 'Implemented Buildbot install w/Slack integration',
                 'Ported legacy codebase to clean, modern Python',
                 'Built initial Salt implementation',
                 'Self-taught SELinux for CentOS migration from Debian',
                 'Stepped up to increased responsibility when senior dev'
                 ' quit.',
                 'Promote the increase of our Bus Factor',
                 'Trained others in Python, Saltstack',
            {'title': 'Software Engineer',
             'start': date(2013, 11, 1),
             'end': date(2015, 3, 1),
             'company': 'LWSI, Inc.',
             'technology': ['.NET', 'Python', 'Java', 'Javascript'],
             'accomplishments': [
                 'Developed an implementation of the Direct protocol',
                 'Replaced a non-working .NET application with smaller'
                 ' and more effective Python application',
                 'Developed MU2 approved Patient Portal',
                 'Known as the go-to for tech questions',
                 'Known for tackling and solving nasty problems',
                 'Taught team how to use Git',
                 'Wrote automated tests',
                 'Encouraged others to write tests',
                 'Improved development pipeline',
                 'Paid technical debts',
                 'Worked to improve deployment process - using better tools'
                 ' like Jenkins for CI, semantic versioning, Maven/Ant, Docker, etc.',
            {'title': 'Systems Analyst',
             'start': date(2011, 6, 1),
             'end': date(2013, 11, 1),
             'company': 'Data-Tronics Corp.',
             'technology': [
                 'VB.NET', 'C#', 'Visual Studio', 'WCF', '.NET remoting',
             'accomplishments': [
                 'Took responsibility for design and development of'
                 ' generic inbox-style user control',
                 'Supported and instrumental in helping team adopt Scrum'
                 ' practices, including learning about, using, and teaching'
                 ' TDD, and CI tools',
                 'Designed and replaced an out-dated system as part of a team',
            {'title': 'Internship',
             'start': date(2010, 5, 1),
             'end': date(2010, 8, 30),
             'company': 'Arkansas Highway and Transportation Department',
             'technology': ['VB', 'ASP.NET', 'Visual Studio 2008', 'CSS'],
             'accomplishments': [
                 'Designed and developed web-GUI based front-end',
                 'Self-taught Visual Basic',
                 'Documented and developed project',
        self.other_accomplishments = [
            'Top 1% in [python] tag on StackOverflow',
            'Top 5% in [python-2.7], [python-3.x], [tkinter]',
            'Top 10% in [logging]',
            'Taught Tkinter tutorial at PyArkansas',
            'Gave live-coding TDD talk at PyArkansas',
            'Eagle Scout',

    def show(self):
        border = '*'*(len(
        print(border, border, sep='\n')
        print(f'** {" " * len(} **')
        print(f'** {} **')
        print(f'** {" " * len(} **')
        print(border, border, sep='\n')
        for work in reversed(sorted(self.experience, key=lambda x: x['start'])):
            end = work['end'].strftime('%Y-%m') if work['end'] else 'current'
            {work['title']} ({work['company']}), {work['start']:%Y-%m} to {end}
            Technology: {', '.join(work['technology'])}
            for accomplishment in work['accomplishments']:
                print('-', accomplishment)