AutomationObject Ruby Gem for UI Automation Published

AutomationObject Ruby gem is a YAML configuration based dynamic DSL framework for UI automation using Selenium or Appium drivers. Gem Purpose: The purpose of this gem was to provide a layer in between the drivers I commonly used and my Cucumber testing suite.  Using YAML configurations to define and map the UI, this gem enables the creation of a dynamic DSL framework reflecting the configuration that allows automation to occur through the provided DSL API. Reason for Creating: Working as a QA developer in Test, I was having a hard time figuring out how I could scale up our…Read more …

Use a Single Codebase for Multiple Apps

You want me to what? Create different iOS applications from the same codebase?! The Challenge The mobile development team at Spartz was recently asked to create a new app for one of our existing sites, OMGFacts.com. Very cool! However, there was a catch -- with the exception of some logos, text and colors, the app was going to be a replica of our existing Dose app. In other words, take an app that wasn't built to support multiple, distinct versions and do just that with it. Huh. Where do you even begin? The…Read more …

6 (not 7) Ways To Create The Most Value In Your Work

After working for companies with up to 9,000 employees, it’s refreshing to be at a startup. Especially when I see how my work shapes the future of a company. That’s why it’s so important to make every line of code that I write as valuable as possible. I have an uncommon background as a developer. I came from the business side. This is why I think about things that might not normally cross a developers mind - like, “How does this help the company?”. I often see developers that have lost sight of…Read more …

7 Tips for Landing that First Gig

So maybe you read my most recent article, 7 Recommendations for Junior Developers, and you’re thinking, “That’s all well and good, Brad, but I haven’t even landed that first developer job!” Well, this is the article for you. Read on for some job finding tips from someone who has been there. I see Junior Developers falling primarily into two categories. One is a slightly experienced engineer who is learning a new language or platform. You’ve worked in a dev shop somewhere or as a freelancer and you have some experience or a portfolio…Read more …

7 Recommendations for Junior Developers

Being a Junior Developer can be hard. Really hard. Some things you know really well. Some things you don’t know at all. You have to learn how to exist in a new ecosystem with its own processes and tools that you may not be familiar with. There may also be new methodologies or approaches to development that you need to learn. People outside your team may not understand what “Junior” means and their expectations can be unrealistic. Some days it feels like its all uphill and there is no summit in sight. It can…Read more …
Visual Heat Map of your crontab

Visual Heat Map of your crontab

The other day I was trying to debug some issues that I thought might be related to running cron jobs. As I looked through our... large... list of crons, I wished there was a way to see what was running when. So of course, I created a quick script (github) to generate a heat map for the current day, that looks something like this: This gives us a quick insight of how many cron jobs are scheduled to run at a given time. It could be useful when planning out new recurring jobs…Read more …
Visual Amazon Web Services Infrastructure Status Dashboard

Visual Amazon Web Services Infrastructure Status Dashboard

Recently I was working on mapping out our entire AWS infrastructure for documentation and auditing purposes. It shows all of the services we use, how they interact with each other, and has a box or circle for each node or instance inside the service (like the web EC2 cluster, or the SQS queues or RDS instances). As a coworker walked by and saw it, he said "wouldn't it be awesome if you could tie that into our alerts and have that section flash if something is wrong with it?" So I whipped up…Read more …

Live And Learn, But Learn Quickly – 3 Lessons of Iteration Management

Oh, we need a feature? We want to be able to have the button be red instead of blue? Write a ticket for it, it should be a one-pointer.  While you’re at it, add this in too, it’s a simple copy change.  New to the iteration management game, these are the first 3 lessons I learned (quickly).  They seem simple, effortless, and obvious, but hopefully they serve as a simple reminder of some golden rules.   Distance Over Speed “So how long is this going to take you?” “Is it ready yet?” “Can…Read more …
Legacy Database Integration in Django

Legacy Database Integration in Django

Within the Django framework, there are many helpful tools to mitigate web development upstart repetition, complexity, and organization. We live in an age where web applications are being launched as quickly as ideas can flow through our brains and take flight, and frameworks are one of the best ways to approach building what so many others have already built before. As developers, without third party tools our advancement wouldn't be where it is today. While Django is arguably the best Python Framework for building web applications out there, like any framework, there are…Read more …
Misconceptions of Agile Software Development

Misconceptions of Agile Software Development

We’re agile, we can just add stuff to what we’re working on mid-way through the sprint, yeah? We don’t need to plan or document anything if we’re doing agile, right? It’s just a tech thing, the business doesn’t need to know anything about agile. All of the above are things I have heard in my years working in the agile software development world. There are numerous other myths and misconceptions to what agile is, but for now, I’m going to touch on these items. Scope Creep Constantly iterating in Agile does not mean plan…Read more …