<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Karl L. Hughes</title>
	<atom:link href="http://www.karllhughes.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.karllhughes.com</link>
	<description>Technology team builder and startup enthusiast</description>
	<lastBuildDate>Tue, 20 Dec 2016 23:20:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.1</generator>
	<item>
		<title>15 Job Board API Clients Open Sourced</title>
		<link>https://www.karllhughes.com/2016/job-board-api-clients-open-source/</link>
		<pubDate>Wed, 19 Oct 2016 02:40:03 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[job boards]]></category>
		<category><![CDATA[JobApis]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=1032</guid>
		<description><![CDATA[For the past year and a half I&#8217;ve been improving and expanding JobApis&#8217; library of open source job board API clients, and as of today 15 have been released. In&#8230;]]></description>
				<content:encoded><![CDATA[<p>For the past year and a half I&#8217;ve been improving and expanding <a href="https://www.jobapis.com/open-source/#Jobs-Common-API-Clients" target="_blank">JobApis&#8217; library of open source job board API clients</a>, and as of today 15 have been released.</p>
<p>In doing this, I&#8217;ve learned a ton about <a href="https://www.karllhughes.com/2016/php-open-source-checklist/" target="_blank">building well-documented open source projects</a>, collaborating with other devs remotely, and I&#8217;ve forced myself to come up with ideas to use my own open source projects. The latest, <a href="https://www.karllhughes.com/2016/jobstomail/" target="_blank">JobsToMail</a> just came out a few weeks ago and has already attracted <a href="https://github.com/jobapis/jobs-to-mail" target="_blank">more interest on Github</a> than any of my other open source projects&#8230;not that that&#8217;s saying much.</p>
<p>More than anything though, this has been a really great learning process for me as a developer and architect. I&#8217;ve gotten to experiment with new things that wouldn&#8217;t have been practical to explore at work, and it&#8217;s made me more confident in putting my code out in the public than before.</p>
<p><a href="https://www.jobapis.com/" target="_blank">Read more about the open job board API project at JobApis.com.</a></p>
<p><img class="aligncenter" src="https://i.imgur.com/0Q4Fw7Y.jpg" alt="" width="4807" height="3112" /></p>
]]></content:encoded>
			</item>
		<item>
		<title>My PHP Open Source Project Checklist</title>
		<link>https://www.karllhughes.com/2016/php-open-source-checklist/</link>
		<pubDate>Mon, 10 Oct 2016 16:36:07 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[JobApis]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=992</guid>
		<description><![CDATA[Open source software is becoming the norm, and not just for small companies, indie developers and startups. 78% of companies are using open source software, and with PHP being the most&#8230;]]></description>
				<content:encoded><![CDATA[<p>Open source software is becoming the norm, and not just for small companies, indie developers and startups. <a href="http://www.zdnet.com/article/its-an-open-source-world-78-percent-of-companies-run-open-source-software/" target="_blank">78% of companies</a> are using open source software, and with <a href="https://w3techs.com/technologies/overview/programming_language/all" target="_blank">PHP being the most widely-used server-side programming language</a>, we need high quality, well built open source PHP projects.</p>
<p>I&#8217;ve been working on several open source packages for both the <a href="https://github.com/jobapis" target="_blank">JobApis</a> project as well as a couple <a href="https://bitbucket.org/account/user/thegraidenetwork/projects/OS" target="_blank">small projects</a> for my team at The Graide Network in the past few months, and it&#8217;s gotten me thinking about what a good open source PHP project needs. A project with great, clean, readable code is nice, but it&#8217;s not really usable without all the other things that make a good open source project including tests, documentation, a license, etc.</p>
<p>I would love to get feedback on this list from other devs, and I have to pass along credit for the ideas here. I learned about most of these items from PHP packages created by <a href="https://github.com/thephpleague" target="_blank">the PHP League</a> and my friend (and League member) <a href="https://twitter.com/stevenmaguire" target="_blank">Steven Maguire</a>. From my experience working with several open source packages, contributing to a few, and creating several, here&#8217;s the list of things I have found most important when creating a high quality open source PHP project:</p>
<h3><img class="alignright" src="https://i.imgur.com/XKTihFa.png" alt="" width="293" height="239" />1. Host the repository on Github</h3>
<p>I&#8217;ve been using Bitbucket at The Graide Network, but I have to say Github is <a href="http://blog.takipi.com/bitbucket-vs-github-its-more-than-just-features/" target="_blank">far superior for open source projects</a>.</p>
<h3>2. Write a quality Readme.md file</h3>
<p>There are a lot of great <a href="https://gist.github.com/PurpleBooth/109311bb0361f32d87a2" target="_blank">Readme file examples out there</a>, but I like to include the following sections on my projects:</p>
<ul>
<li>Intro</li>
<li>Badges</li>
<li>Installation instructions</li>
<li>Usage/examples</li>
<li>Testing policy/instructions</li>
<li>Links to a contributing.md, license.md, and changelog.md file</li>
</ul>
<h3>3. Include a Changelog.md file</h3>
<p>The Changelog file is a short summary of the updates made in every version released. Use semantic versioning (see below), and if you&#8217;ve never written a changelog, here&#8217;s a <a href="http://keepachangelog.com/en/0.3.0/" target="_blank">great example of one</a>. Make sure you update this file <em>for every release</em>. It&#8217;s easy to forget until it becomes a habit.</p>
<h3>4. Document guidelines for contributing</h3>
<p>I like using a Contributing.md file so that Github shows it to people when they create issues or pull requests. Here&#8217;s a good example from the <a href="https://github.com/thephpleague/skeleton/blob/master/CONTRIBUTING.md" target="_blank">PHP League</a>.</p>
<h3>5. Choose an open source license</h3>
<p>This usually seems unimportant for brand new packages, but as soon as your project gains some traction, it&#8217;s a huge deal. Companies using your project may or may not be able to depending on the license you choose. Here&#8217;s a no BS comparison of <a href="http://choosealicense.com/licenses/" target="_blank">popular open source licenses</a>.</p>
<h3>6. Add a code Linter, check for PSR standards</h3>
<p>Squizlabs has <a href="https://github.com/squizlabs/PHP_CodeSniffer/wiki" target="_blank">an excellent code sniffer</a> that will let you check your code against PSR-2 (and other) standards sets. This is really helpful once you have a few contributors and each may have their IDE set up differently. <a href="https://www.jwz.org/doc/tabs-vs-spaces.html" target="_blank">Tabs vs. spaces is a real debate</a>.</p>
<h3>7. Write unit and integration tests</h3>
<p>If you haven&#8217;t gotten to write many tests in your projects at work then open source projects is a great time to get introduced to testing in PHP development. I&#8217;ve <a href="https://www.karllhughes.com/2016/writing-tests/" target="_blank">written a bit about testing before</a>, but take my word, it&#8217;s important and will save you a ton of headaches in the long-term.</p>
<h3>8. Use Travis and Scrutinizer</h3>
<p>The pairing of <a href="https://travis-ci.org/" target="_blank">Travis-ci</a> and <a href="https://scrutinizer-ci.com/" target="_blank">Scrutinizer-ci</a> allows you to run your open source project&#8217;s tests and get a code quality score for free. This stuff would cost hundreds of dollars per month on closed-source software, so it&#8217;s awesome to take advantage of these tools on your open source projects for free. Here&#8217;s a tutorial on why and how you can set <a href="https://www.airpair.com/continuous-integration/posts/your-code-sucks-travis-and-scrutinizer-ftw" target="_blank">Travis and Scrutinizer up</a>.</p>
<h3>9. Include a composer.json file, release the project on Packagist</h3>
<p>For some reason a lot of good PHP developers I know are intimidated by releasing their open source projects on Packagist, but Composer is the standard in PHP package management, so it&#8217;s really helpful for gaining users. It takes <a href="http://blog.jgrossi.com/2013/creating-your-first-composer-packagist-package/" target="_blank">about 15 minutes to release your first package</a> (maybe less if you&#8217;re a fast typer), so don&#8217;t fear it.</p>
<h3>10. Use semantic versioning and Github&#8217;s release tags</h3>
<p><a href="http://semver.org/" target="_blank">Semantic versioning</a> is another great tool for open source developers. If done correctly, it shows users of your package how stable the project is, whether or not updates will break their system, and lets them set rules about when to update or not update the project.</p>
<p>Semver works nicely with git tags which are reflected in Githubs &#8220;release tags&#8221; feature. I like to copy the lines from the Changelog into my Github tag body as you can see in the <a href="https://github.com/jobapis/jobs-common/releases/tag/2.0.0-beta" target="_blank">jobs-common project.</a></p>
<h3>11. Create and label some issues</h3>
<p>I like to create a few known issues in any new open source repository. Even if a project is brand new and seems to work perfectly, there&#8217;s probably room to improve test coverage, documentation, or enhance it with new features. Repositories with a few open Github issues look more active and give new potential contributors a place to start.</p>
<h3>12. Respond to contributors</h3>
<p>My biggest pet-peeve when contributing to open source projects is unresponsiveness. I get that you may be too busy to review every PR within hours, but simply responding and letting people know you&#8217;re considering their pull request is rude and makes your project look abandoned.</p>
<p>Finally, I&#8217;d encourage you to check out <a href="https://github.com/thephpleague/skeleton" target="_blank">the PHP League&#8217;s skeleton project</a>, which they use as a base for all their open source packages. If you&#8217;ve never started your own open source project before this is a great place to start. Also, if you&#8217;d like a printable version of this checklist, <a href="https://www.checkli.com/s/bBmbqXOe" target="_blank">click here</a>.</p>
<p>If you have items that you&#8217;d add to this checklist, let me know. I&#8217;m always open to new conversations on <a href="https://twitter.com/karllhughes" target="_blank">Twitter</a> or via <a href="mailto:khughes.me@gmail.com" target="_blank">email</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Messaging as a Platform</title>
		<link>https://www.karllhughes.com/2016/messaging-as-a-platform/</link>
		<pubDate>Mon, 03 Oct 2016 15:50:29 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Society]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Google+]]></category>
		<category><![CDATA[messaging as a platform]]></category>
		<category><![CDATA[Slack]]></category>
		<category><![CDATA[Snapchat]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=942</guid>
		<description><![CDATA[Messaging platforms like Slack, Snapchat, WeChat, Allo, and What&#8217;s App are all the rage &#8211; each within their own unique spin on messaging. Some say they&#8217;re killing email, and some say that&#8217;s&#8230;]]></description>
				<content:encoded><![CDATA[<p>Messaging platforms like Slack, Snapchat, WeChat, Allo, and What&#8217;s App are all the rage &#8211; each within their own unique spin on messaging. Some say <a href="http://time.com/4092354/how-e-mail-killer-slack-will-change-the-future-of-work/" target="_blank">they&#8217;re killing email</a>, and some say <a href="https://techcrunch.com/2016/06/28/you-cant-kill-email/" target="_blank">that&#8217;s not likely</a>, but regardless it&#8217;s hard to argue that they aren&#8217;t changing the way we communicate with one another.</p>
<p>One of the most interesting trends is the rise of &#8220;smart&#8221; messaging platforms, which allow participants to do more than just send text across a network. They allow for rich text, animated gifs, videos, sound-bites, and links to be sent in real time to one or more participants in the chat. This alone isn&#8217;t really new (<a href="https://en.wikipedia.org/wiki/AOL_Instant_Messenger#History">AIM had a lot of this stuff a decade ago</a>), but one thing that has changed is the speed and availability of these methods of communication.</p>
<p>The other thing that has changed is the &#8220;smartness&#8221; of the servers relaying these messages, and that&#8217;s where messaging as a platform begins.</p>
<h3>What does &#8220;messaging as a platform&#8221; mean?</h3>
<p>The term &#8220;___ as a platform&#8221; can apply to many things in our digital world. In the development community, we call services that allow us to host our code &#8220;<a href="http://searchcloudcomputing.techtarget.com/definition/Infrastructure-as-a-Service-IaaS" target="_blank">infrastructure as a platform</a>&#8221; (or &#8220;infrastructure as a service&#8221;) because while there is infrastructure out there in the cloud, we only care about the platform that it allows us to build on.</p>
<p>Messaging as a platform is more analogous to something like a &#8220;website as a platform,&#8221; so let&#8217;s follow this analogy:</p>
<p><img class="alignright" src="https://i.imgur.com/ck4Yx2c.jpg" alt="" width="272" height="303" />In a traditional website, forms are used to handle input from users. For example, when you want to sign up for a service, you put your email address and name into a form and then click submit. This triggers a bunch of stuff on the backend to register your account and show you a confirmation page.</p>
<p>Meanwhile if you used a messaging app as a signup medium, you might text your email address to a specific phone number and then their service will automatically text you back a confirmation. The messaging system you used (eg: SMS, Facebook, Slack) was the platform that kicked off your signup &#8211; something that has traditionally been done via the web or a smartphone app.</p>
<h3>What are some possible uses for message-driven platforms?</h3>
<p>So messaging as a platform is becoming increasingly popular as <a href="http://www.teamchat.com/en/messaging-platforms-the-next-big-thing/" target="_blank">messaging apps become more popular</a>, but in my example above it&#8217;s hard to see the real advantage of having users text you their email instead of just filling in a form online. On the other side, it&#8217;s hard to see the advantage as a user because signing up might get you the same content regardless of whether you sign up via a web form or text message.</p>
<p>Let&#8217;s look at some messaging platforms and the ways that various people are using them today.</p>
<p><strong>Slack bots</strong> &#8211; Slack has hung their hat on the ease and accessibility for <a href="https://api.slack.com/bot-users" target="_blank">developers to create bots</a>. This community of slackbot creators has <a href="https://github.com/botwiki/open-source-bots" target="_blank">released hundreds of open source bots</a> that automate everything from the mundane to the extremely complex and allow Slack users to do all sorts of things without leaving Slack&#8217;s platform.</p>
<p><strong>Intercom</strong> &#8211; While Slack has become the go-to inter-team communication platform, Intercom has placed itself as the leader in sales and customer service chats for businesses. They have a platform that allows users on any website to chat directly with <a href="https://blog.intercom.com/bots-versus-humans/" target="_blank">real humans who work there</a>, asking questions or getting clarification before they sign up. Similarly, you can automate Intercom to proactively message users as they come to certain pages or enter specific inputs.</p>
<p><strong>Twitter auto-DMs</strong> &#8211; I&#8217;m sure the first marketers who discovered that you could automatically send direct messages to new followers had good intentions, but the automatic DM has been misused and abused. That said, Twitter is being used as an automated messaging platform for a <a href="http://www.pcworld.com/article/242338/10_twitter_bot_services_to_simplify_your_life.html" target="_blank">few interesting cases</a>.</p>
<p><strong>Using Facebook messenger to order pizza</strong> &#8211; Facebook opened up its <a href="https://developers.facebook.com/docs/messenger-platform" target="_blank">messaging platform</a> to bots <a href="https://www.technologyreview.com/s/601251/facebook-wants-you-to-chat-with-business-bots/?utm_source=MIT+TR+Newsletters&amp;utm_campaign=999cf8cb98-The_Download_September_14_2016&amp;utm_medium=email&amp;utm_term=0_997ed6f472-999cf8cb98-153925993&amp;goal=0_997ed6f472-999cf8cb98-153925993&amp;mc_cid=999cf8cb98&amp;mc_eid=86e9a84406" target="_blank">earlier this year</a> and since then several companies have taken advantage of the platform&#8217;s ability to take payments and interact with customers. Domino&#8217;s now allows you to <a href="http://mashable.com/2016/09/15/dominos-pizza-facebook-bot/" target="_blank">order pizza via Facebook messenger</a>.</p>
<p><strong>Google search results in a conversation</strong> &#8211; Google just released Allo, a <a href="http://time.com/4500510/google-allo-app-release-date-2016/" target="_blank">messaging service</a> that integrates with its search platform to allow chatters to search for things within a conversation. The implication here is that you could be talking with a friend about getting dinner and then use Allo to look for restaurants right in the middle of your conversation. For Google, the conversation is an interesting point for context, and I can imagine them showing different results based on the preferences of both parties rather than simply showing the best result for the asker.</p>
<p><img class="aligncenter" src="https://i.imgur.com/s2wI766.jpg" alt="" width="667" height="500" /></p>
<p><strong>Real time, on demand stock quotes</strong> &#8211; This has been around for a long time, but it&#8217;s worth including as a simple example of messaging as a service. You can sign up to receive stock quote alerts for specific companies or industries via a service like <a href="http://www.zignals.com/platform/stock_alerts/stock_alerts" target="_blank">Zignals</a>.</p>
<p><strong>Arbitrary tasks or questions</strong> (eg: <a href="http://www.apple.com/ios/siri/" target="_blank">Siri</a>, <a href="https://www.amazon.com/Amazon-Echo-Bluetooth-Speaker-with-WiFi-Alexa/dp/B00X4WHP5E" target="_blank">Amazon Echo</a>) &#8211; Messaging platforms have moved beyond text, and one of the next frontiers seems to be spoken word. Apple, Google, Microsoft, and Amazon have voice-activated personal assistants that allow users to ask arbitrary questions or do simple tasks like create emails or calendar events. While few of these platforms are deeply integrated into third party services at this point, I&#8217;d bet that&#8217;s coming soon.</p>
<p><strong>Twilio for creating messaging services via SMS</strong> &#8211; Finally, <a href="https://www.twilio.com/" target="_blank">Twilio</a> has spent the past 8 years making SMS text messaging a more accessible platform for developers to create their own text bots or services. Using Twilio&#8217;s tools, you can make bots, send alerts, broker communication between anonymous users, and much more.</p>
<p><strong>WeChat allowing creation of apps within its chat app </strong>&#8211; WeChat might not be a familiar name to us in America, but as the dominant Chinese messaging platform it influences a huge portion of the world&#8217;s population. <a href="http://www.wsj.com/articles/tencent-tries-out-a-stickier-wechat-1475086017?mod=djemCIO_h" target="_blank">They are now allowing users to create &#8220;little programs&#8221; or apps within their chat application</a>. I have yet to see an example of something created within WeChat, but keep an eye out for this very soon.</p>
<h3>Why does this matter?</h3>
<p>A decade ago, the prevailing wisdom was that your company needed a website. A couple years later it was a social media page, and now it&#8217;s an app. It&#8217;s not hard to imagine a future where chat becomes an essential marketing channel.</p>
<p>In the short-term, we&#8217;re seeing cutting edge companies use chat to rebuild existing applications, but I think that in the long-term certain applications will cease to exist elsewhere. Is there a need for every service to have a full-featured web or mobile application? Or, could a messaging app serve its customers just as well?</p>
<p>At the same time, I realize that not every service will be served by messaging platforms. I don&#8217;t think you&#8217;ll be texting future employers your resume (although <a href="http://lifehacker.com/how-i-turned-my-resume-into-a-chat-bot-1775565350" target="_blank">maybe I&#8217;m wrong</a>), but I could see a world where I don&#8217;t have to log into Jimmy John&#8217;s website just to order a sandwich.</p>
<p>What do you think? Have you seen any novel uses of messaging as a platform? Where do you see the trend going? Let me <a href="https://twitter.com/KarlLHughes" target="_blank">hear about it on Twitter</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>JobsToMail: Your personal job-search assistant</title>
		<link>https://www.karllhughes.com/2016/jobstomail/</link>
		<pubDate>Mon, 26 Sep 2016 15:13:55 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[job boards]]></category>
		<category><![CDATA[JobApis]]></category>
		<category><![CDATA[JobsToMail]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=936</guid>
		<description><![CDATA[If you&#8217;ve looked for a job in the past few years, you probably know how much time trolling job boards can take out of your life. In fact, I&#8217;d argue&#8230;]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve looked for a job in the past few years, you probably know how much time trolling job boards can take out of your life. In fact, I&#8217;d argue that getting out and meeting people is a much more effective strategy than checking job boards at all, but it doesn&#8217;t hurt to know who&#8217;s posting jobs if you&#8217;re in the market.</p>
<p>Another thing I&#8217;ve noticed lately is that I don&#8217;t want to check 100 different sites every day for information. For example, <a href="http://feedly.com/jobbrander/Engineering%20Blogs" target="_blank">I subscribe to about 300 engineering blogs</a>, but there&#8217;s no way I want to go check every one of those websites every day. I use a Feedly collection and IFTTT to email myself a daily summary of all the new articles posted, and this works really well for keeping me informed with a minimal amount of effort.</p>
<h3>Job board search as a service</h3>
<p>My system for keeping up with engineering blogs got me thinking: what if I could help job seekers keep up with dozens of job boards by sending them a single simple email every day?</p>
<p>I&#8217;ve been maintaining the <a href="http://www.jobapis.com/" target="_blank">JobApis project</a> (formerly JobBrander) for a few years now, so I&#8217;ve gathered a lot of knowledge and created many open source clients for job boards. A job board to email project would be a great way to combine my knowledge with something that might actually be useful.</p>
<p>So I released <a href="http://www.jobstomail.com/" target="_blank">JobsToMail</a> as an <a href="https://github.com/jobapis/jobs-to-mail" target="_blank">open source project</a> and free service this weekend.</p>
<p><img class="aligncenter" src="https://i.imgur.com/MmjvXp2.jpg" alt="Job searching is time consuming. JobsToMail makes it a little easier." width="6000" height="3682" /></p>
<h3>How JobsToMail Works</h3>
<p>The goal of JobsToMail is to create a personal assistant for job seekers. People looking for jobs should be out there meeting people, doing interviews, coffee chats, etc, and not spending all day trolling job boards. JobsToMail saves you time by looking for new jobs every day on several major job boards and then sending the results to you in a single email.</p>
<p>Under the hood I&#8217;m using the <a href="https://github.com/jobapis/jobs-common" target="_blank">Jobs Common</a> and <a href="https://github.com/jobapis/jobs-multi" target="_blank">Jobs Multi</a> projects to interface with 6 job board APIs with plans to support many more in the future. If you want to get even more technical, read on.</p>
<h3>Collecting and emailing jobs</h3>
<p>The signup process is a very simple form submit where the user submits their email, search term, and location. This triggers an email to the user with a confirmation link. Once clicked, that link will &#8220;confirm&#8221; the user&#8217;s email and the user will start to receive an email every day.</p>
<p>I&#8217;m currently hosting the project on <a href="https://www.heroku.com/" target="_blank">Heroku</a> and using their <a href="https://www.heroku.com/postgres" target="_blank">Postgres</a> and <a href="https://elements.heroku.com/addons/scheduler" target="_blank">Scheduler</a> add-ons to handle the database, queuing, and cron jobs. The reason I went with Heroku was for ease of setup and deployment. I&#8217;d like people who want to host their own version of the project to be able to easily setup the application, and Heroku is one of the easiest ways to deploy an application as a single developer.</p>
<p>Heroku Scheduler kicks off an artisan command (I&#8217;m using <a href="https://laravel.com/docs/5.3/" target="_blank">Laravel 5.3</a> and PHP 7 for the project) which in turn queues up a job for each user in the system to collect and email them jobs. With a small userbase, iterating through all users is not a problem, but I may have to make this more robust if I get a lot of signups someday.</p>
<p>Each job is processed asynchronously by Laravel&#8217;s job/event handler system, which is one of the handiest features in the framework. Each job goes to each job board and gets a collection of jobs then all the collections are sorted and an email is queued up for the user. This part takes several seconds, but if it hangs for any reason, jobs are retried a few times before being thrown into a &#8220;failed_jobs&#8221; table.</p>
<p>Finally, I&#8217;m using Laravel&#8217;s new Notification feature to send an email to the user who requested it. In production I&#8217;m relying on Sendgrid to send the emails as Heroku doesn&#8217;t support SMTP or PHP&#8217;s mail function.</p>
<p>Finally, each email that is sent includes an unsubscribe link that is unique to each user. When visited, the unsubscribe URL immediately removes the user from our distribution list so they will no longer receive emails for that search.</p>
<h3>Where is JobsToMail going next?</h3>
<p>Long-term my goal is to continue making JobsToMail a more valuable service to job seekers and hopefully a more accessible project to future open source contributors. There are also a lot of &#8220;obvious&#8221; features that I chose to left out in the interest of keeping the MVP lean, but hopefully users will give me some feedback for where to take the project next.</p>
<p>So, if you&#8217;re interested in trying it out, go to <a href="http://www.jobstomail.com/" target="_blank">www.jobstomail.com</a> and don&#8217;t forget to submit your ideas for improving the project on <a href="https://github.com/jobapis/jobs-to-mail" target="_blank">Github</a> or to me directly on <a href="https://twitter.com/KarlLHughes" target="_blank">Twitter</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Essential Reading for Software Engineering Managers</title>
		<link>https://www.karllhughes.com/2016/reading-for-engineering-managers/</link>
		<pubDate>Tue, 13 Sep 2016 18:28:45 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=931</guid>
		<description><![CDATA[I started trying to read more a couple years ago, and this year I&#8217;ve been knocking out some of the most popular engineering management books out there. Since a lot of&#8230;]]></description>
				<content:encoded><![CDATA[<p>I started <a href="https://www.karllhughes.com/2015/trello-as-a-reading-list/">trying to read more</a> a couple years ago, and this year I&#8217;ve been knocking out some of the most popular engineering management books out there. Since a lot of new and aspiring software managers ask me about this, I figured I would go ahead and put together a list of some of my favorite books for software engineering managers.</p>
<h2>Highly recommended</h2>
<p><strong><a href="http://amzn.to/2cGxfoK" target="_blank"><img class="alignright" src="https://i.imgur.com/LViJWlM.jpg" alt="" width="238" height="346" />Peopleware: Productive Projects and Teams by Tom DeMarco</a></strong></p>
<p>The nice thing about software is that it is predictable. Computers do what you expect them to every single time, but figuring out how to make people work together is a lifelong exercise. Peopleware has helped me on my journey to figuring that out.</p>
<p><em>I wrote a more detailed review of Peopleware back in 2015. <a href="https://www.karllhughes.com/2015/peopleware/" target="_blank">Click here for more</a>.</em></p>
<p><a href="http://amzn.to/2c8oKVF" target="_blank"><strong>Building Great Software Engineering Teams by Josh Tyler</strong></a></p>
<p>&#8220;The challenge of scaling up a team can be intimidating&#8230;Josh Tyler has spent nearly a decade building teams in high-growth startups [most recently at Course Hero]&#8230;He draws on this experience to outline specific, detailed solutions augmented by instructive stories.&#8221;</p>
<p><strong><a href="http://amzn.to/2clpCCh" target="_blank">The Goal: A Process of Ongoing Improvement by Eliyahu M. Goldratt</a></strong></p>
<p>&#8220;The Goal is a gripping, fast-paced business novel about overcoming the barriers to making money. You will learn the fundamentals of identifying and solving the problems created by constraints. From the moment you finish the book you will be able to start successfully addressing chronic productivity and quality problems.&#8221;</p>
<p><strong><a href="http://amzn.to/2ccFrxR" target="_blank">The Mythical Man-Month by Frederick P. Brooks Jr.</a></strong></p>
<p>&#8220;Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects.&#8221;</p>
<p><strong><a href="http://amzn.to/2ctXdNr" target="_blank">Startup Engineering Management by Piaw Na</a></strong></p>
<p>This book covers a variety of engineering topics for managers including:</p>
<ul>
<li>Why a manager should consider doing management work.</li>
<li>How a manager should put together his team.</li>
<li>The important things to consider when interacting with engineers.</li>
<li>How to hire top engineers for your startup.</li>
<li>How to pick engineering leaders.</li>
<li>How to define processes and when don’t you need them.</li>
</ul>
<p><strong><a href="http://amzn.to/2cVk0zV" target="_blank">The Checklist Manifesto by Atul Gawande</a></strong></p>
<p>&#8220;The volume and complexity of knowledge today has exceeded our ability as individuals to properly deliver it to people—consistently, correctly, safely. We train longer, specialize more, use ever-advancing technologies, and still we fail. Atul Gawande makes a compelling argument that we can do better, using the simplest of methods: the checklist.&#8221;</p>
<p><strong><img class="alignright" src="http://i.imgur.com/kxUTUTJ.jpg" alt="" width="233" height="368" /><a href="http://amzn.to/2cDFKE3" target="_blank">How to Win Friends and Influence People by Dale Carnegie</a></strong></p>
<p>&#8220;This grandfather of all people-skills books was first published in 1937. It was an overnight hit, eventually selling 15 million copies. How to Win Friends and Influence People is just as useful today as it was when it was first published, because Dale Carnegie had an understanding of human nature that will never be outdated.&#8221;</p>
<h2>Good reads</h2>
<p>Most of these were really good books, but they just don&#8217;t relate <em>quite</em> as directly to engineering management. Still worth looking into if you&#8217;re interested in software engineering, startups, leadership, and other related topics.</p>
<p><strong><a href="http://amzn.to/2ccHgut" target="_blank">The Lean Startup by Eric Ries</a></strong></p>
<p><strong><a href="http://amzn.to/2ccHqSG" target="_blank">What Color is Your Parachute? by Richard N. Bolles</a></strong></p>
<p><strong><a href="http://amzn.to/2c8CxLU" target="_blank">How to Fail at Almost Everything and Still Win Big by Scott Adams</a></strong></p>
<p><strong><a href="http://amzn.to/2c8Dzrs" target="_blank">The Decision Maker by Dennis Bakke</a></strong></p>
<p><strong><a href="http://amzn.to/2c8BYC0" target="_blank">Disrupted: My Misadventure in the Start-Up Bubble by Dan Lyons</a></strong></p>
<p><strong><a href="http://amzn.to/2ccGcGU" target="_blank">Essential Scrum: A Practical Guide to the Most Popular Agile Process by Kenneth S. Rubin</a></strong></p>
<p><strong><a href="http://amzn.to/2cjAohP" target="_blank">Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin</a></strong></p>
<p><strong><a href="http://amzn.to/2cjz9Py" target="_blank">The Innovator&#8217;s Dilemma by Clayton M. Christensen</a></strong></p>
<h2>Next on my list</h2>
<p>I&#8217;ll try to remember to update these as I read through them, but here are some of the books next on my reading list.</p>
<p><strong><a href="http://amzn.to/2cjzlyr" target="_blank">Managing Humans: Biting and Humorous Tales of a Software Engineering Manager by Michael Lopp</a></strong></p>
<p><strong><a href="http://amzn.to/2cVkW7A" target="_blank">Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency by Tom Demarco</a></strong></p>
<p><strong><a href="http://amzn.to/2clrlHP" target="_blank">The 4 Disciplines of Execution by Sean Covey</a></strong></p>
<p><strong><a href="http://amzn.to/2ccHodv" target="_blank">Turn the Ship Around: A True Story of Turning Followers into Leaders by L. David Marquet</a></strong></p>
<p><strong><a href="http://amzn.to/2ccI9Dv" target="_blank">How to Make Sense of Any Mess: Information Architecture for Everybody by Abby Covert</a></strong></p>
<p>If you have other books that I should put on my reading list, <a href="https://www.twitter.com/karllhughes" target="_blank">let me hear about them on Twitter</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Version 2.0 of Jobs Common Released</title>
		<link>https://www.karllhughes.com/2016/jobs-common-2-0/</link>
		<pubDate>Tue, 06 Sep 2016 16:50:00 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[job boards]]></category>
		<category><![CDATA[JobApis]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=928</guid>
		<description><![CDATA[For the past year or so I’ve been meaning to invest the time in a version 2 of the Jobs Common package, and I finally got around to releasing it last&#8230;]]></description>
				<content:encoded><![CDATA[<p>For the past year or so I’ve been meaning to invest the time in a version 2 of the <a href="https://github.com/jobapis/jobs-common" target="_blank" rel="external">Jobs Common</a> package, and I finally got around to releasing it last weekend.</p>
<p>The goal of Jobs Common is to create a standardized interface for retrieving jobs from job board APIs. Basically, it allows you to get a known response no matter what job board you query. It&#8217;s an open source project that I&#8217;ve been working on for the past few years (on-and-off), and this iteration is the latest item in a series of improvements I&#8217;m making to the whole JobApis (formerly JobBrander) organization on Github.</p>
<p><a href="http://www.jobapis.com/2016/09/03/jobs-common-v2-release/" target="_blank">Read more on JobApis.com</a>.</p>
<p><img class="aligncenter" src="https://i.imgur.com/qLSgvU7.png" alt="" width="1500" height="946" /></p>
]]></content:encoded>
			</item>
		<item>
		<title>Senior Engineers: What Makes Them Stand Out?</title>
		<link>https://www.karllhughes.com/2016/senior-engineers-what-makes-them-stand-out/</link>
		<pubDate>Wed, 17 Aug 2016 15:00:24 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[senior engineers]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[the muse]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=924</guid>
		<description><![CDATA[I was recently asked by the editors at The Muse to contribute some thoughts on what makes a software engineer &#8220;senior&#8221; versus &#8220;junior&#8221; or &#8220;mid-level&#8221;. This is really hard because&#8230;]]></description>
				<content:encoded><![CDATA[<p>I was recently asked by the editors at The Muse to contribute some thoughts on what makes a software engineer &#8220;senior&#8221; versus &#8220;junior&#8221; or &#8220;mid-level&#8221;.</p>
<p>This is really hard because it&#8217;s a subjective and relative title. One thing that I do believe is that the title &#8220;senior engineer&#8221; has little to do with number of years of experience, but a lot to do with the quality of those years of experience. I ended up coming up with 7 characteristics of senior engineers:</p>
<p><strong>1. They Have Strong Debugging Skills</strong></p>
<p><strong>2. They Know When Not to Do Something</strong></p>
<p><strong>3. They Mentor Others</strong></p>
<p><strong>4. They Review Code Meticulously</strong></p>
<p><strong>5. They Can Communicate Complex Technical Ideas</strong></p>
<p><strong>6. They Specialize</strong></p>
<p><strong>7. They Admit What They Don’t Know</strong></p>
<p>To read more including full explanations of the above list, <a href="https://www.themuse.com/advice/7-traits-that-make-senior-engineers-stand-out-from-more-junior-team-members?ref=carousel-slide-0" target="_blank">check out the article on The Muse</a>.</p>
<p><img class="aligncenter" src="https://i.imgur.com/uElw8Ah.jpg" alt="" width="5616" height="3744" /></p>
<p>If you have additions to the list, feel free to <a href="http://www.twitter.com/karllhughes" target="_blank">let me hear them on Twitter</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Planning for Retirement While Working at a Startup</title>
		<link>https://www.karllhughes.com/2016/startup-retirement/</link>
		<pubDate>Mon, 08 Aug 2016 14:05:42 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[finances]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[personal finances]]></category>
		<category><![CDATA[retirement]]></category>
		<category><![CDATA[saving]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=921</guid>
		<description><![CDATA[As I&#8217;ve entered my late 20&#8217;s and begun to solidify my career path in startups, I&#8217;ve started to listen to everyone&#8217;s advice about saving for retirement. This got me inspired to&#8230;]]></description>
				<content:encoded><![CDATA[<p>As I&#8217;ve entered my late 20&#8217;s and begun to solidify my career path in startups, I&#8217;ve started to listen to everyone&#8217;s advice about saving for retirement. This got me inspired to do some research, ask other startup employees what they do, and try some things out. While I&#8217;m not a financial professional, I hope this post gives you a good jumping off point if you work for a startup and you&#8217;re wondering about retirement.</p>
<h3>Isn&#8217;t equity in a startup an investment?</h3>
<p>When I was just leaving college I figured I wouldn&#8217;t have to worry about it. The way I figured it my equity in one of these startups I worked for was bound to pay off someday, so I could just live paycheck-to-paycheck until that happened.</p>
<p>I&#8217;ve worked for three early stage startups now, and have a network of friends and mentors who have gone through every stage of growth. One thing has stood out to me from countless conversations: <em>don&#8217;t count on equity.</em></p>
<p>First, even a significant amount of equity in an early stage startup will get diluted. Second, exit events are pretty rare, and without one <a href="https://www.quora.com/If-a-startup-doesnt-issue-an-IPO-isnt-acquired-will-an-employees-equity-ever-be-worth-anything">that stock may never turn into cash</a>. Third, employees get &#8220;Common Stock&#8221; which means that they won&#8217;t get any payout <a href="http://stockoptioncounsel.com/blog/negotiating-equity-what-is-the-total-preference/2014/2/13" target="_blank">until after investors have made their money back and more</a>. But, this isn&#8217;t a blog post about startup equity, so I won&#8217;t dig into the topic anymore. <strong>Suffice it to say that no; equity in a startup is <em>not</em> a good retirement plan.</strong></p>
<p>So where should startup employees (or founders) start when it comes to retirement planning? Here&#8217;s the process I&#8217;ve gone through over the past few years, and I hope it&#8217;s a helpful starting point for some of you:</p>
<h3>Step 1: Spend less than you make, and start saving</h3>
<p>That sounds super obvious, but when I talked to one of my friends about it she wasn&#8217;t sure if she was spending more than she made.</p>
<p>This is simple to check: just look at your total bank account balance from one year ago and then look at what it is today. Subtract any new debt that you&#8217;ve accrued (credit cards, loans, etc.) and that&#8217;s where you stand. If the difference is positive, then you&#8217;ve spent less in the past year than you&#8217;ve made; otherwise, <a href="https://www.nerdwallet.com/blog/finance/spending-plan-regain-control-money/" target="_blank">find a way to spend less</a>.</p>
<h3>Step 2: Build an emergency fund</h3>
<p>Something is better than nothing, so if this whole process intimidates you, start slow. Just open a savings account online and start putting $100 in it every month. Once you get in the habit and you know you&#8217;re spending less than you make, build up an emergency fund. This will be a backup plan in case your startup fails, you have a big unexpected expense, or you need cash in a pinch.</p>
<p>Most people recommend saving up 6 to 12 months of your salary in an emergency fund. I&#8217;m a bit less conservative, so I keep around 4 months of after-tax salary knowing that if I had to I could stop spending as much on certain things or use my credit cards. It also helps that engineering jobs are plentiful these days so I feel less pressure than some others may.</p>
<h3>Step 3: Max out your IRA contributions</h3>
<p>Once you start investing real money for retirement you&#8217;ll start paying real taxes. If your company has a 401k (many startups don&#8217;t, but larger ones may), then put in as much money as they&#8217;ll match. Otherwise, put up to the yearly max into an <a href="https://en.wikipedia.org/wiki/Individual_retirement_account" target="_blank">IRA</a>.</p>
<p>I like the Roth IRA option as it lets me pay taxes on my money now and  take it out tax-free when I&#8217;m retired, but Traditional IRAs may be better if you think you&#8217;ll be in a lower tax bracket when you stop working. Look up the <a href="https://investor.vanguard.com/ira/roth-vs-traditional-ira" target="_blank">differences here if you&#8217;re not sure</a>.</p>
<h3>Step 4: Get an HSA if you can</h3>
<p>High deductible healthcare plans are the new norm. Whether you&#8217;ve got health insurance through your startup or the Affordable Care Act, you may qualify for a Health Savings Account. These are actually <a href="https://www.betterment.com/resources/life/truth-about-hsas-and-retirement/" target="_blank">really awesome tax-free savings vehicles, especially if you&#8217;re young and healthy</a>.</p>
<p>The way it works is that any money you put into an HSA is put in pre-tax. Then, as long as you use the money in that HSA for health care related costs (eg: prescriptions, copays, etc.) then you don&#8217;t pay tax on that money when you spend it. If you invest the money you have in an HSA and it grows, it could be a significant amount by the time you retire and likely have bigger medical expenses.</p>
<p>The other benefit to an HSA is that if you do get sick or injured before you retire and your health insurance won&#8217;t cover everything, that money can be used without penalty (or taxes) before you&#8217;re 65 since you&#8217;ll use it on medical expenses. It&#8217;s like a medical emergency fund mixed with a retirement fund.</p>
<h3>Step 5: Move your money into index funds or hire a fiduciary</h3>
<p>IRAs, 401ks, and HSAs are basically wrappers for the money you want to save for retirement.</p>
<p>That means they don&#8217;t inherently earn interest, but because most people won&#8217;t be touching the money for a long time, they put their IRA, 401k, or HSA money into an investment like stocks or bonds. The reason for this is that <a href="http://moneyminiblog.com/investing/compound-interest/" target="_blank">compound interest is very powerful</a>.</p>
<p><img class="aligncenter" src="https://i.imgur.com/1ugIATV.jpg" alt="" width="796" height="597" /></p>
<p>If you&#8217;re completely in over your head at this point, then it might be worth hiring a fiduciary. Don&#8217;t just look for the first financial advisor you can find though. <a href="http://money.usnews.com/money/blogs/the-smarter-mutual-fund-investor/2015/03/19/is-your-financial-advisor-a-fiduciary" target="_blank">Registered fiduciaries are different in that they work for you and don&#8217;t get commission from selling you certain investments</a>. <em>Beware financial advisors who aren&#8217;t fiduciaries. They&#8217;re probably just glorified sales people.</em></p>
<p>If you feel strong &#8211; like you can handle this yourself &#8211; then look into <a href="http://www.investopedia.com/terms/i/indexfund.asp">index funds</a>. These funds let you buy a large swath of stocks or bonds, giving you instant diversification without the work or buying individual stocks yourself. Read up on diversification of funds too though because the mix you buy when you&#8217;re 25 may be very different from the mix you should buy at 45.</p>
<p>There&#8217;s much more that could be said on this topic, but since this is getting more advanced, I&#8217;ll leave you to do your own research if you&#8217;re interested.</p>
<h3>Further reading</h3>
<p>I read a couple good books on the topic of saving money and investing this year: <a href="http://amzn.to/2aznRjE" target="_blank">Money, Master the Game by Tony Robbins</a> (I know, I was skeptical of Tony Robbins too, but it&#8217;s legitimately a good book) and <a href="http://amzn.to/2aG6WBY" target="_blank">Rich Dad Poor Dad by Robert Kiyosaki</a>. A couple blogs I&#8217;ve found helpful are <a href="https://www.nerdwallet.com/" target="_blank">NerdWallet</a> and <a href="http://vanguardblog.com/" target="_blank">Vanguard&#8217;s blog</a>.</p>
<p>Finally, if videos are more your thing, check out <em><a href="https://www.youtube.com/watch?v=PHe0bXAIuk0" target="_blank">How the Economic Machine Works</a></em> and <a href="https://www.youtube.com/watch?v=gvZSpET11ZY" target="_blank">John Oliver&#8217;s spot on retirement plans and the danger of financial advisors</a>.</p>
<p>Have your own tips for startup employees looking to save for retirement? <a href="https://www.twitter.com/karllhughes" target="_blank">Hit me up on Twitter</a> and I&#8217;ll add them here.</p>
<p><em>Disclaimer: this should be obvious, but I&#8217;m not a financial advisor, fiduciary, or even a professional in the industry, so take my advice with a big grain of salt. I&#8217;m just an engineer who works at startups and wants to retire someday. Use my advice as a springboard to do your own research or talk to your own financial planner.</em></p>
]]></content:encoded>
			</item>
		<item>
		<title>New Role at The Graide Network</title>
		<link>https://www.karllhughes.com/2016/joining-the-graide-network/</link>
		<pubDate>Mon, 18 Jul 2016 13:00:10 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[CTO]]></category>
		<category><![CDATA[Packback]]></category>
		<category><![CDATA[personal life]]></category>
		<category><![CDATA[The Graide Network]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=919</guid>
		<description><![CDATA[After over 2 and a half years at Packback, I&#8217;ve decided to move on and have accepted the first engineer/CTO role at The Graide Network. When I joined Packback I wasn&#8217;t sure&#8230;]]></description>
				<content:encoded><![CDATA[<p>After over 2 and a half years at <a href="https://www.packback.co/" target="_blank">Packback</a>, I&#8217;ve decided to move on and have accepted the first engineer/CTO role at <a href="http://www.thegraidenetwork.com/" target="_blank">The Graide Network</a>.</p>
<p><a href="https://www.karllhughes.com/2013/on-leaving-uloop-for-packback-books/" target="_blank">When I joined Packback</a> I wasn&#8217;t sure what I wanted to do. During my time with the company I went from the team&#8217;s only in-house engineer to the manager of a small team. It was amazingly fun, and while I hadn&#8217;t been actively seeking another job, when the opportunity to do what we did at Packback again came up at The Graide Network, I knew I would be a great fit.</p>
<p>Here&#8217;s a little more information about the company and my role:</p>
<h3>What is The Graide Network?</h3>
<p><a href="http://www.thegraidenetwork.com/" target="_blank">The Graide Network</a> connects middle and high school teachers with qualified teaching assistants to grade and provide feedback on student work.</p>
<p>What that means is that teachers upload their students&#8217; assignments then we find college students who can grade their papers remotely and get them back to the teacher.</p>
<p>My life is full of great teachers who I know first hand are overworked. My mom, a couple of my cousins, my girlfriend&#8217;s brother and mother are all teachers, so an opportunity to help make their lives better through technology appeals to me. On the flip side, the college students we get to grade papers are mostly studying to be teachers, so we&#8217;re offering them real-world experience as well.</p>
<h3>What I&#8217;ll be doing</h3>
<p>When I joined Packback I had no idea how to fix a messy MVP. I didn&#8217;t know how to work with an offshore team, and I definitely didn&#8217;t know much about building an in-house engineering team; I had no idea how to create an effective product management process. My time at Packback helped me develop tools and processes for many of the technical problems early stage startups face. At The Graide Network, I&#8217;ll be implementing those tools, and helping prepare the company for growth in the future.</p>
<p>Of course, there will be plenty of exciting new features to implement, but the reality is that we&#8217;re a company that needs to build a single great feature set before we branch out too far. In the first few weeks I&#8217;ll be taking a look at our current web application&#8217;s architecture, security, and scalability in order to figure out what we need for a successful fall semester.</p>
<p>Unlike at Packback I won&#8217;t have a team yet. We do have a solid local freelance engineer working with us already, so I won&#8217;t have to build everything alone. Still, <a href="https://www.karllhughes.com/2016/engineering-manager/" target="_blank">much less of my day-to-day will be management</a>.</p>
<p>In other words, I&#8217;ll be doing a bit of planning and a lot of writing code.</p>
<h3>What&#8217;s next for The Graide Network?</h3>
<p>Our imminent goal is to clean up the product for a new round of teachers and Graiders who will start in September. Last year the team (mostly just the founders, Blair Pircon and Liz Nell) worked with a small number of teachers and at times had to grade papers themselves manually. This fall, we&#8217;re looking at a healthy pipeline of possibly 10 times as many teachers and Graiders, so a lot of the manual solutions we used before will start to break down. My goal will be to make sure pain points are alleviated by the product.</p>
<p>My next goal is to prepare the codebase for future engineers. It&#8217;s very hard to hire good engineers to work on a messy product, and even harder to have multiple developers working on one that doesn&#8217;t separate concerns well. If we hit our goals and 2017 is focused on growing the team, then we&#8217;ll need to have a good development process and architecture in place.</p>
<p>Finally, I hope to continue to test the systems I helped implement at Packback in a new environment. At Packback I had Jessica Tenuta, a great in-house designer and cofounder, to help with spec and product details. We won&#8217;t have dedicated design resources initially at The Graide Network. Implementing a workflow that accounts for this will be an interesting experiment.</p>
<p>I&#8217;m sure I&#8217;ll have much more to write on the challenges specific to very early stage startups (there are just 4 of us working full-time now), but if you have other questions or comments, feel free to <a href="https://twitter.com/KarlLHughes" target="_blank">find me on Twitter</a>.</p>
<p><img class="aligncenter" src="https://i.imgur.com/KV9Ehie.png?1" alt="" width="1000" height="600" /></p>
]]></content:encoded>
			</item>
		<item>
		<title>Self-Awareness, Dashboards, and Evaluating Culture</title>
		<link>https://www.karllhughes.com/2016/self-awareness-dashboards-and-evaluating-culture/</link>
		<pubDate>Tue, 12 Jul 2016 13:56:40 +0000</pubDate>
		<dc:creator><![CDATA[Karl L. Hughes]]></dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[guest posts]]></category>
		<category><![CDATA[klipfolio]]></category>
		<category><![CDATA[Startup Institute]]></category>
		<category><![CDATA[the muse]]></category>

		<guid isPermaLink="false">https://www.karllhughes.com/?p=915</guid>
		<description><![CDATA[While I haven&#8217;t been writing here in the past month, I&#8217;ve been working on a few guest posts that all happened to go live last week. Here are some quick summaries&#8230;]]></description>
				<content:encoded><![CDATA[<p>While I haven&#8217;t been writing here in the past month, I&#8217;ve been working on a few guest posts that all happened to go live last week. Here are some quick summaries with links to the original posts:</p>
<h3>Developing Self-Awareness</h3>
<p>In college I made milkshakes at Chick-fil-A, delivered catering orders for a sandwich shop, tested washing machines at GE, pitched at business plan competitions, ran a couple of half-marathons, helped lead an engineering fraternity, and taught myself to make websites. It took me six and a half years to finish my undergraduate degree but, by the time I got out, I had tried enough things so that I knew what I did and didn’t want in my career.</p>
<p>Developing a high level of self-awareness will prevent you from wasting time in a job that you&#8217;ll hate, and it makes you a much more effective leader and team member.</p>
<p><strong><a href="http://blog.startupinstitute.com/2016-07-07-developing-self-awareness/" target="_blank">Read the rest on Startup Institute&#8217;s blog</a>.</strong></p>
<h3>Figuring Out Engineering Culture During Interviews</h3>
<p>Engineering culture is defined as, &#8220;the way we <em>build</em> things around here.&#8221; As a job seeker, the difference between working at a company with a strong emphasis on engineering culture and one without is stark.</p>
<p>While you probably won’t be 100% sure what it’s like to work somewhere until you’ve been there for a week or two, there are plenty of great questions you can ask your potential future employers to suss out any red flags.</p>
<p><strong><a href="https://www.themuse.com/advice/the-interview-questions-engineers-must-ask-to-figure-out-what-a-companys-cultures-really-like" target="_blank">Read the rest on The Muse</a>.</strong></p>
<h3>Dashboards for Agile Teams</h3>
<p>We&#8217;re big on tracking metrics at Packback, so when I started up a Twitter conversation with <a href="https://twitter.com/ali_pourshahid" target="_blank">Ali Pourshahid</a>, the Head of Engineering at Klipfolio, it made sense to collaborate on an article. This post expands on one I wrote <a href="https://www.karllhughes.com/2016/sprint-tracking/" target="_blank">earlier for this blog</a>, and it goes into some of the specific tracking metrics that both Klipfolio&#8217;s engineering team and ours at Packback use to help keep tabs on how things are going throughout our sprints.</p>
<p><strong><a href="https://www.klipfolio.com/blog/how-dashboards-help-agile-software-development-teams" target="_blank">Read the rest on Klipfolio&#8217;s Blog</a>.</strong></p>
<p><img class="aligncenter" src="https://i.imgur.com/AGZW0YK.jpg" alt="" width="1734" height="1300" /></p>
<p><em>This is a random photo I took in Arizona earlier this year. Enjoy!</em></p>
]]></content:encoded>
			</item>
	</channel>
</rss>
