mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-12-22 13:37:21 +00:00
Refactor helpers.
Rebind Handlebars helpers to drop the pesky options hash for standalone helpers that don't need it. Move block helpers (which do need the Handlebars options/context) to a separate file for special handling.
This commit is contained in:
parent
6ac2cd490b
commit
917fd8e3f3
71
dist/helpers/block-helpers.js
vendored
Normal file
71
dist/helpers/block-helpers.js
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
/**
|
||||
Block helper definitions for HackMyResume / FluentCV.
|
||||
@license MIT. See LICENSE.md for details.
|
||||
@module helpers/generic-helpers
|
||||
*/
|
||||
|
||||
(function() {
|
||||
var BlockHelpers, HMSTATUS, LO, _, unused;
|
||||
|
||||
HMSTATUS = require('../core/status-codes');
|
||||
|
||||
LO = require('lodash');
|
||||
|
||||
_ = require('underscore');
|
||||
|
||||
unused = require('../utils/string');
|
||||
|
||||
|
||||
/** Block helper function definitions. */
|
||||
|
||||
BlockHelpers = module.exports = {
|
||||
|
||||
/**
|
||||
Emit the enclosed content if the resume has a section with
|
||||
the specified name. Otherwise, emit an empty string ''.
|
||||
*/
|
||||
section: function(title, options) {
|
||||
var obj, ret;
|
||||
title = title.trim().toLowerCase();
|
||||
obj = LO.get(this.r, title);
|
||||
ret = '';
|
||||
if (obj) {
|
||||
if (_.isArray(obj)) {
|
||||
if (obj.length) {
|
||||
ret = options.fn(this);
|
||||
}
|
||||
} else if (_.isObject(obj)) {
|
||||
if ((obj.history && obj.history.length) || (obj.sets && obj.sets.length)) {
|
||||
ret = options.fn(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
|
||||
/**
|
||||
Emit the enclosed content if the resume has the named
|
||||
property or subproperty.
|
||||
*/
|
||||
has: function(title, options) {
|
||||
title = title && title.trim().toLowerCase();
|
||||
if (LO.get(this.r, title)) {
|
||||
return options.fn(this);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
Return true if either value is truthy.
|
||||
@method either
|
||||
*/
|
||||
either: function(lhs, rhs, options) {
|
||||
if (lhs || rhs) {
|
||||
return options.fn(this);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}).call(this);
|
||||
|
||||
//# sourceMappingURL=block-helpers.js.map
|
100
dist/helpers/generic-helpers.js
vendored
100
dist/helpers/generic-helpers.js
vendored
@ -38,34 +38,61 @@ Generic template helper definitions for HackMyResume / FluentCV.
|
||||
GenericHelpers = module.exports = {
|
||||
|
||||
/**
|
||||
Display a formatted date with optional fallback text.
|
||||
Emit a formatted string representing the specified datetime.
|
||||
Convert the input date to the specified format through Moment.js. If date is
|
||||
valid, return the formatted date string. If date is null, undefined, or other
|
||||
falsy value, return the value of the 'fallback' parameter, if specified, or
|
||||
null if no fallback was specified. If date is invalid, but not null/undefined/
|
||||
falsy, return it as-is.
|
||||
@param {string|Moment} datetime A date value.
|
||||
@param {string} [dtFormat='YYYY-MM'] The desired datetime format. Must be a
|
||||
Moment.js-compatible datetime format.
|
||||
@param {string|Moment} fallback A fallback value to use if the specified date
|
||||
is null, undefined, or falsy.
|
||||
*/
|
||||
formatDate: function(datetime, dtFormat, fallback) {
|
||||
var momentDate;
|
||||
if (datetime == null) {
|
||||
datetime = void 0;
|
||||
}
|
||||
if (dtFormat == null) {
|
||||
dtFormat = 'YYYY-MM';
|
||||
}
|
||||
momentDate = moment(datetime);
|
||||
if (momentDate.isValid()) {
|
||||
return momentDate.format(dtFormat);
|
||||
if (datetime && moment.isMoment(datetime)) {
|
||||
return datetime.format(dtFormat);
|
||||
}
|
||||
return datetime || (typeof fallback === 'string' ? fallback : (fallback === true ? 'Present' : null));
|
||||
if (String.is(datetime)) {
|
||||
momentDate = moment(datetime, dtFormat);
|
||||
if (momentDate.isValid()) {
|
||||
return momentDate.format(dtFormat);
|
||||
}
|
||||
momentDate = moment(datetime);
|
||||
if (momentDate.isValid()) {
|
||||
return momentDate.format(dtFormat);
|
||||
}
|
||||
}
|
||||
return datetime || (typeof fallback === 'string' ? fallback : (fallback === true ? 'Present' : ''));
|
||||
},
|
||||
|
||||
/** Display a formatted date. */
|
||||
/**
|
||||
Emit a formatted string representing the specified datetime.
|
||||
@param {string} dateValue A raw date value from the FRESH or JRS resume.
|
||||
@param {string} [dateFormat='YYYY-MM'] The desired datetime format. Must be
|
||||
compatible with Moment.js datetime formats.
|
||||
@param {string} [dateDefault=null] The default date value to use if the dateValue
|
||||
parameter is null, undefined, or falsy.
|
||||
*/
|
||||
date: function(dateValue, dateFormat, dateDefault) {
|
||||
var dateValueMoment, dateValueSafe, reserved;
|
||||
if (arguments.length < 4 || !dateDefault || !String.is(dateDefault)) {
|
||||
if (!dateDefault || !String.is(dateDefault)) {
|
||||
dateDefault = 'Current';
|
||||
}
|
||||
if (arguments.length < 3 || !dateFormat || !String.is(dateFormat)) {
|
||||
if (!dateFormat || !String.is(dateFormat)) {
|
||||
dateFormat = 'YYYY-MM';
|
||||
}
|
||||
if (!dateValue || !String.is(dateValue)) {
|
||||
dateValue = null;
|
||||
}
|
||||
if (!dateValue) {
|
||||
return dateDefault;
|
||||
}
|
||||
@ -84,13 +111,12 @@ Generic template helper definitions for HackMyResume / FluentCV.
|
||||
/**
|
||||
Given a resume sub-object with a start/end date, format a representation of
|
||||
the date range.
|
||||
@method dateRange
|
||||
*/
|
||||
dateRange: function(obj, fmt, sep, fallback, options) {
|
||||
dateRange: function(obj, fmt, sep, fallback) {
|
||||
if (!obj) {
|
||||
return '';
|
||||
}
|
||||
return _fromTo(obj.start, obj.end, fmt, sep, fallback, options);
|
||||
return _fromTo(obj.start, obj.end, fmt, sep, fallback);
|
||||
},
|
||||
|
||||
/**
|
||||
@ -125,30 +151,6 @@ Generic template helper definitions for HackMyResume / FluentCV.
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
Block-level helper. Emit the enclosed content if the resume has a section with
|
||||
the specified name. Otherwise, emit an empty string ''.
|
||||
@method section
|
||||
*/
|
||||
section: function(title, options) {
|
||||
var obj, ret;
|
||||
title = title.trim().toLowerCase();
|
||||
obj = LO.get(this.r, title);
|
||||
ret = '';
|
||||
if (obj) {
|
||||
if (_.isArray(obj)) {
|
||||
if (obj.length) {
|
||||
ret = options.fn(this);
|
||||
}
|
||||
} else if (_.isObject(obj)) {
|
||||
if ((obj.history && obj.history.length) || (obj.sets && obj.sets.length)) {
|
||||
ret = options.fn(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
|
||||
/**
|
||||
Emit the size of the specified named font.
|
||||
@param key {String} A named style from the "fonts" section of the theme's
|
||||
@ -306,7 +308,7 @@ Generic template helper definitions for HackMyResume / FluentCV.
|
||||
},
|
||||
|
||||
/**
|
||||
Capitalize the first letter of the word.
|
||||
Capitalize the first letter of the word. TODO: Rename
|
||||
@method section
|
||||
*/
|
||||
camelCase: function(val) {
|
||||
@ -319,20 +321,8 @@ Generic template helper definitions for HackMyResume / FluentCV.
|
||||
},
|
||||
|
||||
/**
|
||||
Emit the enclosed content if the resume has the named property or subproperty.
|
||||
@method has
|
||||
*/
|
||||
has: function(title, options) {
|
||||
title = title && title.trim().toLowerCase();
|
||||
if (LO.get(this.r, title)) {
|
||||
return options.fn(this);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
Generic template helper function to display a user-overridable section
|
||||
title for a FRESH resume theme. Use this in lieue of hard-coding section
|
||||
titles.
|
||||
Display a user-overridable section title for a FRESH resume theme. Use this in
|
||||
lieue of hard-coding section titles.
|
||||
|
||||
Usage:
|
||||
|
||||
@ -464,16 +454,6 @@ Generic template helper definitions for HackMyResume / FluentCV.
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
Return true if either value is truthy.
|
||||
@method either
|
||||
*/
|
||||
either: function(lhs, rhs, options) {
|
||||
if (lhs || rhs) {
|
||||
return options.fn(this);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
Conditional stylesheet link. Creates a link to the specified stylesheet with
|
||||
<link> or embeds the styles inline with <style></style>, depending on the
|
||||
|
23
dist/helpers/handlebars-helpers.js
vendored
23
dist/helpers/handlebars-helpers.js
vendored
@ -1,12 +1,12 @@
|
||||
|
||||
/**
|
||||
Template helper definitions for Handlebars.
|
||||
@license MIT. Copyright (c) 2015 James Devlin / FluentDesk.
|
||||
@license MIT. See LICENSE.md for details.
|
||||
@module handlebars-helpers.js
|
||||
*/
|
||||
|
||||
(function() {
|
||||
var HANDLEBARS, _, helpers;
|
||||
var HANDLEBARS, _, blockHelpers, helpers;
|
||||
|
||||
HANDLEBARS = require('handlebars');
|
||||
|
||||
@ -14,6 +14,8 @@ Template helper definitions for Handlebars.
|
||||
|
||||
helpers = require('./generic-helpers');
|
||||
|
||||
blockHelpers = require('./block-helpers');
|
||||
|
||||
|
||||
/**
|
||||
Register useful Handlebars helpers.
|
||||
@ -21,9 +23,24 @@ Template helper definitions for Handlebars.
|
||||
*/
|
||||
|
||||
module.exports = function(theme, opts) {
|
||||
var wrappedHelpers;
|
||||
helpers.theme = theme;
|
||||
helpers.opts = opts;
|
||||
return HANDLEBARS.registerHelper(helpers);
|
||||
helpers.type = 'handlebars';
|
||||
wrappedHelpers = _.mapObject(helpers, function(hVal, hKey) {
|
||||
if (_.isFunction(hVal)) {
|
||||
_.wrap(hVal, function(func) {
|
||||
var args;
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
args.shift();
|
||||
args.pop();
|
||||
return func.apply(this, args);
|
||||
});
|
||||
}
|
||||
return hVal;
|
||||
}, this);
|
||||
HANDLEBARS.registerHelper(wrappedHelpers);
|
||||
HANDLEBARS.registerHelper(blockHelpers);
|
||||
};
|
||||
|
||||
}).call(this);
|
||||
|
58
src/helpers/block-helpers.coffee
Normal file
58
src/helpers/block-helpers.coffee
Normal file
@ -0,0 +1,58 @@
|
||||
###*
|
||||
Block helper definitions for HackMyResume / FluentCV.
|
||||
@license MIT. See LICENSE.md for details.
|
||||
@module helpers/generic-helpers
|
||||
###
|
||||
|
||||
|
||||
|
||||
HMSTATUS = require '../core/status-codes'
|
||||
LO = require 'lodash'
|
||||
_ = require 'underscore'
|
||||
unused = require '../utils/string'
|
||||
|
||||
|
||||
|
||||
###* Block helper function definitions. ###
|
||||
BlockHelpers = module.exports =
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Emit the enclosed content if the resume has a section with
|
||||
the specified name. Otherwise, emit an empty string ''.
|
||||
###
|
||||
|
||||
section: ( title, options ) ->
|
||||
title = title.trim().toLowerCase()
|
||||
obj = LO.get this.r, title
|
||||
ret = ''
|
||||
if obj
|
||||
if _.isArray obj
|
||||
if obj.length
|
||||
ret = options.fn @
|
||||
else if _.isObject obj
|
||||
if (obj.history && obj.history.length) || (obj.sets && obj.sets.length)
|
||||
ret = options.fn @
|
||||
ret
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Emit the enclosed content if the resume has the named
|
||||
property or subproperty.
|
||||
###
|
||||
|
||||
has: ( title, options ) ->
|
||||
title = title && title.trim().toLowerCase()
|
||||
if LO.get this.r, title
|
||||
return options.fn this
|
||||
return
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Return true if either value is truthy.
|
||||
@method either
|
||||
###
|
||||
either: ( lhs, rhs, options ) -> options.fn @ if lhs || rhs
|
@ -27,34 +27,70 @@ GenericHelpers = module.exports =
|
||||
|
||||
|
||||
###*
|
||||
Display a formatted date with optional fallback text.
|
||||
Emit a formatted string representing the specified datetime.
|
||||
Convert the input date to the specified format through Moment.js. If date is
|
||||
valid, return the formatted date string. If date is null, undefined, or other
|
||||
falsy value, return the value of the 'fallback' parameter, if specified, or
|
||||
null if no fallback was specified. If date is invalid, but not null/undefined/
|
||||
falsy, return it as-is.
|
||||
@param {string|Moment} datetime A date value.
|
||||
@param {string} [dtFormat='YYYY-MM'] The desired datetime format. Must be a
|
||||
Moment.js-compatible datetime format.
|
||||
@param {string|Moment} fallback A fallback value to use if the specified date
|
||||
is null, undefined, or falsy.
|
||||
###
|
||||
formatDate: (datetime, dtFormat, fallback) ->
|
||||
|
||||
datetime ?= undefined
|
||||
dtFormat ?= 'YYYY-MM'
|
||||
momentDate = moment datetime
|
||||
return momentDate.format(dtFormat) if momentDate.isValid()
|
||||
|
||||
# If a Moment.js object was passed in, just call format on it
|
||||
if datetime and moment.isMoment datetime
|
||||
return datetime.format dtFormat
|
||||
|
||||
if String.is datetime
|
||||
# If a string was passed in, convert to Moment using the 2-paramter
|
||||
# constructor with an explicit format string.
|
||||
momentDate = moment datetime, dtFormat
|
||||
return momentDate.format(dtFormat) if momentDate.isValid()
|
||||
|
||||
# If that didn't work, try again with the single-parameter constructor
|
||||
# but this may throw a deprecation warning
|
||||
momentDate = moment datetime
|
||||
return momentDate.format(dtFormat) if momentDate.isValid()
|
||||
|
||||
# We weren't able to format the provided datetime. Now do one of three
|
||||
# things.
|
||||
# 1. If datetime is non-null/non-falsy, return it. For this helper,
|
||||
# string date values that we can't parse are assumed to be display dates.
|
||||
# 2. If datetime IS null or falsy, use the value from the fallback.
|
||||
# 3. If the fallback value is specifically 'true', emit 'Present'.
|
||||
datetime ||
|
||||
if typeof fallback == 'string'
|
||||
then fallback
|
||||
else (if fallback == true then 'Present' else null)
|
||||
else (if fallback == true then 'Present' else '')
|
||||
|
||||
|
||||
|
||||
###* Display a formatted date. ###
|
||||
###*
|
||||
Emit a formatted string representing the specified datetime.
|
||||
@param {string} dateValue A raw date value from the FRESH or JRS resume.
|
||||
@param {string} [dateFormat='YYYY-MM'] The desired datetime format. Must be
|
||||
compatible with Moment.js datetime formats.
|
||||
@param {string} [dateDefault=null] The default date value to use if the dateValue
|
||||
parameter is null, undefined, or falsy.
|
||||
###
|
||||
date: (dateValue, dateFormat, dateDefault) ->
|
||||
dateDefault = 'Current' if arguments.length < 4 or !dateDefault or !String.is dateDefault
|
||||
dateFormat = 'YYYY-MM' if arguments.length < 3 or !dateFormat or !String.is dateFormat
|
||||
|
||||
dateDefault = 'Current' if !dateDefault or !String.is dateDefault
|
||||
dateFormat = 'YYYY-MM' if !dateFormat or !String.is dateFormat
|
||||
dateValue = null if !dateValue or !String.is dateValue
|
||||
return dateDefault if !dateValue
|
||||
reserved = ['current', 'present', 'now'];
|
||||
|
||||
reserved = ['current', 'present', 'now']
|
||||
dateValueSafe = dateValue.trim().toLowerCase();
|
||||
return dateValue if _.contains reserved, dateValueSafe
|
||||
|
||||
dateValueMoment = moment dateValue, dateFormat
|
||||
return dateValueMoment.format dateFormat if dateValueMoment.isValid()
|
||||
dateValue
|
||||
@ -64,11 +100,10 @@ GenericHelpers = module.exports =
|
||||
###*
|
||||
Given a resume sub-object with a start/end date, format a representation of
|
||||
the date range.
|
||||
@method dateRange
|
||||
###
|
||||
dateRange: ( obj, fmt, sep, fallback, options ) ->
|
||||
dateRange: ( obj, fmt, sep, fallback ) ->
|
||||
return '' if !obj
|
||||
_fromTo obj.start, obj.end, fmt, sep, fallback, options
|
||||
_fromTo obj.start, obj.end, fmt, sep, fallback
|
||||
|
||||
|
||||
|
||||
@ -98,26 +133,6 @@ GenericHelpers = module.exports =
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Block-level helper. Emit the enclosed content if the resume has a section with
|
||||
the specified name. Otherwise, emit an empty string ''.
|
||||
@method section
|
||||
###
|
||||
section: ( title, options ) ->
|
||||
title = title.trim().toLowerCase()
|
||||
obj = LO.get this.r, title
|
||||
ret = ''
|
||||
if obj
|
||||
if _.isArray obj
|
||||
if obj.length
|
||||
ret = options.fn @
|
||||
else if _.isObject obj
|
||||
if (obj.history && obj.history.length) || (obj.sets && obj.sets.length)
|
||||
ret = options.fn @
|
||||
ret
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Emit the size of the specified named font.
|
||||
@param key {String} A named style from the "fonts" section of the theme's
|
||||
@ -280,7 +295,7 @@ GenericHelpers = module.exports =
|
||||
|
||||
|
||||
###*
|
||||
Capitalize the first letter of the word.
|
||||
Capitalize the first letter of the word. TODO: Rename
|
||||
@method section
|
||||
###
|
||||
camelCase: (val) ->
|
||||
@ -290,21 +305,8 @@ GenericHelpers = module.exports =
|
||||
|
||||
|
||||
###*
|
||||
Emit the enclosed content if the resume has the named property or subproperty.
|
||||
@method has
|
||||
###
|
||||
has: ( title, options ) ->
|
||||
title = title && title.trim().toLowerCase()
|
||||
if LO.get this.r, title
|
||||
return options.fn this
|
||||
return
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Generic template helper function to display a user-overridable section
|
||||
title for a FRESH resume theme. Use this in lieue of hard-coding section
|
||||
titles.
|
||||
Display a user-overridable section title for a FRESH resume theme. Use this in
|
||||
lieue of hard-coding section titles.
|
||||
|
||||
Usage:
|
||||
|
||||
@ -414,8 +416,7 @@ GenericHelpers = module.exports =
|
||||
Convert text to lowercase.
|
||||
@method toLower
|
||||
###
|
||||
toLower: ( txt ) ->
|
||||
if txt && txt.trim() then txt.toLowerCase() else ''
|
||||
toLower: ( txt ) -> if txt && txt.trim() then txt.toLowerCase() else ''
|
||||
|
||||
|
||||
|
||||
@ -423,18 +424,7 @@ GenericHelpers = module.exports =
|
||||
Convert text to lowercase.
|
||||
@method toLower
|
||||
###
|
||||
toUpper: ( txt ) ->
|
||||
if txt && txt.trim() then txt.toUpperCase() else ''
|
||||
|
||||
|
||||
|
||||
###*
|
||||
Return true if either value is truthy.
|
||||
@method either
|
||||
###
|
||||
either: ( lhs, rhs, options ) ->
|
||||
if lhs || rhs
|
||||
return options.fn this
|
||||
toUpper: ( txt ) -> if txt && txt.trim() then txt.toUpperCase() else ''
|
||||
|
||||
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
|
||||
###*
|
||||
Template helper definitions for Handlebars.
|
||||
@license MIT. Copyright (c) 2015 James Devlin / FluentDesk.
|
||||
@license MIT. See LICENSE.md for details.
|
||||
@module handlebars-helpers.js
|
||||
###
|
||||
|
||||
HANDLEBARS = require 'handlebars'
|
||||
_ = require 'underscore'
|
||||
helpers = require './generic-helpers'
|
||||
blockHelpers = require './block-helpers'
|
||||
|
||||
###*
|
||||
Register useful Handlebars helpers.
|
||||
@ -15,6 +16,21 @@ Register useful Handlebars helpers.
|
||||
###
|
||||
|
||||
module.exports = ( theme, opts ) ->
|
||||
|
||||
helpers.theme = theme
|
||||
helpers.opts = opts
|
||||
HANDLEBARS.registerHelper helpers
|
||||
helpers.type = 'handlebars'
|
||||
|
||||
wrappedHelpers = _.mapObject helpers, ( hVal, hKey ) ->
|
||||
if _.isFunction hVal
|
||||
_.wrap hVal, (func) ->
|
||||
args = Array.prototype.slice.call arguments
|
||||
args.shift() # lose the 1st element (func)
|
||||
args.pop() # lose the last element (the Handlebars options hash)
|
||||
func.apply @, args
|
||||
hVal
|
||||
, @
|
||||
|
||||
HANDLEBARS.registerHelper wrappedHelpers
|
||||
HANDLEBARS.registerHelper blockHelpers
|
||||
return
|
||||
|
@ -869,7 +869,7 @@
|
||||
<w:caps/>
|
||||
<w:spacing w:val="22"/>
|
||||
</w:rPr>
|
||||
<w:t>Agile TFS Unified Process MS Project</w:t>
|
||||
<w:t>Agile TFS JIRA GitHub Unified Process MS Project</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
</w:tc>
|
||||
@ -938,12 +938,12 @@
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:t>Head Code Ninja, </w:t>
|
||||
</w:r>
|
||||
<w:hlink w:dest="https://onecool.io/does-not-exist">
|
||||
<w:hlink w:dest="https://area52.io/does-not-exist">
|
||||
<w:r wsp:rsidR="009452CA" wsp:rsidRPr="00606071">
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="Hyperlink"/>
|
||||
</w:rPr>
|
||||
<w:t>One Cool Startup</w:t>
|
||||
<w:t>Area 52</w:t>
|
||||
</w:r>
|
||||
</w:hlink>
|
||||
<w:r wsp:rsidR="00EA0B64">
|
||||
@ -953,7 +953,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>Sep 2013 — Current</w:t>
|
||||
<w:t>Sep 2013 — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
@ -962,7 +962,7 @@
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
<w:r><w:rPr></w:rPr><w:t>Development team manager for </w:t></w:r><w:hlink w:dest="https://en.wikipedia.org/wiki/Vaporware"><w:r><w:rPr><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>OneCoolApp</w:t></w:r></w:hlink><w:r><w:rPr></w:rPr><w:t> and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.</w:t></w:r>
|
||||
<w:r><w:rPr></w:rPr><w:t>Development team manager for </w:t></w:r><w:hlink w:dest="https://en.wikipedia.org/wiki/Vaporware"><w:r><w:rPr><w:b/><w:rStyle w:val="Hyperlink"/></w:rPr><w:t>Quantum Diorama</w:t></w:r></w:hlink><w:r><w:rPr></w:rPr><w:t>, a distributed molecular modeling and analysis suite for Linux and OS X.</w:t></w:r>
|
||||
</w:p>
|
||||
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRDefault="009452CA" wsp:rsidP="00C146CA">
|
||||
@ -1323,7 +1323,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>2015-09 — Current</w:t>
|
||||
<w:t>2015-09 — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
@ -1407,7 +1407,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>??? — Current</w:t>
|
||||
<w:t>??? — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
@ -1524,7 +1524,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>2015-01 — Current</w:t>
|
||||
<w:t>2015-01 — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
|
||||
@ -1894,7 +1894,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>Jun 2013 — Current</w:t>
|
||||
<w:t>Jun 2013 — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
@ -1936,7 +1936,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>??? — Current</w:t>
|
||||
<w:t>??? — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
@ -1978,7 +1978,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>Jan 2010 — Current</w:t>
|
||||
<w:t>Jan 2010 — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
@ -2186,33 +2186,6 @@
|
||||
</w:p>
|
||||
</wx:pBdrGroup>
|
||||
|
||||
<wx:sub-section>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="00606071" wsp:rsidP="00E578D4">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Heading2"/>
|
||||
<!-- <w:tabs>
|
||||
<w:tab w:val="right" w:pos="9360"/>
|
||||
</w:tabs> -->
|
||||
</w:pPr>
|
||||
<w:hlink w:dest="http://www.cc2e.com/Default.aspx">
|
||||
<w:r wsp:rsidR="009452CA" wsp:rsidRPr="00606071">
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="Hyperlink"/>
|
||||
</w:rPr>
|
||||
<w:t>Code Complete</w:t>
|
||||
</w:r>
|
||||
</w:hlink>
|
||||
<!-- <w:r wsp:rsidR="00EA0B64">
|
||||
<w:tab/>
|
||||
</w:r> -->
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:t>, Steve McConnell</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
|
||||
|
||||
</wx:sub-section>
|
||||
|
||||
<wx:sub-section>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="00606071" wsp:rsidP="00E578D4">
|
||||
<w:pPr>
|
||||
@ -2233,6 +2206,14 @@
|
||||
<w:tab/>
|
||||
</w:r> -->
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
<w:r><w:rPr></w:rPr><w:t>Daily reader and longtime lurker.</w:t></w:r>
|
||||
</w:p>
|
||||
|
||||
|
||||
</wx:sub-section>
|
||||
@ -2257,6 +2238,14 @@
|
||||
<w:tab/>
|
||||
</w:r> -->
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
<w:r><w:rPr></w:rPr><w:t>Daily reader and longtime lurker.</w:t></w:r>
|
||||
</w:p>
|
||||
|
||||
|
||||
</wx:sub-section>
|
||||
@ -2284,6 +2273,49 @@
|
||||
<w:t>, Jeff Atwood</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
<w:r><w:rPr></w:rPr><w:t>Reader since 2007; member of the StackOverflow Beta.</w:t></w:r>
|
||||
</w:p>
|
||||
|
||||
|
||||
</wx:sub-section>
|
||||
|
||||
<wx:sub-section>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="00606071" wsp:rsidP="00E578D4">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Heading2"/>
|
||||
<!-- <w:tabs>
|
||||
<w:tab w:val="right" w:pos="9360"/>
|
||||
</w:tabs> -->
|
||||
</w:pPr>
|
||||
<w:hlink w:dest="http://www.cc2e.com/Default.aspx">
|
||||
<w:r wsp:rsidR="009452CA" wsp:rsidRPr="00606071">
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="Hyperlink"/>
|
||||
</w:rPr>
|
||||
<w:t>Code Complete</w:t>
|
||||
</w:r>
|
||||
</w:hlink>
|
||||
<!-- <w:r wsp:rsidR="00EA0B64">
|
||||
<w:tab/>
|
||||
</w:r> -->
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:t>, Steve McConnell</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
<w:r><w:rPr></w:rPr><w:t>My 'desert-island' software construction manual.</w:t></w:r>
|
||||
</w:p>
|
||||
|
||||
|
||||
</wx:sub-section>
|
||||
@ -2584,7 +2616,7 @@
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>Feb 2016 — Feb 2016</w:t>
|
||||
<w:t>??? — Present</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
|
@ -228,9 +228,9 @@
|
||||
<h2>info</h2>
|
||||
|
||||
</header> <strong>Imaginary full-stack software developer with 6+ years industry experience</strong> specializing
|
||||
in scalable cloud architectures for this, that, and the other. A native
|
||||
of southern CA, Jane enjoys hiking, mystery novels, and the company of
|
||||
Rufus, her two-year-old beagle.</section>
|
||||
in cloud-driven web applications and middleware. A native of southern CA,
|
||||
Jane enjoys hiking, mystery novels, and the company of Rufus, her two year
|
||||
old beagle.</section>
|
||||
<hr>
|
||||
<section id="skills">
|
||||
<header>
|
||||
@ -319,8 +319,11 @@
|
||||
<span class="label label-keyword">TFS</span>
|
||||
|
||||
<span
|
||||
class="label label-keyword">Unified Process</span> <span class="label label-keyword">MS Project</span>
|
||||
class="label label-keyword">JIRA</span> <span class="label label-keyword">GitHub</span>
|
||||
<span class="label label-keyword">Unified Process</span>
|
||||
|
||||
<span
|
||||
class="label label-keyword">MS Project</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@ -334,15 +337,14 @@
|
||||
</header>
|
||||
<div>
|
||||
<h3><em>Head Code Ninja</em>,
|
||||
<a href="https://onecool.io/does-not-exist">One Cool Startup</a>
|
||||
<a href="https://area52.io/does-not-exist">Area 52</a>
|
||||
</h3>
|
||||
<span class="tenure">2013-09 — Current</span>
|
||||
| <span class="keywords">Agile PM Amazon Web Services AWS </span>
|
||||
<span class="tenure">2013-09 — Present</span>
|
||||
| <span class="keywords">Agile PM C C++ R OpenGL Boost MySQL PostgreSQL JIRA </span>
|
||||
|
||||
<p>
|
||||
<p>Development team manager for <a href="https://en.wikipedia.org/wiki/Vaporware">OneCoolApp</a> and
|
||||
OneCoolWebsite, a free social network tiddlywink generator and lifestyle
|
||||
portal with over 200,000 users.</p>
|
||||
<p>Development team manager for <a href="https://en.wikipedia.org/wiki/Vaporware"><strong>Quantum Diorama</strong></a>,
|
||||
a distributed molecular modeling and analysis suite for Linux and OS X.</p>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Managed a 5-person development team</li>
|
||||
@ -355,7 +357,7 @@
|
||||
<a href="https://en.wikipedia.org/wiki/Better_Off_Ted#Plot">Veridian Dynamics</a>
|
||||
</h3>
|
||||
<span class="tenure">2011-07 — 2013-08</span>
|
||||
| <span class="keywords">C++ C Linux </span>
|
||||
| <span class="keywords">C++ C Linux R Clojure </span>
|
||||
|
||||
<p>
|
||||
<p>Developer on numerous projects culminating in technical lead role for
|
||||
@ -414,7 +416,7 @@
|
||||
<a href="http://please.hackmyresume.com">HackMyResume</a>
|
||||
</h3>
|
||||
|
||||
<span class="tenure">2015-09 — Current</span>
|
||||
<span class="tenure">2015-09 — Present</span>
|
||||
| <span class="keywords">JavaScript Node.js cross-platform JSON </span>
|
||||
|
||||
<p>Exemplar user for HackMyResume and FluentCV!</p>
|
||||
@ -493,7 +495,7 @@
|
||||
<a href="https://www.khronos.org">Khronos Group</a>
|
||||
</h3>
|
||||
|
||||
<span class="tenure">2015-01 — Current</span>
|
||||
<span class="tenure">2015-01 — Present</span>
|
||||
|
||||
<ul>
|
||||
<li>Participated in GORFF standardization process (Draft 2).</li>
|
||||
@ -547,7 +549,7 @@
|
||||
<h3><em>Member</em>,
|
||||
<a href="https://www.ieee.org/index.html">IEEE</a>
|
||||
</h3>
|
||||
<span class="tenure">2013-06 — Current</span>
|
||||
<span class="tenure">2013-06 — Present</span>
|
||||
|
||||
<p>Member in good standing since 2013-06.</p>
|
||||
</div>
|
||||
@ -555,7 +557,7 @@
|
||||
<h3><em>Member</em>,
|
||||
<a href="https://developer.apple.com/">Apple Developer Network</a>
|
||||
</h3>
|
||||
<span class="tenure">??? — Current</span>
|
||||
<span class="tenure">??? — Present</span>
|
||||
|
||||
<p>Member of the <a href="https://developer.apple.com/">Apple Developer program</a> since
|
||||
2008.</p>
|
||||
@ -564,7 +566,7 @@
|
||||
<h3><em>Subscriber</em>,
|
||||
<a href="https://msdn.microsoft.com">MSDN</a>
|
||||
</h3>
|
||||
<span class="tenure">2010-01 — Current</span>
|
||||
<span class="tenure">2010-01 — Present</span>
|
||||
|
||||
<p>Super-Ultra-gold level Ultimate Access MSDN subscriber package with subscription
|
||||
toaster and XBox ping pong racket.</p>
|
||||
@ -635,25 +637,29 @@
|
||||
<h2>reading</h2>
|
||||
|
||||
</header>
|
||||
<div>
|
||||
<h3><em><a href="http://www.cc2e.com/Default.aspx">Code Complete</a></em>, Steve McConnell</h3>
|
||||
<span class="tenure">2016</span>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="https://www.reddit.com/r/programming/">r/programming</a></em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Daily reader and longtime lurker.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="https://news.ycombinator.com/">Hacker News / YCombinator</a></em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Daily reader and longtime lurker.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="http://www.codinghorror.com">Coding Horror</a></em>, Jeff Atwood</h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Reader since 2007; member of the StackOverflow Beta.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="http://www.cc2e.com/Default.aspx">Code Complete</a></em>, Steve McConnell</h3>
|
||||
<span class="tenure">2014</span>
|
||||
|
||||
<p>My 'desert-island' software construction manual.</p>
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
@ -731,21 +737,21 @@
|
||||
</header>
|
||||
<div>
|
||||
<h3><em>reading</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Jane is a fan of mystery novels and courtroom dramas including Agatha
|
||||
Christie and John Grisham.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em>hiking</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Jane enjoys hiking, light mountain climbing, and has four summits under
|
||||
her belt!</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em>yoga</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
@ -2,7 +2,7 @@
|
||||
"basics": {
|
||||
"name": "Jane Q. Fullstacker",
|
||||
"label": "Senior Developer",
|
||||
"summary": "**Imaginary full-stack software developer with 6+ years industry experience** specializing in scalable cloud architectures for this, that, and the other. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two-year-old beagle.",
|
||||
"summary": "**Imaginary full-stack software developer with 6+ years industry experience** specializing in cloud-driven web applications and middleware. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two year old beagle.",
|
||||
"website": "http://janef.me/blog",
|
||||
"phone": "1-650-999-7777",
|
||||
"email": "jdoe@onecoolstartup.io",
|
||||
@ -29,11 +29,11 @@
|
||||
},
|
||||
"work": [
|
||||
{
|
||||
"company": "One Cool Startup",
|
||||
"website": "https://onecool.io/does-not-exist",
|
||||
"company": "Area 52",
|
||||
"website": "https://area52.io/does-not-exist",
|
||||
"position": "Head Code Ninja",
|
||||
"startDate": "2013-09",
|
||||
"summary": "Development team manager for [OneCoolApp](https://en.wikipedia.org/wiki/Vaporware) and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.",
|
||||
"summary": "Development team manager for [**Quantum Diorama**](https://en.wikipedia.org/wiki/Vaporware), a distributed molecular modeling and analysis suite for Linux and OS X.",
|
||||
"highlights": [
|
||||
"Managed a 5-person development team",
|
||||
"Accomplishment 2",
|
||||
@ -156,6 +156,8 @@
|
||||
"keywords": [
|
||||
"Agile",
|
||||
"TFS",
|
||||
"JIRA",
|
||||
"GitHub",
|
||||
"Unified Process",
|
||||
"MS Project"
|
||||
]
|
||||
|
@ -4,7 +4,7 @@ Email: jdoe@onecoolstartup.io
|
||||
Tel: 1-650-999-7777
|
||||
Web: http://janef.me/blog
|
||||
|
||||
**Imaginary full-stack software developer with 6+ years industry experience** specializing in scalable cloud architectures for this, that, and the other. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two-year-old beagle.
|
||||
**Imaginary full-stack software developer with 6+ years industry experience** specializing in cloud-driven web applications and middleware. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two year old beagle.
|
||||
|
||||
## SKILLS
|
||||
|
||||
@ -12,13 +12,13 @@ Web: http://janef.me/blog
|
||||
- JavaScript: Node.js Angular.js jQuery Bootstrap React.js Backbone.js
|
||||
- Database: MySQL PostgreSQL NoSQL ORM Hibernate
|
||||
- Cloud: AWS EC2 RDS S3 Azure Dropbox
|
||||
- Project: Agile TFS Unified Process MS Project
|
||||
- Project: Agile TFS JIRA GitHub Unified Process MS Project
|
||||
|
||||
## EMPLOYMENT
|
||||
|
||||
### *Head Code Ninja*, [One Cool Startup](https://onecool.io/does-not-exist) (2013-09 — 2016-02)
|
||||
### *Head Code Ninja*, [Area 52](https://area52.io/does-not-exist) (2013-09 — Present)
|
||||
|
||||
Development team manager for [OneCoolApp](https://en.wikipedia.org/wiki/Vaporware) and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.
|
||||
Development team manager for [**Quantum Diorama**](https://en.wikipedia.org/wiki/Vaporware), a distributed molecular modeling and analysis suite for Linux and OS X.
|
||||
- Managed a 5-person development team
|
||||
- Accomplishment 2
|
||||
- Etc.
|
||||
@ -47,7 +47,7 @@ Performed IT administration and deployments for Dunder Mifflin.
|
||||
|
||||
## PROJECTS
|
||||
|
||||
### *Contributor*, [HackMyResume](http://please.hackmyresume.com) (2015-09 — 2016-02)
|
||||
### *Contributor*, [HackMyResume](http://please.hackmyresume.com) (2015-09 — Present)
|
||||
|
||||
A resume authoring and analysis tool for OS X, Linux, and Windows.
|
||||
Exemplar user for HackMyResume and FluentCV!
|
||||
@ -57,7 +57,7 @@ Exemplar user for HackMyResume and FluentCV!
|
||||
An augmented reality app for Android.
|
||||
Performed flagship product conceptualization and development.
|
||||
|
||||
### *Creator*, [Blog](http://myblog.jane.com/blog) (2016-02 — 2016-02)
|
||||
### *Creator*, [Blog](http://myblog.jane.com/blog) (??? — Present)
|
||||
|
||||
My programming blog. Powered by Jekyll.
|
||||
Conceptualization, design, development, and deployment.
|
||||
@ -90,15 +90,15 @@ A multiline summary of the education.
|
||||
|
||||
## AFFILIATION
|
||||
|
||||
### *Member*, [IEEE](https://www.ieee.org/index.html) (2013-06 — Current)
|
||||
### *Member*, [IEEE](https://www.ieee.org/index.html) (2013-06 — Present)
|
||||
|
||||
Member in good standing since 2013-06.
|
||||
|
||||
### *Member*, [Apple Developer Network](https://developer.apple.com/) (??? — Current)
|
||||
### *Member*, [Apple Developer Network](https://developer.apple.com/) (??? — Present)
|
||||
|
||||
Member of the [Apple Developer program](https://developer.apple.com/) since 2008.
|
||||
|
||||
### *Subscriber*, [MSDN](https://msdn.microsoft.com) (2010-01 — Current)
|
||||
### *Subscriber*, [MSDN](https://msdn.microsoft.com) (2010-01 — Present)
|
||||
|
||||
Super-Ultra-gold level Ultimate Access MSDN subscriber package with subscription toaster and XBox ping pong racket.
|
||||
|
||||
@ -135,13 +135,17 @@ A primer on the programming language of GORFF, whose for loops are coterminous w
|
||||
|
||||
## READING
|
||||
|
||||
### [*Code Complete*](http://www.cc2e.com/Default.aspx), Steve McConnell
|
||||
|
||||
### [*r/programming*](https://www.reddit.com/r/programming/)
|
||||
Daily reader and longtime lurker.
|
||||
|
||||
### [*Hacker News / YCombinator*](https://news.ycombinator.com/)
|
||||
Daily reader and longtime lurker.
|
||||
|
||||
### [*Coding Horror*](http://www.codinghorror.com), Jeff Atwood
|
||||
Reader since 2007; member of the StackOverflow Beta.
|
||||
|
||||
### [*Code Complete*](http://www.cc2e.com/Default.aspx), Steve McConnell
|
||||
My 'desert-island' software construction manual.
|
||||
|
||||
|
||||
## SERVICE
|
||||
@ -163,9 +167,9 @@ Summary of this military stint.
|
||||
|
||||
## RECOGNITION
|
||||
|
||||
### Honorable Mention, Google
|
||||
### Honorable Mention, Google (Jan 2012)
|
||||
|
||||
### Summa cum laude, Cornell University
|
||||
### Summa cum laude, Cornell University (Jan 2012)
|
||||
|
||||
|
||||
## SPEAKING
|
||||
|
Binary file not shown.
@ -242,7 +242,7 @@ a:hover {
|
||||
<header>
|
||||
<span class="fa fa-lg fa-info"></span> <h2>info</h2>
|
||||
</header>
|
||||
<strong>Imaginary full-stack software developer with 6+ years industry experience</strong> specializing in scalable cloud architectures for this, that, and the other. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two-year-old beagle.
|
||||
<strong>Imaginary full-stack software developer with 6+ years industry experience</strong> specializing in cloud-driven web applications and middleware. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two year old beagle.
|
||||
</section>
|
||||
|
||||
|
||||
@ -327,6 +327,8 @@ a:hover {
|
||||
<div class="space-top labels">
|
||||
<span class="label label-keyword">Agile</span>
|
||||
<span class="label label-keyword">TFS</span>
|
||||
<span class="label label-keyword">JIRA</span>
|
||||
<span class="label label-keyword">GitHub</span>
|
||||
<span class="label label-keyword">Unified Process</span>
|
||||
<span class="label label-keyword">MS Project</span>
|
||||
</div>
|
||||
@ -352,11 +354,11 @@ a:hover {
|
||||
|
||||
<div>
|
||||
<h3><em>Head Code Ninja</em>,
|
||||
<a href="https://onecool.io/does-not-exist">One Cool Startup</a>
|
||||
<a href="https://area52.io/does-not-exist">Area 52</a>
|
||||
</h3>
|
||||
<span class="tenure">2013-09 — Current</span>
|
||||
| <span class="keywords">Agile PM Amazon Web Services AWS </span>
|
||||
<p><p>Development team manager for <a href="https://en.wikipedia.org/wiki/Vaporware">OneCoolApp</a> and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.</p>
|
||||
<span class="tenure">2013-09 — Present</span>
|
||||
| <span class="keywords">Agile PM C C++ R OpenGL Boost MySQL PostgreSQL JIRA </span>
|
||||
<p><p>Development team manager for <a href="https://en.wikipedia.org/wiki/Vaporware"><strong>Quantum Diorama</strong></a>, a distributed molecular modeling and analysis suite for Linux and OS X.</p>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Managed a 5-person development team</li>
|
||||
@ -369,7 +371,7 @@ a:hover {
|
||||
<a href="https://en.wikipedia.org/wiki/Better_Off_Ted#Plot">Veridian Dynamics</a>
|
||||
</h3>
|
||||
<span class="tenure">2011-07 — 2013-08</span>
|
||||
| <span class="keywords">C++ C Linux </span>
|
||||
| <span class="keywords">C++ C Linux R Clojure </span>
|
||||
<p><p>Developer on numerous projects culminating in technical lead role for the <a href="http://betteroffted.wikia.com/wiki/Jabberwocky">Jabberwocky project</a> and promotion to principal developer.</p>
|
||||
</p>
|
||||
<ul>
|
||||
@ -423,7 +425,7 @@ a:hover {
|
||||
<h3><em>Contributor</em>,
|
||||
<a href="http://please.hackmyresume.com">HackMyResume</a>
|
||||
</h3>
|
||||
<span class="tenure">2015-09 — Current</span>
|
||||
<span class="tenure">2015-09 — Present</span>
|
||||
| <span class="keywords">JavaScript Node.js cross-platform JSON </span>
|
||||
<p>Exemplar user for HackMyResume and FluentCV!</p>
|
||||
|
||||
@ -501,7 +503,7 @@ a:hover {
|
||||
<h3><em>Academic Contributor</em>,
|
||||
<a href="https://www.khronos.org">Khronos Group</a>
|
||||
</h3>
|
||||
<span class="tenure">2015-01 — Current</span>
|
||||
<span class="tenure">2015-01 — Present</span>
|
||||
|
||||
<ul>
|
||||
<li>Participated in GORFF standardization process (Draft 2).</li>
|
||||
@ -565,7 +567,7 @@ a:hover {
|
||||
<h3><em>Member</em>,
|
||||
<a href="https://www.ieee.org/index.html">IEEE</a>
|
||||
</h3>
|
||||
<span class="tenure">2013-06 — Current</span>
|
||||
<span class="tenure">2013-06 — Present</span>
|
||||
<p>Member in good standing since 2013-06.</p>
|
||||
|
||||
|
||||
@ -574,7 +576,7 @@ a:hover {
|
||||
<h3><em>Member</em>,
|
||||
<a href="https://developer.apple.com/">Apple Developer Network</a>
|
||||
</h3>
|
||||
<span class="tenure">??? — Current</span>
|
||||
<span class="tenure">??? — Present</span>
|
||||
<p>Member of the <a href="https://developer.apple.com/">Apple Developer program</a> since 2008.</p>
|
||||
|
||||
|
||||
@ -583,7 +585,7 @@ a:hover {
|
||||
<h3><em>Subscriber</em>,
|
||||
<a href="https://msdn.microsoft.com">MSDN</a>
|
||||
</h3>
|
||||
<span class="tenure">2010-01 — Current</span>
|
||||
<span class="tenure">2010-01 — Present</span>
|
||||
<p>Super-Ultra-gold level Ultimate Access MSDN subscriber package with subscription toaster and XBox ping pong racket.</p>
|
||||
|
||||
|
||||
@ -651,24 +653,28 @@ a:hover {
|
||||
<span class="fa fa-lg fa-book"></span> <h2>reading</h2>
|
||||
</header>
|
||||
<div>
|
||||
<h3><em><a href="http://www.cc2e.com/Default.aspx">Code Complete</a></em>, Steve McConnell</h3>
|
||||
<span class="tenure">2016</span>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="https://www.reddit.com/r/programming/">r/programming</a></em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
|
||||
<span class="tenure">Current</span>
|
||||
<p>Daily reader and longtime lurker.</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="https://news.ycombinator.com/">Hacker News / YCombinator</a></em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
|
||||
<span class="tenure">Current</span>
|
||||
<p>Daily reader and longtime lurker.</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="http://www.codinghorror.com">Coding Horror</a></em>, Jeff Atwood</h3>
|
||||
<span class="tenure">2016</span>
|
||||
|
||||
<span class="tenure">Current</span>
|
||||
<p>Reader since 2007; member of the StackOverflow Beta.</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="http://www.cc2e.com/Default.aspx">Code Complete</a></em>, Steve McConnell</h3>
|
||||
<span class="tenure">2014</span>
|
||||
<p>My 'desert-island' software construction manual.</p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
@ -736,19 +742,19 @@ a:hover {
|
||||
</header>
|
||||
<div>
|
||||
<h3><em>reading</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
<p>Jane is a fan of mystery novels and courtroom dramas including Agatha Christie and John Grisham.</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em>hiking</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
<p>Jane enjoys hiking, light mountain climbing, and has four summits under her belt!</p>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em>yoga</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 245 KiB After Width: | Height: | Size: 251 KiB |
@ -228,9 +228,9 @@
|
||||
<h2>info</h2>
|
||||
|
||||
</header> <strong>Imaginary full-stack software developer with 6+ years industry experience</strong> specializing
|
||||
in scalable cloud architectures for this, that, and the other. A native
|
||||
of southern CA, Jane enjoys hiking, mystery novels, and the company of
|
||||
Rufus, her two-year-old beagle.</section>
|
||||
in cloud-driven web applications and middleware. A native of southern CA,
|
||||
Jane enjoys hiking, mystery novels, and the company of Rufus, her two year
|
||||
old beagle.</section>
|
||||
<hr>
|
||||
<section id="skills">
|
||||
<header>
|
||||
@ -319,8 +319,11 @@
|
||||
<span class="label label-keyword">TFS</span>
|
||||
|
||||
<span
|
||||
class="label label-keyword">Unified Process</span> <span class="label label-keyword">MS Project</span>
|
||||
class="label label-keyword">JIRA</span> <span class="label label-keyword">GitHub</span>
|
||||
<span class="label label-keyword">Unified Process</span>
|
||||
|
||||
<span
|
||||
class="label label-keyword">MS Project</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@ -334,15 +337,14 @@
|
||||
</header>
|
||||
<div>
|
||||
<h3><em>Head Code Ninja</em>,
|
||||
<a href="https://onecool.io/does-not-exist">One Cool Startup</a>
|
||||
<a href="https://area52.io/does-not-exist">Area 52</a>
|
||||
</h3>
|
||||
<span class="tenure">2013-09 — Current</span>
|
||||
| <span class="keywords">Agile PM Amazon Web Services AWS </span>
|
||||
<span class="tenure">2013-09 — Present</span>
|
||||
| <span class="keywords">Agile PM C C++ R OpenGL Boost MySQL PostgreSQL JIRA </span>
|
||||
|
||||
<p>
|
||||
<p>Development team manager for <a href="https://en.wikipedia.org/wiki/Vaporware">OneCoolApp</a> and
|
||||
OneCoolWebsite, a free social network tiddlywink generator and lifestyle
|
||||
portal with over 200,000 users.</p>
|
||||
<p>Development team manager for <a href="https://en.wikipedia.org/wiki/Vaporware"><strong>Quantum Diorama</strong></a>,
|
||||
a distributed molecular modeling and analysis suite for Linux and OS X.</p>
|
||||
</p>
|
||||
<ul>
|
||||
<li>Managed a 5-person development team</li>
|
||||
@ -355,7 +357,7 @@
|
||||
<a href="https://en.wikipedia.org/wiki/Better_Off_Ted#Plot">Veridian Dynamics</a>
|
||||
</h3>
|
||||
<span class="tenure">2011-07 — 2013-08</span>
|
||||
| <span class="keywords">C++ C Linux </span>
|
||||
| <span class="keywords">C++ C Linux R Clojure </span>
|
||||
|
||||
<p>
|
||||
<p>Developer on numerous projects culminating in technical lead role for
|
||||
@ -414,7 +416,7 @@
|
||||
<a href="http://please.hackmyresume.com">HackMyResume</a>
|
||||
</h3>
|
||||
|
||||
<span class="tenure">2015-09 — Current</span>
|
||||
<span class="tenure">2015-09 — Present</span>
|
||||
| <span class="keywords">JavaScript Node.js cross-platform JSON </span>
|
||||
|
||||
<p>Exemplar user for HackMyResume and FluentCV!</p>
|
||||
@ -493,7 +495,7 @@
|
||||
<a href="https://www.khronos.org">Khronos Group</a>
|
||||
</h3>
|
||||
|
||||
<span class="tenure">2015-01 — Current</span>
|
||||
<span class="tenure">2015-01 — Present</span>
|
||||
|
||||
<ul>
|
||||
<li>Participated in GORFF standardization process (Draft 2).</li>
|
||||
@ -547,7 +549,7 @@
|
||||
<h3><em>Member</em>,
|
||||
<a href="https://www.ieee.org/index.html">IEEE</a>
|
||||
</h3>
|
||||
<span class="tenure">2013-06 — Current</span>
|
||||
<span class="tenure">2013-06 — Present</span>
|
||||
|
||||
<p>Member in good standing since 2013-06.</p>
|
||||
</div>
|
||||
@ -555,7 +557,7 @@
|
||||
<h3><em>Member</em>,
|
||||
<a href="https://developer.apple.com/">Apple Developer Network</a>
|
||||
</h3>
|
||||
<span class="tenure">??? — Current</span>
|
||||
<span class="tenure">??? — Present</span>
|
||||
|
||||
<p>Member of the <a href="https://developer.apple.com/">Apple Developer program</a> since
|
||||
2008.</p>
|
||||
@ -564,7 +566,7 @@
|
||||
<h3><em>Subscriber</em>,
|
||||
<a href="https://msdn.microsoft.com">MSDN</a>
|
||||
</h3>
|
||||
<span class="tenure">2010-01 — Current</span>
|
||||
<span class="tenure">2010-01 — Present</span>
|
||||
|
||||
<p>Super-Ultra-gold level Ultimate Access MSDN subscriber package with subscription
|
||||
toaster and XBox ping pong racket.</p>
|
||||
@ -635,25 +637,29 @@
|
||||
<h2>reading</h2>
|
||||
|
||||
</header>
|
||||
<div>
|
||||
<h3><em><a href="http://www.cc2e.com/Default.aspx">Code Complete</a></em>, Steve McConnell</h3>
|
||||
<span class="tenure">2016</span>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="https://www.reddit.com/r/programming/">r/programming</a></em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Daily reader and longtime lurker.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="https://news.ycombinator.com/">Hacker News / YCombinator</a></em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Daily reader and longtime lurker.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="http://www.codinghorror.com">Coding Horror</a></em>, Jeff Atwood</h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Reader since 2007; member of the StackOverflow Beta.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em><a href="http://www.cc2e.com/Default.aspx">Code Complete</a></em>, Steve McConnell</h3>
|
||||
<span class="tenure">2014</span>
|
||||
|
||||
<p>My 'desert-island' software construction manual.</p>
|
||||
</div>
|
||||
</section>
|
||||
<hr>
|
||||
@ -731,21 +737,21 @@
|
||||
</header>
|
||||
<div>
|
||||
<h3><em>reading</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Jane is a fan of mystery novels and courtroom dramas including Agatha
|
||||
Christie and John Grisham.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em>hiking</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
<p>Jane enjoys hiking, light mountain climbing, and has four summits under
|
||||
her belt!</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3><em>yoga</em></h3>
|
||||
<span class="tenure">2016</span>
|
||||
<span class="tenure">Current</span>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
@ -4,7 +4,7 @@ Tel: 1-650-999-7777
|
||||
Web: http://janef.me/blog
|
||||
================================================================================
|
||||
|
||||
**Imaginary full-stack software developer with 6+ years industry experience** specializing in scalable cloud architectures for this, that, and the other. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two-year-old beagle.
|
||||
**Imaginary full-stack software developer with 6+ years industry experience** specializing in cloud-driven web applications and middleware. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two year old beagle.
|
||||
|
||||
SKILLS -------------------------------------------------------------------------
|
||||
|
||||
@ -12,12 +12,12 @@ SKILLS -------------------------------------------------------------------------
|
||||
- JavaScript: Node.js Angular.js jQuery Bootstrap React.js Backbone.js
|
||||
- Database: MySQL PostgreSQL NoSQL ORM Hibernate
|
||||
- Cloud: AWS EC2 RDS S3 Azure Dropbox
|
||||
- Project: Agile TFS Unified Process MS Project
|
||||
- Project: Agile TFS JIRA GitHub Unified Process MS Project
|
||||
|
||||
EMPLOYMENT ---------------------------------------------------------------------
|
||||
|
||||
Head Code Ninja, One Cool Startup (2013-09 — Current)
|
||||
Development team manager for [OneCoolApp](https://en.wikipedia.org/wiki/Vaporware) and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.
|
||||
Head Code Ninja, Area 52 (2013-09 — Present)
|
||||
Development team manager for [**Quantum Diorama**](https://en.wikipedia.org/wiki/Vaporware), a distributed molecular modeling and analysis suite for Linux and OS X.
|
||||
- Managed a 5-person development team
|
||||
- Accomplishment 2
|
||||
- Etc.
|
||||
@ -43,7 +43,7 @@ Performed IT administration and deployments for Dunder Mifflin.
|
||||
|
||||
PROJECTS -----------------------------------------------------------------------
|
||||
|
||||
HackMyResume, contributor (2015-09 — Current)
|
||||
HackMyResume, contributor (2015-09 — Present)
|
||||
A resume authoring and analysis tool for OS X, Linux, and Windows.
|
||||
Exemplar user for HackMyResume and FluentCV!
|
||||
|
||||
@ -51,7 +51,7 @@ Augmented Android, co-creator (2012-02 — 2014-01)
|
||||
An augmented reality app for Android.
|
||||
Performed flagship product conceptualization and development.
|
||||
|
||||
Blog, creator (??? — Current)
|
||||
Blog, creator (??? — Present)
|
||||
My programming blog. Powered by Jekyll.
|
||||
Conceptualization, design, development, and deployment.
|
||||
|
||||
@ -77,13 +77,13 @@ A multiline summary of the education.
|
||||
|
||||
AFFILIATION --------------------------------------------------------------------
|
||||
|
||||
Member, IEEE (2013-06 — Current)
|
||||
Member, IEEE (2013-06 — Present)
|
||||
Member in good standing since 2013-06.
|
||||
|
||||
Member, Apple Developer Network (??? — Current)
|
||||
Member, Apple Developer Network (??? — Present)
|
||||
Member of the [Apple Developer program](https://developer.apple.com/) since 2008.
|
||||
|
||||
Subscriber, MSDN (2010-01 — Current)
|
||||
Subscriber, MSDN (2010-01 — Present)
|
||||
Super-Ultra-gold level Ultimate Access MSDN subscriber package with subscription toaster and XBox ping pong racket.
|
||||
|
||||
Coordinator, Campus Coder's Meetup (2003-02 — 2004-04)
|
||||
@ -103,27 +103,32 @@ A website to help you remember things.
|
||||
|
||||
WRITING ------------------------------------------------------------------------
|
||||
|
||||
Building User Interfaces with Electron and Atom
|
||||
Building User Interfaces with Electron and Atom (2011-01)
|
||||
|
||||
Jane Fullstacker's Blog
|
||||
Jane Fullstacker's Blog (2011-01)
|
||||
|
||||
Teach Yourself GORFF in 21 Days
|
||||
Teach Yourself GORFF in 21 Days (2008-01)
|
||||
A primer on the programming language of GORFF, whose for loops are coterminous with all of time and space.
|
||||
|
||||
|
||||
READING ------------------------------------------------------------------------
|
||||
|
||||
"Code Complete", Steve McConnell
|
||||
http://www.cc2e.com/Default.aspx
|
||||
|
||||
"r/programming"
|
||||
https://www.reddit.com/r/programming/
|
||||
Daily reader and longtime lurker.
|
||||
|
||||
"Hacker News / YCombinator"
|
||||
https://news.ycombinator.com/
|
||||
Daily reader and longtime lurker.
|
||||
|
||||
"Coding Horror", Jeff Atwood
|
||||
http://www.codinghorror.com
|
||||
Reader since 2007; member of the StackOverflow Beta.
|
||||
|
||||
"Code Complete", Steve McConnell
|
||||
http://www.cc2e.com/Default.aspx
|
||||
My 'desert-island' software construction manual.
|
||||
2014-09
|
||||
|
||||
|
||||
SERVICE ------------------------------------------------------------------------
|
||||
@ -143,9 +148,9 @@ Summary of this military stint.
|
||||
|
||||
RECOGNITION --------------------------------------------------------------------
|
||||
|
||||
Honorable Mention, Google
|
||||
Honorable Mention, Google (Jan 2012)
|
||||
|
||||
Summa cum laude, Cornell University
|
||||
Summa cum laude, Cornell University (Jan 2012)
|
||||
|
||||
|
||||
REFERENCES ---------------------------------------------------------------------
|
||||
|
@ -1,11 +1,11 @@
|
||||
name: 'Jane Q. Fullstacker'
|
||||
meta:
|
||||
format: FRESH@0.4.0
|
||||
version: 0.3.0
|
||||
format: FRESH@0.6.0
|
||||
version: 0.4.0
|
||||
info:
|
||||
label: 'Senior Developer'
|
||||
characterClass: Programmer
|
||||
brief: '**Imaginary full-stack software developer with 6+ years industry experience** specializing in scalable cloud architectures for this, that, and the other. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two-year-old beagle.'
|
||||
brief: '**Imaginary full-stack software developer with 6+ years industry experience** specializing in cloud-driven web applications and middleware. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two year old beagle.'
|
||||
image: jane_doe.png
|
||||
quote: 'Be the change you want to see in the world.'
|
||||
contact:
|
||||
@ -93,17 +93,22 @@ employment:
|
||||
summary: '7+ years industry IT and software development experience.'
|
||||
history:
|
||||
-
|
||||
employer: 'One Cool Startup'
|
||||
url: 'https://onecool.io/does-not-exist'
|
||||
employer: 'Area 52'
|
||||
url: 'https://area52.io/does-not-exist'
|
||||
position: 'Head Code Ninja'
|
||||
summary: 'Development team manager for [OneCoolApp](https://en.wikipedia.org/wiki/Vaporware) and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.'
|
||||
summary: 'Development team manager for [**Quantum Diorama**](https://en.wikipedia.org/wiki/Vaporware), a distributed molecular modeling and analysis suite for Linux and OS X.'
|
||||
start: 2013-09
|
||||
current: true
|
||||
keywords:
|
||||
- Agile
|
||||
- PM
|
||||
- 'Amazon Web Services'
|
||||
- AWS
|
||||
- C
|
||||
- C++
|
||||
- R
|
||||
- OpenGL
|
||||
- Boost
|
||||
- MySQL
|
||||
- PostgreSQL
|
||||
- JIRA
|
||||
highlights:
|
||||
- 'Managed a 5-person development team'
|
||||
- 'Accomplishment 2'
|
||||
@ -119,6 +124,8 @@ employment:
|
||||
- C++
|
||||
- C
|
||||
- Linux
|
||||
- R
|
||||
- Clojure
|
||||
highlights:
|
||||
- 'Managed a 5-person development team'
|
||||
- 'Accomplishment 2'
|
||||
@ -172,6 +179,7 @@ education:
|
||||
- 'Course 2'
|
||||
-
|
||||
institution: 'Medfield College'
|
||||
title: ""
|
||||
url: 'https://en.wikipedia.org/wiki/Medfield_College'
|
||||
start: 2003-09
|
||||
end: 2005-06
|
||||
@ -281,6 +289,8 @@ skills:
|
||||
skills:
|
||||
- Agile
|
||||
- TFS
|
||||
- JIRA
|
||||
- GitHub
|
||||
- 'Unified Process'
|
||||
- 'MS Project'
|
||||
list:
|
||||
@ -354,24 +364,29 @@ writing:
|
||||
- 'John Smith'
|
||||
summary: 'A primer on the programming language of GORFF, whose for loops are coterminous with all of time and space.'
|
||||
reading:
|
||||
-
|
||||
title: 'Code Complete'
|
||||
flavor: book
|
||||
url: 'http://www.cc2e.com/Default.aspx'
|
||||
author: 'Steve McConnell'
|
||||
-
|
||||
title: r/programming
|
||||
flavor: website
|
||||
url: 'https://www.reddit.com/r/programming/'
|
||||
summary: 'Daily reader and longtime lurker.'
|
||||
-
|
||||
title: 'Hacker News / YCombinator'
|
||||
flavor: website
|
||||
url: 'https://news.ycombinator.com/'
|
||||
summary: 'Daily reader and longtime lurker.'
|
||||
-
|
||||
title: 'Coding Horror'
|
||||
flavor: blog
|
||||
url: 'http://www.codinghorror.com'
|
||||
author: 'Jeff Atwood'
|
||||
summary: 'Reader since 2007; member of the StackOverflow Beta.'
|
||||
-
|
||||
title: 'Code Complete'
|
||||
flavor: book
|
||||
url: 'http://www.cc2e.com/Default.aspx'
|
||||
author: 'Steve McConnell'
|
||||
date: 2014-09
|
||||
summary: 'My ''desert-island'' software construction manual.'
|
||||
speaking:
|
||||
-
|
||||
title: 'Data Warehousing Evolved: DARMA 2.0'
|
||||
|
Loading…
Reference in New Issue
Block a user