Update 3 – Portland Startup Week – Docker, Fig, Women in Tech, Wearables & A Hackfest

Here’s some great events coming up the first week of February for Portland Startup Week! Are you planning on attending any of these or others during the week? Let me know of other good events related to Portland Startup Week and I’ll get those posted too.

Sailing Away From Dependency Hell with Docker & Fig Tuesday Feb 3: 12-1 PST

Deconstructing Women in Technology: What’s the Data Really Telling Us Tuesday Feb 3: 5-6 PST

Portland Startup Week Where are your Wearables Hackfest with Quick Left & Name.com Wednesday Feb 4: Hackfest: 6:00-10

I’ll be attending the hackfest and hope to team up with anyone that has been hacking IoT or other hardware and wearables to try to put together something new – or even to discuss what we might build in the future. Either way, it should be a great time and I look forward to teaming up with people to build some awesome.

Cheers!

Update 2 – Speaking at Node Summit and Node.js Club SF

I’ll be puddle jumping down to San Francisco on the 9th to teach a workshop at Node Summit titled “Node Continuous Integration to Delivery” and then I’ll swing into the Node.js Club SF to give a short (45 minute) deep dive into who, what, where, when, and why of “Node Continuous Integration and Delivery”.

Here’s a short description of the workshop, “In this workshop I’ll show the steps to get from minimal project, to fully deployed web site with a fully integrated and operative continuous integration and delivery pipeline. I’ll also dive into some basic practices around test or behavior driven development within JavaScript to build a full server to client website and have that website deployed, tested – on both client and server, and deployed auto-magically to a live site. During this workshop I’ll break this out into segments, so that over the course of the workshop there will be time to stop, ask questions, and then move to the next stage of the project.”

As I get more specific details about this, I’ll add them to this post. But currently check out Node Summit and Node.js Club SF for more information.

UPDATED January 21, 2015 @ 4:16pm

I’m now listed on the speakers section of the Node Summit Conference Site. The workshop I’ll be providing will be on Monday the 9th, the day before the actual conference from. My workshop will be 3-5pm, in the Fisher East Banquet Room in the event location at:  Mission Bay Conference Center at UCSF, 1675 Owens St, San Francisco, CA 94158

If you’d like to sign up for Node Summit and get 25% off of the registration fee, then follow this link to register for the conference!

Update 1 – I’ll be teaching the Code Fellows Bootcamp and Unix & Git for Everyone

In the coming month there are three courses I’ll be teaching here in the grand city of Portland, Oregon. Two of the courses are one day Unix & Git for Everyone (Jan 31 and Feb 28)  courses and the big course is the Computer Science & Web Development Bootcamp (Feb 2 – Feb 27). So if you’re interested in ramping up and becoming a software developer sooner than later, check out the courses and more on the Code Fellows Site, follow the PDX Code Fellows Twitter or Code Fellows Twitter, and like the Facebook Page.

I’ll have more information about teach, training, mentoring and other projects I have on the cooker over the course of today.

Where are the Part Time ~20-30 hrs Dev Gigs?

Over the years one of the things that I’ve seen missing in disproportionate amounts are many opportunities for part time work in the software development industry. There are two things about this fact that makes me kind of chuckle at the absurdity behind them.

  1. Much of the time there isn’t any part time work because so much of management and the existing group think is that more hours equal more productivity and more product. This is, however, very wrong.
  2. If software developers did work fewer hours, they actually have a high possibility that they’d become more productive, not less.

Shock, gasp, horror, no, tell me it isn’t so, you mean an entire industry is wrong about the human psychology behind an occupation?! Yup. The perverse thing is this isn’t exactly the first time. It appears, we humans are really bad at determining the best psychological state to be in for a particular occupation. We tend to get better at managing this, but overall we humans don’t have a great track record.

What I’d like to see, and I’m by no means assuming anybody would listen, but if leadership out there is, here are my thoughts. They’re free, I’m putting them right here on this blog, and I’m not even asking for any pennies for my thoughts. Disseminate and use as you would like!

The Part Time Coder Position – $40-80k Dependent on Experience & Contribution Ability

Description: Available for meetings, pairing and coding for 4 hours per day, either on a declared morning or evening schedule to sync up with the team. Spending 4-5 hours per day total either meeting or working on project code. No excess meetings, domain planning or other business meetings necessary, core focus is coding and communication with the team and team lead that are working on the coding project.

Requisite Job Requirements: • Possibly spend a full time week or two to get up to speed on practices, such as kanban usage, task tracking or whatever else is in use for project management. • Be familiar with software development in general, with the expectation being of several years of experience with some stack that is similar to the primary stack that is being used. • Be able to communicate, determine need for communication (especially if remote), and up-manage as well as determine self-direction with minimal interaction. i.e. ability to use the right comms for the right messages as often as possible. • Be able to apply algorithms, patterns, and related thinking to provide solutions to the problem domain space that is being approached.

Other Peripheral Requirements: • Ability to provide rough guesstimates on where and what effort something will take, pending reasonable time given to determine such things. Also management, as always, should keep in mind, estimates are always wrong. Just sayin’.

So where is this position availability? How about throwing some of those out there and see how or what could be done with some roles like that? It could be very useful. If you’re interested in putting some positions like this into place, I’d be happy to help consult or determine what you’d need.

Recruiters: I pose this question and write this blog entry knowing of no less than a dozen people that would work in software development, are exceptional software developers, but don’t because they’re either A: well off and have no need or desire to work full time or B: want to spend considerable amount of time living life and don’t have huge expenses, so they’d be really happy with a part time job. Neither of these people have any desire to work more than about ~20 hours a week. It’s a workforce that hasn’t even been touched on and overall, the businesses in the tech sector are seriously missing out

My Train of Thought on JavaScript, Web Analytics, & Segment

Beware, this is my brain dump as I attempt to figure out Segment integrations. It might seem disconnected at first but I’ll make every effort to loop things back around. First a few pieces of context, or more simply my goals for this blog entry:

  1. My goal here is to implement a server side integration with Segment that allows for data, which flows through their system, to end up in another system.

  2. The term, it appears, for the software one would build and deploy to their system for them to feed data into another system is called an integration. There is a long list of the integrations that they have available today. It’s so long, that Segment actually has a search feature and all of the integrations divided into sub groups of integrations by advertising, analytics, marketing, sales, support, developer, and user testing.

The Nasty Information Architecture Documentation Flow

Ok, first I started off by merely clicking on the link to the documentation. There is a middle section there that details the integrations, with one link to the general integrations page that is of no use to building an actual new integration, and then the second link brings me to the integrations docs, which appears at first glance like the right place. So this is where I felt is the best starting place, which by the end of this blog entry I’ll summarize if this was the right determination!

Moving on, I began reading the section titled API Methods, which when clicked sends one to a page actually called Tracking API Reference. I also opened a number of other links on the integrations docs page which all amounted to being sent back to the page that lists all of the existing integrations. These links were, frankly, useless.

I kept clicking away at different links on the Tracking API Reference page, then realized, that the docs were just not leading me in the right direction. So I went back to the integrations docs page and the root documentation page. At this point I was getting pretty frustrated at finding something useful. I’m sure I was missing “that one easy click to success” but the information architecture of this was a bunch of circle jerks back to were one starts. It was basically all setup for putting one back at the data collection side of things with the analytics.js tag or something of that sort.

Stop.

Ok, this is where I stop and have another 2 devs look at this shit. I am, yes, cursing now because: bullshit. Both of the devs click through and click through the links, based upon my top two criteria. They also can’t seem to find anything useful. We’re all three now discussing our confusion, albeit since I’m trying to implement it, I’m feeling the frustration. The others get a good chuckle out of my quagmire. In my frustration and their good natured attempts to help me, we all do the obvious, forget Segment’s actual docs site and start throwing down some google-fu.

Google-fu That Documentation!

After a solid bit of digging around we all decide that the best options are simply to do what us coders often do these days, and we each slowly but steadily end up on github. Sure enough, Segment has the respective integrations listed under their github organization. Now mind you, none of us found any tutorials or anything, thus my reasoning behind writing this blog entry to fix that. What we did find were all the existing integrations which serve perfectly as examples of what to implement. THIS is what should have been linked to from the above documentation. Somehwere, anywhere there should have been some type of information architecture navigation that went seemlessly to the examples.

But there wasn’t, not that the three of us could find. Albeit, we all agreed maybe it just wasn’t our day and our google-fu was better than out use of the information architecture of the segment docs? Right now, I didn’t care, I wanted to get moving on the integration. So onward I dug, and then a few more pieces of information cropped up in conversation.

More Google-fu and a little fussing on Twitter did the trick. First, thanks to my co-founder digging around busting some Google-fu too, he found this doc and sent me a link. It was on page 2 of some results and I also noticed is in a repository that is actually marked “THIS REPOSITORY IS NOW DEPRECATED“. This doesn’t exactly make following docs inside of a repository marked this way confidence raising. But I started to push forward regardless and then got a response…

So I immediately put together an email to get the deets on the latest way to get an integration put together. But before I’d even got a return (I did send it on a Friday evening, so I didn’t have any expectation of a response before Monday sometime). But even as I sat waiting, I had implemented a basic integration following the instructions from two other repos I’d found from the deprecated docs; khaos and khaos-integrations. earlier, the deprecated integrations doc. I did so, making the assumption that processes to get an integration running couldn’t have changed to much, the doc was just deprecated a few weeks ago!

The Basic Integration

I tried the installation of khaos-node, which worked fine.

npm install -g khaos

Then next I stepped into the README.md and followed the instructions around installation and creation of a khaos template project to create an integration. That’s where I hit an error immediately.

~/Codez
14:51 $ mkdir integration-decon
~/Codez
14:51 $ khaos install segment/khaos-node integration-decon
khaos · Command failed: Cloning into '/Users/adron/.khaos/integration-decon'...
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
~/Codez
14:51 $

At this point, seeing that there were some obvious issues I figured I’d aim for a different approach – namely I’d just wait until I got an email that led me to more updated procedures. That came a little later and I started to hack on things based on that approach, which went something like this:

Hi Adron,

Thanks for putting together an integration! If it’s client side, then you can follow these docs, and if it’s server side go for these ones.

If it’s server side, then I’ll get you to fill out one of these and we can get a repo set up for you 🙂

Thanks, Harriet

Aha! Now I’ve got a path forward thanks to the super helpful words of Harriet! Onward I move with intent and direction. The first link that is relevant there, is the link to the contributing.md docs for server side integrations. Check, that’s me, I’m building a server side integration! The second link is a form to insure that they have a repository setup for me to sling code at. So I filled that out, sent it in, and got started reading some docs.