In [27]:
from watsongraph.item import Item
from watsongraph.user import User

This is Me, I would like to learn something DEEPLY in the Python world, but I am not sure what I should learn. This isn't for purely academic reasons either, I would like to be paid to code someday.


In [28]:
Mike = User(user_id='mike')

These are my interests in no particular order


In [29]:
Mike.input_interests(["Python", "Servers", "Database", "Software Development", "Internet of Things", "Automation", "Systems Admin", "GUI", "Android", "OSX"])

List out the interests...


In [30]:
Mike.interests()


Out[30]:
[(1.0, 'Software development'),
 (1.0, 'Server (computing)'),
 (1.0, 'OS X'),
 (1.0, 'Internet of Things'),
 (1.0, 'Database'),
 (1.0, 'Automation'),
 (1.0, 'Android (operating system)'),
 (0.9560379, 'X Window System'),
 (0.9452627610070801, 'LAMP (software bundle)'),
 (0.9422607, 'Smartphone'),
 (0.9333428, 'Symbian'),
 (0.9299689, 'Apple Inc.'),
 (0.9289221, 'Berkeley Software Distribution'),
 (0.92881197, 'Mac OS'),
 (0.9245837, 'X86-64'),
 (0.92373514, 'FreeBSD'),
 (0.9220949, 'Unix-like'),
 (0.918225, 'Touchscreen'),
 (0.9162129, 'List of mobile network operators of Europe'),
 (0.9128040572363282, 'MongoDB'),
 (0.9069658285046387, 'CentOS'),
 (0.9059285, 'Bluetooth'),
 (0.9049465, 'Secure Digital'),
 (0.8996500339672098, 'PostgreSQL'),
 (0.8990539850859376, 'Apache HTTP Server'),
 (0.897759, 'Index of robotics articles'),
 (0.8975061439807128, 'Red Hat'),
 (0.8967303013294678, 'Django (web framework)'),
 (0.896512296112793, 'OpenStack'),
 (0.893957, 'X86'),
 (0.8921257, 'Robotics'),
 (0.8913294193811034, 'Kernel-based Virtual Machine'),
 (0.88848096, 'ARM architecture'),
 (0.88443726, 'Universal Mobile Telecommunications System'),
 (0.8842289, 'Hypertext Transfer Protocol'),
 (0.88217694, 'Solaris (operating system)'),
 (0.8815273, 'General Packet Radio Service'),
 (0.8802539, 'Graphical user interface'),
 (0.87953866, 'Pixel'),
 (0.8759955, 'C++'),
 (0.87429464, 'GSM'),
 (0.8730210512393799, 'Web application framework'),
 (0.87222105, 'Object-oriented programming'),
 (0.8719581558496095, 'Ubuntu (operating system)'),
 (0.8693155, 'IPad'),
 (0.86520654, 'Computer-aided design'),
 (0.8649361195576626, 'Chef (software)'),
 (0.8647517, 'Windows PowerShell'),
 (0.8646125462653809, 'Node.js'),
 (0.864479, 'Ethernet'),
 (0.86153114, 'Wi-Fi'),
 (0.8596332, 'IPhone'),
 (0.8566397, 'Source code'),
 (0.85454446, 'Macintosh'),
 (0.8503803, 'BSD licenses'),
 (0.8465228557626621, 'Web application'),
 (0.8417862356964844, 'Scalability'),
 (0.83997387, 'Operating system'),
 (0.833458265824707, 'Virtualization'),
 (0.8317929698219805, 'Configuration management'),
 (0.8311231543298339, 'LXC'),
 (0.828108682821755, 'Microsoft SQL Server'),
 (0.82799613, 'Unix'),
 (0.8260053717162231, 'Front and back ends'),
 (0.82511514, 'Proprietary software'),
 (0.8251088225106933, 'Memcached'),
 (0.82452536, 'Amazon Web Services'),
 (0.8215455, 'GNU General Public License'),
 (0.82134366, 'Nokia'),
 (0.8186627, 'Scripting language'),
 (0.81704986, 'Software engineering'),
 (0.8157207806970755, 'Git (software)'),
 (0.8149859, 'Samsung'),
 (0.8144942, 'GNU Lesser General Public License'),
 (0.8131471737658691, 'Redis'),
 (0.8105889811969553, 'Puppet (software)'),
 (0.8095593575629882, 'Red Hat Enterprise Linux'),
 (0.8089638646344914, 'Representational state transfer'),
 (0.8086533, 'Java (programming language)'),
 (0.80728483, 'Application programming interface'),
 (0.8062246, 'Library (computing)'),
 (0.80358744, 'Gigabyte'),
 (0.8034758, 'Communications protocol'),
 (0.8021291082653808, 'OpenVZ'),
 (0.79892033, 'Firefox'),
 (0.7964787, 'Cloud computing'),
 (0.79323024, '.NET Framework'),
 (0.7920383695433838, 'Business process'),
 (0.7919071, 'Windows 2000'),
 (0.7911435, 'Fortran'),
 (0.7906985783681899, 'Solution'),
 (0.7901383376858486, 'Continuous integration'),
 (0.7887348717712401, 'Debian'),
 (0.7878105299752785, 'Linux'),
 (0.7877903833007811, 'Ruby on Rails'),
 (0.7868035909583008, 'Test-driven development'),
 (0.78553736, 'Windows 7'),
 (0.7806537763812853, 'Software'),
 (0.7803652739404296, 'Software deployment'),
 (0.7791149, 'XML'),
 (0.776557388607666, 'Software versioning'),
 (0.7746804, 'Sun Microsystems'),
 (0.7741872, 'Nagios'),
 (0.77080923, 'Wireless'),
 (0.7690507120593262, 'Customer'),
 (0.76280266, 'Cross-platform'),
 (0.76126057, 'Compiler'),
 (0.76007026, 'Free software'),
 (0.75838697, 'Communication'),
 (0.7568206, 'C Sharp (programming language)'),
 (0.7553997, 'Bash (Unix shell)'),
 (0.75453776, 'SQL'),
 (0.7545161, 'Python (programming language)'),
 (0.75376, 'MySQL'),
 (0.74859196, 'PHP'),
 (0.7466527, 'User interface'),
 (0.7445711304936524, 'Regression testing'),
 (0.7429461307226564, 'Workflow'),
 (0.7428268209509887, 'Personalization'),
 (0.7409555, 'Ruby (programming language)'),
 (0.740648444544137, 'Infrastructure'),
 (0.73842245, 'Experience'),
 (0.73777604, 'Perl'),
 (0.73743504, 'Advanced Micro Devices'),
 (0.7373314, 'Relational database'),
 (0.7350515112907227, 'IBM WebSphere MQ'),
 (0.7301715266645508, 'Software engineer'),
 (0.73006254, 'Failover'),
 (0.72795147, 'Megabyte'),
 (0.7253799, 'JavaScript'),
 (0.7252354, 'C (programming language)'),
 (0.72280127, 'Software release life cycle'),
 (0.7227243175739746, 'Service (economics)'),
 (0.7195629105317383, 'Understanding'),
 (0.7190379434594156, 'Tool'),
 (0.7180562, 'Distributed computing'),
 (0.7165278932148437, 'Jenkins (software)'),
 (0.7134022, 'Computer programming'),
 (0.7099928, 'Robot'),
 (0.7075846, 'Engineering'),
 (0.7075638, 'Open-source software'),
 (0.70665246, 'Metadata'),
 (0.7055433568516469, 'Knowledge'),
 (0.7035243, 'International Organization for Standardization'),
 (0.7031691907659912, 'Startup company'),
 (0.7028634978562012, 'Concept'),
 (0.6979555, 'Programming language'),
 (0.69523411754757, 'Management'),
 (0.68952835, 'Computer network'),
 (0.6883949966381835, 'Learning'),
 (0.6875434, 'Microsoft Windows'),
 (0.683841, 'Complex system'),
 (0.6805487, 'Digital Equipment Corporation'),
 (0.67441565, 'Artificial intelligence'),
 (0.6738857737548828, 'Stack (abstract data type)'),
 (0.6720162965759278, 'Autodidacticism'),
 (0.6648864836108399, 'Expert'),
 (0.65556645, 'Design'),
 (0.6551991, 'Architecture'),
 (0.6419876, 'Splunk'),
 (0.6395168, 'Manufacturing'),
 (0.6340455921600001, 'Internet Explorer'),
 (0.6331390150386963, 'FreeTDS'),
 (0.62916465285, 'HTML'),
 (0.62640816, 'Oracle Corporation'),
 (0.6159196813574219, 'Culture'),
 (0.6092410464, 'Web browser'),
 (0.60667294, 'Siemens'),
 (0.60397357, 'Geographic information system'),
 (0.5990515, 'Semantics'),
 (0.5990117065839844, 'Distributed cache'),
 (0.5944515434228514, 'XIO'),
 (0.5914147, 'Software as a service'),
 (0.5831256, 'Microprocessor'),
 (0.56692415, 'Application software'),
 (0.541167, 'Institute of Electrical and Electronics Engineers'),
 (0.5149505439058838, 'Engineer'),
 (0.47804782438403315, 'English language'),
 (0.43857954618041994, 'Exhibition game')]

In [33]:
Mike.input_interests(['web app', 'linux'])

In [34]:
job1 = Item('Python Developer', '''Design, build and maintain backend applications that our internal teams use on a 
daily basis to power our solutions. Examples include lesson management systems, roster management tools, and 
operational reports, as well as tools to automate our daily and periodic student personalization processes.

What We Are Looking For

Strong desire to work in a highly collaborative, fast-paced start-up environment
2-3 years of experience developing professional console and web based applications with at least 2 years developing 
professional grade solutions using Python
Experience with web frameworks such as Django, Django REST framework, or Flask.
Comfort with Git
Familiarity with the MEAN stack (Mongo, Express, Angular, Node)
General familiarity with Linux
Deep expertise in database centric development using MS SQL server 
(2012 preferred) and Postgres, using FreeTDS and PyODBC
Understanding of scalability patterns including message-centric design 
(e.g., Rabbit MQ and Celery) and distributed caching (e.g., Memcached)
Intimate understanding of advanced OOP concepts.
Proven experience building maintainable solutions; emphasis on managed extensibility, 
versioning, logging and instrumentation
Familiarity with Test Driven Development fundamentals, including the creation and management 
of tests using popular testing frameworks and approaches (Isolation/mocks, regression testing, etc.)
Familiarity with C# or Java huge plus.
''')
job2 = Item('Systems Programmer/Analyst', '''ECU is recruiting a Systems Programmer/Administrator to join our Enterprise Linux team. We are looking for a talented Systems Administrator who wants to be part of a team of Systems Programmers supporting Linux systems for East Carolina University. The position supports the University's mission critical ERP, Course Management, HPC and many other related systems. The position will be involved in various platform projects while provisioning new systems and managing them using IT automation tools. If you are familiar with Linux administration and looking for an opportunity to grow professionally apply today! 

Skills: 
1.Linux Systems Administration (Red Hat Enterprise Linux, Oracle Enterprise Linux, or similar) 
2.Systems programming (shell scripts, Python, Perl). 
3.Strong analytical and troubleshooting. 
4.Ability to manage projects effectively. 
5.Strong organizational and planning skills. 
6.Excellent communication skills to work efficiently with employees at all level within the organization.  
Minimum Qualifications Bachelor's degree in Computer Science, Computer Information Systems, Computer Engineering, or closely related degree from an appropriately accredited institution; and three years of experience in operations analysis and design systems programming or closely related area; or Associate's degree in Computer Information Technology, Computer Engineering Technology or Networking Technology from an appropriately accredited institution and four years of experience in operations analysis and design, systems programming or closely related area; or an equivalent combination of education and experience.  
Preferred Education and Experience Preferred Skills: 
1.Technical expertise in supporting Linux or UNIX Operating Systems. 
2.Understanding clustered systems, server virtualization, and IT automation. 
3.Kickstart, JumpStart, Puppet Enterprise, Cluster technologies. 
4.IT Automation using shell scripts, Puppet Enterprise modules, Python, Perl, or other programming languages. 
5.Three years of Systems Administration, Systems Programming, Systems Analysis, or a closely related field. 
6.Experience configuring server hardware (rack optimized, standalones, and blades) from various vendors. ''')

job3 = Item('Devops engineer', '''Excellent system-level thinking and the ability to move up and down the stack
5+ years of relevant experience
Knowledge of several scripting languages (Powershell, Python, bash, Ruby, Grunt )
Knowledge of system automation frameworks and their applications
Have experience supporting distributed web applications, in a large, complex and evolving environment
Experience with Amazon Web Services
Believer in Continuous Deployment / Integration / Delivery throughout the software engineering lifecycle
Experience with Windows and/or Linux administration, and Infrastructure management
Experience with Configuration Management and Desired State (Chef, Puppet, Ansible, DSC)
Experience with Continuous Integration platforms (Teamcity/Jenkins)
Experience with Logging and Alerting platforms (Splunk/Datadog/Nagios/Cloudwatch)
Experience with Relational Databases (MSSQL, MySQL) You'll help build the tools and systems that help Xero's Engineering, Quality Engineering and Operations teams to deliver high-quality software, fast.

Work throughout the full infrastructure, including design, architecture, communication, monitoring, availability, scaling, failover and recovery.

You’ll utilize your passion to learn new technologies, enthusiasm about sharing knowledge and experience.

Put your “try anything once” attitude to work.
''')

job4 = Item('Software Engineer in Test', '''

Piper Enterprise Solutions is seeking a Software Engineer in Test for a growing software organization in Durham, NC (Durham, North Carolina). The Software Engineer in Test will join a company voted as one of the best places to work by Glassdoor. The Software Engineer in Test will become an integral member of an automation testing team with advanced growth opportunity. The ideal candidate for the role of Software Engineer in Test will possess a background with experience in QA automation and an understanding of how software is built in addition to knowledge of object oriented programming. The Software Engineer in Test will be responsible for the design, development, and implementation of the automated testing framework and overall testing and validation to ensure product quality. 

Requirements for the Software Engineer in Test include: 
2 plus year of professional testing experience in QA automation
1 plus year of programming experience preferably in Java, Ruby, or Python
Selenium WebDriver experience is a huge plus
Strong verbal and written communication skills''')

job5 = Item('openstack software engineer', '''An OpenStack Software Engineer at Blue Box is responsible for building and maintaining software, tools and services to support our OpenStack private cloud offering and advancing the development of our Infrastructure Automation and Configuration Management tooling.
 
We are a small distributed team, so a cultural fit is very important. We’re a friendly group that enjoys kicking out code and creating brilliant solutions that make our customers’ lives easier. Our modern infrastructure is built upon a diverse and ever changing toolset. The candidate will need to be an autodidact that is willing to commit their passion for learning to our goal of making our infrastructure best in class.
 
Job Responsibilities:
Improve our infrastructure and internal systems
Help us refine and evolve our OpenStack service offering
Take initiative to substantially improve customer and colleague workflows
Meet with team members for regular sprints, develop and complete agreed-upon stories
Develop modular, clean code with comprehensive tests
Work across teams to determine most efficient path to meeting service requirements
Provide clear documentation for completed work
Mentor other engineers and be willing to share their knowledge and expertise
Required Knowledge, Skills and Abilities:
Understanding of modern cloud (compute, storage, networking) with an emphasis on OpenStack
Chef or Ansible - Belief in infrastructure-as-code
Ruby or Python
Virtualization (Kernel Virtual Machine (KVM), Vagrant, OpenVZ or Link XIO Control (LXC)) Containers experience is a plus)
Continuous Integration (CI) (Jenkins or Travis)
Linux - Red Hat Enterprise Linux (RHEL) and Ubuntu
Serving high-traffic web applications in production environments
Exposure to Ruby on Rails applications and common deployment tools
Familiarity with multiple data stores. We work with a lot of MySQL, PostgreSQL, Redis
Git and github experience in a collaborative development environment
Understanding of Representational State Transfer (REST) Application Program Interfaces (APIs), how they are used and the ability to create their own
Required Technical and Professional Expertise	
At least 5 years experience in working as a software engineer
At least 1 year experience in CentOS / Red Hat or 1+ year Debian / Ubuntu
At least 1 year experience in working with configuration management tools (Chef, Ansible, Puppet)
At least 1 year experience in MySQL and MySQL Replication, PostgreSQL, MongoDB
At least 1 year experience in Linux, Apache, MySQL, PHP (LAMP) stack
English: Fluent''')

job6 = Item('systems engineer', '''Specific Responsibilities include but are not limited to: 

Odyssey is seeking experienced software engineers with expertise developing Python applications in a Linux environment.

On one program, a software engineer will be responsible for developing extensions to two large software packages:

Python library for virtual machine control (Open Stack Nova)

Python web application for virtual machine cluster administration (Open Stack Horizon)

On the other program, a software engineer will be responsible for:

Python web application development with Django

Distributed workflow automation with Docker and Celery/RabbitMQ

Further, the software engineer will be responsible for participating in release engineering, specifically in the following areas:

Debian/Ubuntu packaging and release of software

 Use of version control, automated testing

 Integration testing with other software projects

MINIMUM QUALIFICATIONS

4+ years of software engineering experience in Python

Experience developing in a Linux environment

Either a BS and 5 years experience or an MS and 3 years experience. Degree must be in a technical discipline.

Must be a U.S. citizen with the ability to obtain and maintain a DoD security clearance

PREFERRED QUALIFICATIONS

Experience with C# or Java, AngularJS, Node.js/Grunt, REST-ful web service architecture, and web security is desired.''')

In [35]:
job1.relevancies()


Out[35]:
[(0.91834223, 'Java (programming language)'),
 (0.8967511, 'Django (web framework)'),
 (0.8842048, 'PostgreSQL'),
 (0.8738559, 'Web application'),
 (0.8730413, 'Web application framework'),
 (0.8646326, 'Node.js'),
 (0.8581192, 'Python (programming language)'),
 (0.8505019, 'C Sharp (programming language)'),
 (0.84899956, 'Database'),
 (0.84180576, 'Scalability'),
 (0.8345335, 'Object-oriented programming'),
 (0.83238906, 'Microsoft SQL Server'),
 (0.83191043, 'Representational state transfer'),
 (0.82602453, 'Front and back ends'),
 (0.82512796, 'Memcached'),
 (0.81703645, 'Git (software)'),
 (0.7990776, 'Solution'),
 (0.79205674, 'Business process'),
 (0.78682184, 'Test-driven development'),
 (0.7840187, 'Linux'),
 (0.7765754, 'Software versioning'),
 (0.7445884, 'Regression testing'),
 (0.74284405, 'Personalization'),
 (0.73506856, 'IBM WebSphere MQ'),
 (0.72574, 'Tool'),
 (0.7195796, 'Understanding'),
 (0.7031855, 'Startup company'),
 (0.7028798, 'Concept'),
 (0.6892447, 'Management'),
 (0.6331537, 'FreeTDS'),
 (0.5990256, 'Distributed cache')]

In [36]:
job2.relevancies()


Out[36]:
[(0.8796687, 'Information technology'),
 (0.8760447, 'System administrator'),
 (0.86276746, 'Systems analysis'),
 (0.85485315, 'Linux'),
 (0.8493798, 'Computer engineering'),
 (0.8436661, 'Server (computing)'),
 (0.8407045, 'Management information system'),
 (0.8379856, 'Enterprise resource planning'),
 (0.83234614, 'Automation'),
 (0.83193564, 'Computer hardware'),
 (0.83136165, 'Operations research'),
 (0.8299827, 'Computer network'),
 (0.821589, 'Computer cluster'),
 (0.82017285, 'Communication'),
 (0.81730074, 'Mission critical'),
 (0.8171752, 'Systems engineering'),
 (0.81447285, 'Computer science'),
 (0.81412184, 'Perl'),
 (0.8122004, 'Programming language'),
 (0.812135, 'Programmer'),
 (0.8095741, 'Python (programming language)'),
 (0.8071378, 'Unix'),
 (0.80298346, 'Project management'),
 (0.8029288, 'Modular programming'),
 (0.8015793, 'Planning'),
 (0.7970439, 'Academic degree'),
 (0.79541105, 'Operating system'),
 (0.78863007, 'Red Hat Enterprise Linux'),
 (0.78834057, 'Education'),
 (0.7850714, 'Provisioning'),
 (0.78212804, 'Technology'),
 (0.7818491, 'Shell script'),
 (0.77380264, 'Oracle Linux'),
 (0.77275443, 'Associate degree'),
 (0.76659346, 'System programming'),
 (0.75217485, 'Puppet (software)'),
 (0.74770504, 'Design'),
 (0.7418703, 'Management'),
 (0.7393274, 'Supercomputer'),
 (0.7187558, 'Troubleshooting'),
 (0.7026964, 'Virtual private server'),
 (0.68350863, "Bachelor's degree"),
 (0.6684741, 'Employment'),
 (0.6540321, 'Tool'),
 (0.60805386, 'East Carolina University'),
 (0.5760648, 'JumpStart'),
 (0.37416893, 'Area')]

In [37]:
job3.relevancies()


Out[37]:
[(0.8647517, 'Windows PowerShell'),
 (0.86340094, 'Configuration management'),
 (0.8628158, 'Python (programming language)'),
 (0.85012144, 'Chef (software)'),
 (0.84002197, 'MySQL'),
 (0.8338379, 'Ruby (programming language)'),
 (0.82452536, 'Amazon Web Services'),
 (0.82353556, 'Web application'),
 (0.82198805, 'Microsoft SQL Server'),
 (0.8186627, 'Scripting language'),
 (0.8178509, 'Application software'),
 (0.81704986, 'Software engineering'),
 (0.79320157, 'Continuous integration'),
 (0.786998, 'Puppet (software)'),
 (0.78479975, 'Linux'),
 (0.77629745, 'Software'),
 (0.7741872, 'Nagios'),
 (0.75838697, 'Communication'),
 (0.7553997, 'Bash (Unix shell)'),
 (0.7419316, 'Automation'),
 (0.73842245, 'Experience'),
 (0.7373314, 'Relational database'),
 (0.73122376, 'Infrastructure'),
 (0.73008156, 'Management'),
 (0.73006254, 'Failover'),
 (0.7180562, 'Distributed computing'),
 (0.7075846, 'Engineering'),
 (0.6996403, 'Knowledge'),
 (0.6875434, 'Microsoft Windows'),
 (0.683841, 'Complex system'),
 (0.65556645, 'Design'),
 (0.6551991, 'Architecture'),
 (0.6419876, 'Splunk')]

In [38]:
Mike.express_interest(job1)
Mike.express_interest(job5)
Mike.express_interest(job3)

In [39]:
Mike.interests()


Out[39]:
[(1.0, 'Web application'),
 (1.0, 'Software'),
 (1.0, 'Ruby (programming language)'),
 (1.0, 'Python (programming language)'),
 (1.0, 'Puppet (software)'),
 (1.0, 'MySQL'),
 (1.0, 'Microsoft SQL Server'),
 (1.0, 'Linux'),
 (1.0, 'Continuous integration'),
 (1.0, 'Configuration management'),
 (1.0, 'Chef (software)'),
 (1.0, 'Automation'),
 (0.9676668349902752, 'Management'),
 (0.9519765000323003, 'Infrastructure'),
 (0.9482678165999999, 'Application software'),
 (0.9391203462000001, 'Windows PowerShell'),
 (0.9065339236199336, 'Knowledge'),
 (0.9, 'Solution'),
 (0.9, 'Representational state transfer'),
 (0.9, 'Red Hat'),
 (0.9, 'PostgreSQL'),
 (0.9, 'PHP'),
 (0.9, 'OpenStack'),
 (0.9, 'MongoDB'),
 (0.9, 'LAMP (software bundle)'),
 (0.9, 'Kernel-based Virtual Machine'),
 (0.9, 'Git (software)'),
 (0.9, 'CentOS'),
 (0.9, 'Apache HTTP Server'),
 (0.8954345409599999, 'Amazon Web Services'),
 (0.8946348157429101, 'Ubuntu (operating system)'),
 (0.8890676921999999, 'Scripting language'),
 (0.88731614796, 'Software engineering'),
 (0.8812965634200001, 'Cloud computing'),
 (0.8551336747908076, 'Virtualization'),
 (0.8527378350042991, 'LXC'),
 (0.8497801400808506, 'Tool'),
 (0.8407672992, 'Nagios'),
 (0.8342943604502123, 'Redis'),
 (0.8306132373756122, 'Red Hat Enterprise Linux'),
 (0.8294653297799999, 'Application programming interface'),
 (0.82360824942, 'Communication'),
 (0.822989752616975, 'OpenVZ'),
 (0.8203640742, 'Bash (Unix shell)'),
 (0.81, 'Web application framework'),
 (0.81, 'Scalability'),
 (0.81, 'Object-oriented programming'),
 (0.81, 'Node.js'),
 (0.81, 'Java (programming language)'),
 (0.81, 'Django (web framework)'),
 (0.81, 'Database'),
 (0.8092471776808228, 'Debian'),
 (0.8082781262841796, 'Ruby on Rails'),
 (0.8028865322340845, 'Front and back ends'),
 (0.8020150763001969, 'Memcached'),
 (0.8019267807, 'Experience'),
 (0.8007419003999999, 'Relational database'),
 (0.8006599151350489, 'Software deployment'),
 (0.79284791844, 'Failover'),
 (0.7890511000608325, 'Customer'),
 (0.781158735, 'C Sharp (programming language)'),
 (0.7798090332000001, 'Distributed computing'),
 (0.7698702232380844, 'Business process'),
 (0.7684368756000001, 'Engineering'),
 (0.7647819594457342, 'Test-driven development'),
 (0.762267627531211, 'Workflow'),
 (0.7548225352633257, 'Software versioning'),
 (0.7491607995589716, 'Software engineer'),
 (0.7466721324000001, 'Microsoft Windows'),
 (0.742651326, 'Complex system'),
 (0.7415199139409516, 'Service (economics)'),
 (0.735162341702414, 'Jenkins (software)'),
 (0.7290000000000001, 'Software development'),
 (0.7290000000000001, 'Server (computing)'),
 (0.7290000000000001, 'OS X'),
 (0.7290000000000001, 'Internet of Things'),
 (0.7290000000000001, 'Android (operating system)'),
 (0.7237315318199151, 'Regression testing'),
 (0.7220360432821804, 'Personalization'),
 (0.7144783546472913, 'IBM WebSphere MQ'),
 (0.7119451647, 'Design'),
 (0.7115462226, 'Architecture'),
 (0.7062978043661572, 'Learning'),
 (0.6994232601184247, 'Understanding'),
 (0.6971985336, 'Splunk'),
 (0.691411246044873, 'Stack (abstract data type)'),
 (0.6894931501359008, 'Autodidacticism'),
 (0.6869080503, 'Smartphone'),
 (0.6834883797122717, 'Startup company'),
 (0.6831912427581138, 'Concept'),
 (0.6821779150348682, 'Expert'),
 (0.6804069012000001, 'Symbian'),
 (0.6779473281, 'Apple Inc.'),
 (0.6771039261300001, 'Mac OS'),
 (0.6756882664500001, 'JavaScript'),
 (0.67463538633, 'Software as a service'),
 (0.67254322194, 'Unix-like'),
 (0.6704835345000001, 'FreeBSD'),
 (0.669386025, 'Touchscreen'),
 (0.6679192041, 'List of mobile network operators of Europe'),
 (0.6604218765000001, 'Bluetooth'),
 (0.6597059985, 'Secure Digital'),
 (0.6565328073000001, 'Solaris (operating system)'),
 (0.6544663110000001, 'Index of robotics articles'),
 (0.6503596353000001, 'Robotics'),
 (0.6485172336, 'Berkeley Software Distribution'),
 (0.6477026198400001, 'ARM architecture'),
 (0.6450328323000001, 'X Window System'),
 (0.6447547625400001, 'Universal Mobile Telecommunications System'),
 (0.64371965544, 'Hypertext Transfer Protocol'),
 (0.6426334017, 'General Packet Radio Service'),
 (0.6411836831400001, 'Pixel'),
 (0.6386007195000001, 'C++'),
 (0.6373607925600001, 'GSM'),
 (0.6340455921600001, 'Internet Explorer'),
 (0.6337309995000001, 'IPad'),
 (0.6319376531397071, 'Culture'),
 (0.63073556766, 'Computer-aided design'),
 (0.630205191, 'Ethernet'),
 (0.62916465285, 'HTML'),
 (0.6280562010599999, 'Wi-Fi'),
 (0.6266726028, 'IPhone'),
 (0.6244903413, 'Source code'),
 (0.62296291134, 'Macintosh'),
 (0.6227155908, 'GNU General Public License'),
 (0.6218011332000001, 'Firefox'),
 (0.61570680984, 'GNU Lesser General Public License'),
 (0.6154182595088065, 'FreeTDS'),
 (0.6099112021035058, 'XIO'),
 (0.6092410464, 'Web browser'),
 (0.6052247667000001, '.NET Framework'),
 (0.6050527227000001, 'Free software'),
 (0.5987595281400001, 'Nokia'),
 (0.5978523897, 'X86-64'),
 (0.59647257495, 'BSD licenses'),
 (0.5941247211, 'Samsung'),
 (0.5923948041000001, 'XML'),
 (0.5899061803500001, 'Perl'),
 (0.5875728336, 'Unix'),
 (0.58581524376, 'Gigabyte'),
 (0.5857338582, 'Communications protocol'),
 (0.5822461309998165, 'Distributed cache'),
 (0.5773002759, 'Windows 2000'),
 (0.5767436115000001, 'Fortran'),
 (0.5726567354400001, 'Windows 7'),
 (0.5709712437000001, 'X86'),
 (0.5647420116, 'Sun Microsystems'),
 (0.56191992867, 'Wireless'),
 (0.5594298396300001, 'Library (computing)'),
 (0.5549589555300001, 'Compiler'),
 (0.55005802704, 'SQL'),
 (0.5443098183, 'User interface'),
 (0.5375901441600002, 'Advanced Micro Devices'),
 (0.5362868087999999, 'Cross-platform'),
 (0.5306766216300001, 'Megabyte'),
 (0.5286966066000001, 'C (programming language)'),
 (0.5283426525382595, 'Engineer'),
 (0.5282603730000001, 'Operating system'),
 (0.52754548644, 'Proprietary software'),
 (0.5269221258300001, 'Software release life cycle'),
 (0.5200702038000001, 'Computer programming'),
 (0.51845637276, 'Graphical user interface'),
 (0.5175847512, 'Robot'),
 (0.5158140102000001, 'Open-source software'),
 (0.51514964334, 'Metadata'),
 (0.5128692147, 'International Organization for Standardization'),
 (0.5088095595000001, 'Programming language'),
 (0.50266616715, 'Computer network'),
 (0.4961200023000001, 'Digital Equipment Corporation'),
 (0.4916490088500001, 'Artificial intelligence'),
 (0.49048021905064015, 'English language'),
 (0.4662077472, 'Manufacturing'),
 (0.45665154864000007, 'Oracle Corporation'),
 (0.4499855054436841, 'Exhibition game'),
 (0.44226457326, 'Siemens'),
 (0.44029673253000007, 'Geographic information system'),
 (0.4367085435, 'Semantics'),
 (0.42509856240000005, 'Microprocessor'),
 (0.394510743, 'Institute of Electrical and Electronics Engineers')]

In [40]:
Mike.exceptions = []
best_fit = Mike.get_best_item([job3, job1, job5])
best_fit.name


Out[40]:
'openstack software engineer'

In [41]:
Mike.exceptions = []
best_fit = Mike.get_best_item([job1, job5, job3])
best_fit.name


Out[41]:
'Devops engineer'

In [42]:
Mike.exceptions = []
best_fit = Mike.get_best_item([job5, job1, job3])
best_fit.name


Out[42]:
'Devops engineer'

In [43]:
Mike.exceptions = []
best_fit = Mike.get_best_item([job5, job3, job1])
best_fit.name


Out[43]:
'Python Developer'

In [ ]: