Last active
August 29, 2015 14:06
-
-
Save nathanlippi/ae307e341b886fab6648 to your computer and use it in GitHub Desktop.
Resume
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Resume in PHP | |
* | |
* @author: Nathan Lippi <[email protected]> | |
* | |
*/ | |
class ResumeConcrete extends AbstractResume | |
{ | |
public function getMyObjective() { | |
$objective = "To bring my abilities which enable me to engineer " . | |
"creative, pragmatic and maintainable solutions into an " . | |
"environment where they can flourish, while honing my " . | |
"craft alongside intelligent, energetic co-workers."; | |
return $objective; | |
} | |
} | |
abstract class AbstractResume | |
{ | |
public function getWorkExperience() { | |
$ret = array(); | |
$ret[] = array( | |
"place" => "Aego", | |
"url" => "BitSplit.it", | |
"time" => "2014-Present", | |
"desc" => "Conceived of, implemented, and scaled a dynamic " . | |
"bitcoin lottery in which playing well involves " . | |
"skill.", | |
"exp" => "Learned, more in depth, the pros and cons of both " . | |
"relational and non-relational databases. Experienced " . | |
"the power and frustration of async environments.", | |
"tech" => array("NodeJS", "MongoDB", "Redis", "PostgreSQL", | |
"Linux", "AWS", "CSS", "HTML") | |
); | |
$ret[] = array( | |
"place" => "ITKinfo", | |
"url" => "ReportMule.com", | |
"time" => "2010-Present", | |
"desc" => "Conceived of, programmed, designed, and maintained " . | |
"an in-production web app that helps a Los Angeles " . | |
"company build large reports for media-monitoring " . | |
"departments of large companies such as Dreamworks, " . | |
"Facebook, Zynga.", | |
"exp" => "My first in-production code. Learned (the hard way) " . | |
"about creating software that works well.", | |
"tech" => array("PHP", "javascript", "Python", "MySQL", "AWS", | |
"CSS", "HTML") | |
); | |
$ret[] = array( | |
"place" => "Lemonfree.com", | |
"url" => "private", | |
"time" => "2012-2014", | |
"desc" => "Designed and maintained a specialized and *scalable* " . | |
"scraper that can be managed from a web-ui using only " . | |
"CSS-style selectors.", | |
"exp" => "Learned about working at scale, refactoring, and " . | |
"creating readable, testable code.", | |
"tech" => array("PHP", "MySQL", "Ruby", "Bash", "AWS", "Linux") | |
); | |
$ret[] = array( | |
"place" => "AegoBooks", | |
"url" => "NA", | |
"time" => "2009-Present", | |
"desc" => "Hired and worked with programmers to successfully " . | |
"create and run software that automated arbitrage " . | |
"between book markets on Amazon and Ebay.", | |
"tech" => array("Java", "Windows") | |
); | |
return $ret; | |
} | |
public function getEducationFormal() { | |
$ret = array(); | |
$ret[] = array( | |
"place" => "Andrews University", | |
"time" => "2004-2008", | |
"desc" => "Learned how to get inside people's heads while " . | |
"running harmlessly subversive and informal " . | |
"swing-dance and poker groups.", | |
"tech" => array("IPod") | |
); | |
$ret[] = array( | |
"place" => "Berrien Springs High School", | |
"time" => "1999-2003", | |
"desc" => "Spent half my day at an accelerated Math and Science " . | |
"Center, honing my mad math skills and taking some CS " . | |
"classes, scoring 5/5 on the C++ AP test along the " . | |
"way. Wrote 2 note-worthy TI-83 programs: one to" . | |
"calculate the square root of a number to more digits " . | |
"than the calculator itself, another much-loved " . | |
" (by yours truly) game appropriately-named " . | |
"\"Fishin'\"", | |
"tech" => array("C++", "TI-83 Basic", "Lego Mindstorms Basic") | |
); | |
return $ret; | |
} | |
} | |
// Generate the resume | |
function displaySeparator($level = 6) { | |
echo str_repeat("=", pow(2, $level)), PHP_EOL; | |
} | |
function displaySubtitle($text, $level = 6) { | |
echo PHP_EOL, PHP_EOL; | |
displaySeparator($level); | |
echo "=== ", $text, PHP_EOL; | |
displaySeparator($level); | |
} | |
function displayExpArr($expArr) { | |
foreach($expArr as $job) { | |
displaySubtitle($job["place"], 4); | |
echo "Time Period: ", $job["time"], PHP_EOL; | |
if(isset($job["tech"])) { | |
echo "Tech: ", implode($job["tech"], ", "), PHP_EOL; } | |
echo "Description: ", wordwrap($job["desc"]), PHP_EOL; | |
if(isset($job["exp"])) { | |
echo "Experience: ", wordwrap($job["exp"]), PHP_EOL; } | |
} | |
} | |
$asciiTitle = <<< ASCII | |
____ | |
| _ \ ___ ___ _ _ _ __ ___ ___ | |
| |_) / _ \/ __| | | | '_ ` _ \ / _ \ | |
| _ < __/\__ \ |_| | | | | | | __/ | |
|_| \_\___||___/\__,_|_| |_| |_|\___| | |
ASCII; | |
echo $asciiTitle; | |
$resume = new ResumeConcrete(); | |
displaySubtitle("Objective"); | |
echo wordwrap($resume->getMyObjective()); | |
displaySubtitle("Work Experience"); | |
displayExpArr($resume->getWorkExperience()); | |
displaySubtitle("Formal Education"); | |
displayExpArr($resume->getEducationFormal()); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment