Atomic Spin

Getting Ready to Break Everything (in 5 Easy Steps)

Atomic Spin

Every project eventually hits a point where a big change needs to be made, and it’s going to break everything. And you’re going to be the one stuck putting it back together.

Seven Quick Strategies for Effective Scrum Stand-Up Meetings

Atomic Spin

The daily stand-up meeting is an important component of the SCRUM process. It helps the whole team stay in-sync and up-to-date on what’s happening with the project, and it alerts everyone to blockers as soon as they become an issue.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Creating Psychological Safety Leads to Happy Teams

Atomic Spin

Have you ever loved being part of a team? It’s a great feeling. Often, it doesn’t even matter what you’re working on as a group. Everyone shows up to work with enthusiasm, and all members support one another.

Want to Write Clearer Code? Follow the Cooperative Principle

Atomic Spin

Lately, I’ve noticed a transition in my craft as a software developer. While I once devoted almost all of my mental energy to getting code to run properly, I’m now putting more thought into writing clear and maintainable code.

MVC 52

Facebook Causes Continue to Show Little Promise as Fundraising Tools

Three Ways to Build Trust & Safety as a Team Leader

Atomic Spin

More and more studies have shown that the most effective teams are the ones whose members trust each other and feel “psychologically safe.”

Software Exposes People Problems that You Can’t Ignore

Atomic Spin

Image credit : Alan D Cirker (CC BY 3.0), via Wikimedia Commons. Software, and computers in general, are excellent at enforcing process. But process is often in direct conflict with people. So what happens when a new software system is thrust upon people?

Mob Programming: How We Stumbled Upon and Learned to Love It

Atomic Spin

I’ve been reflecting on how my current team is both super-productive and fun to work with. One key element of this is that we recently started to practice mob programming.

Answering “How Long Will This Take?” and Other Impossible Questions

Atomic Spin

As we decide where to focus, figure out the best way to implement things, or evaluate costs on any project, we hear the same questions: “How much will this cost?” Or “When will it be done?” Or even technical questions like, “How many records can this process per second?” ” We need to make decisions and decide where to invest, so these are critical questions. But that doesn’t make them easy. It seems like there are always too many variables to even begin finding an answer.

Embedding YouTube Videos in Android Applications

Atomic Spin

YouTube is the largest video sharing platform in the world, so it makes sense to include its videos in a mobile app. In this article, I’m going to cover how to add them to your Android application using YouTube’s official API. For the sake of this tutorial, we are going to start with an empty activity template, Kotlin , and a minimum API level of 6.0 in Android Studio. Setup. Unfortunately, YouTube does not provide a Gradle dependency for its player API.

Video 40

Intelligent Process Automation: Boosting Bots with AI and Machine Learning

Across all sectors, companies are learning that they can transform their businesses by embracing Intelligent Process Automation, or IPA. With the pairing of AI and RPA, IPA adds a new layer of intelligent decision-making processes to automated RPA tasks. By automating repetitive work, and adding the ability to automate intelligent decision making, intelligent automation frees up your most valuable resources – your employees – to spend more time on higher value and more strategic work. But in order to reap the rewards of Intelligent Process Automation, organizations must first educate themselves and prepare for the adoption of IPA. In our ebook, Intelligent Process Automation: Boosting Bots with AI and Machine Learning.

Five Quick Phone Tests

Atomic Spin

When I started testing websites, I had a list of quick “attacks” that could surface common issues quickly. Now that I’ve been doing more and more testing on mobile devices, I’ve come up with a similar list for them. Run on Your Oldest Phone First. I’ve found that issues tend to occur more on Android than iOS, mainly due to the large fragmentation of the Android market.

You Need to Be Involved with SoftwareGR

Atomic Spin

Are you a software designer or developer looking to connect with others in West Michigan? How about an owner of a software consultancy who would like some exposure to potential new employees? Maybe you lead a department of software designers and developers and would like to expose them to new ideas? As human beings, we have a powerful need to belong.

Atomic Welcomes an IT Operations Engineer and a Delivery Lead

Atomic Spin

This spring, Atomic gained a Delivery Lead in Ann Arbor and an IT Operations Engineer in Grand Rapids. Now that they’ve settled in, I asked each of them to tell me about themselves and what it’s been like working at Atomic. Stephen Guyton. Stephen is Atomic’s new IT Operations Engineer. He keeps our internal infrastructure up and running across both offices. And he makes sure Atoms have the equipment, software, and services they need to do their work. IT is Stephen’s second career.

JavaScript-free Web Development with WebAssembly, Bolero, and F#

Atomic Spin

A while back, I remember hearing about WebAssembly and how it would finally release the web from the grip of JavaScript. Languages that transpile to JavaScript don’t cut it). Although WebAssembly doesn’t make the news much these days, it turns out there is quite a bit of work being done in this area. Since I do a fair amount of back-end work in F#, I was looking for a way to use F# client-side, and that’s when I discovered Bolero. Bolero.

PHP 40

Building Like Amazon

Speaker: Leo Zhadanovsky, Principal Solutions Architect, Amazon Web Services

Amazon's journey to its current modern architecture and processes provides insights for all software development leaders. To get there, Amazon focused on decomposing for agility, making critical cultural and operational changes, and creating tools for software delivery. The result was enabling developers to rapidly release and iterate software while maintaining industry-leading standards on security, reliability, and performance. Whether you're developing for a small startup or a large corporation, learning the tools for CI/CD will make your good DevOps team great. We are excited to be joined by Leo Zhadanovsky, a Principal Solutions Architect at Amazon Web Services.

Writing a Great Software Development Contract, Part 3 – Warranties, Indemnifications, and Liability

Atomic Spin

Custom software services contracts should call out the promises you and your partner make to each other. The contract should also define who will be responsible, and to what degree, if certain issues arise. Disclaimer. This post is not formal legal advice. I’m not a lawyer. I recommend you work with legal professionals for all of your software contract needs. This is the third post in a series that will cover common considerations in the following categories: Overview & Principles.

Agile Misconception #2: We Don’t Need Documentation

Atomic Spin

Documentation means a lot of different things to different people. I’ve also found it’s one of the top five topics to cause a developer to cringe. If you’ve used a waterfall software development process, you’re all too familiar with documentation. From requirements to systems architecture to design, you’re creating documentation at every step of the process. There is a common misconception that documentation should be done away with entirely in Agile development. I strongly disagree.

Agile 40

BLOBs with Knex and PostgreSQL

Atomic Spin

My team and I recently decided that we should store user-generated binary files in our PostgreSQL database so that a user could download them at a later time. This is different from uploading those files to something like Amazon S3 (which we’ll likely consider migrating to at some point down the road). Initially, we implemented this solution using a bytea column, but we found that the retrieval performance was unacceptable.

There’s a Relational Database in Your Unix CLI

Atomic Spin

Did you know that there’s a relational database hiding in your Unix shell? There really is, it turns out. A friend of mine was recently telling me about his discovery of the join command, which allows you to combine data from multiple files that contain tabular data. Let’s take a closer look. Examples. For these examples, I’ll be using two files.

6 Steps to Improving Your Application’s Analytics Experience

No one designs bad dashboards and reports on purpose. So why do so many applications have terrible analytics experiences? Download this ebook for secrets to creating dashboards and reports your users will love.

How to Ensure a Successful Mobile App Release

Atomic Spin

Releasing a new version of a mobile app can be a stressful process. The first few times you do it, your customer base is probably pretty small, so it doesn’t feel like a very big deal. However, after your user base grows into the thousands, the pressure really starts to build. The fear of releasing a bug that could potentially impact tens of thousands of people can be unnerving for even the most confident developer.

A Guide to Evaluating Closed- and Open-Source Libraries

Atomic Spin

Picking the right libraries for your project is important. The wrong ones can create long-term headaches and introduce technical debt that will eventually be very expensive to correct. When making your choice, there are a few important things to think about, and a few common things to avoid. Considerations for Closed-Source Libraries. Libraries are either open-source or proprietary, and there are different considerations for both.

Villainous Personas – Anticipating the Users You Don’t Want

Atomic Spin

You know and use personas for a majority of your projects, but I’m here to tell you that you may have missed a category of user. A very important one. A not-so-friendly one. Users Who Mean Harm. Let’s pretend you’ve created a beautifully functioning and user-friendly app. It’s living and breathing in the world when, BAM! An unfriendly, nay malicious, user begins threatening your ecosystem by attempting to scam your users or utilize your service for wrongdoing. But who are these dark evil-doers?

A “Grand Unified Theory” of Agile

Atomic Spin

Okay, that’s a bit grandiose, I admit. But I often see tweets or posts about how people don’t “get” capital-A Agile. Tweets like this and this point out common faults. Everything they say is technically correct but not especially useful. Pointing out all of the not-get-its in the wild won’t make people “get it” better, so these sentiments are useless. I’ve thought a lot about this problem, and I’ve tried to assemble a bit of a theory of Agile that would provide a framework for improvement.

Agile 40

Why Distributed Tracing is Essential for Performance and Reliability

Speaker: Daniel "spoons" Spoonhower, CTO and Co-Founder at Lightstep

Many engineering organizations have now adopted microservices or other loosely coupled architectures, often alongside DevOps practices. Together these have enabled individual service teams to become more independent and, as a result, have boosted developer velocity. However, this increased velocity often comes at the cost of overall application performance or reliability. Worse, teams often don’t understand what’s affecting performance or reliability – or even who to ask to learn more. Distributed tracing was developed at organizations like Google and Twitter to address these problems and has also come a long way in the decade since then. By the end of this presentation, you’ll understand why distributed tracing is necessary and how it can bring performance and reliability back under control.

How TypeScript Shaped our Entire Codebase for the Better

Atomic Spin

Over the last year and a half, I’ve had the pleasure of working on a web app built in TypeScript. I came to Atomic with no web development experience at all. On my first couple of projects, I spent most of my time working on small, relatively isolated pieces of functionality for various applications: a bit of UI development here, some Rails model changes there.

How We Built a Scrappy Curriculum Editor using VSCode, TypeScript, and AWS Lambda

Atomic Spin

Great apps aren’t stuck in the mud. They change with the times. They float like oak leaves along a wide river of user expectations, business requirements, fashion trends, and platform changes. To keep floating, leaves apps need a watchful team of developers to walk the muddy banks nudging them back toward fast water whenever they beach on rocks or swirl into murmuring whirlpools of chat bots.

Want to be a Better Consultant? Learn to Work Strategically

Atomic Spin

Looking to level up your consulting skills? One thing I’ve observed among our more senior Atoms is a mastery of approaching work strategically. What Do I Mean by Strategy? As consultants, we juggle a lot of different concerns and goals. At a high level, our goals are things like: Deliver quality software. Hit budgets and timelines. Provide a great experience for our clients.

How to Avoid Stakeholder Gridlock on Your Software Project

Atomic Spin

Have you ever been to a meeting that involved a dozen or more people, that constantly went too far into the weeds, that couldn’t come to a consensus, and that left you feeling like nothing was accomplished? It was horrible, right? You probably never want to have that experience again. This kind of frustrating situation can quickly become the theme of a software project when too many stakeholders are involved and nobody has clear decision-making power.

Nine Developer Enablement Practices to Achieve DevOps at Enterprise Scale

In this eBook, Christian Oestreich, a senior software engineering leader with experience at multiple Fortune 500 companies, shares how a metrics-driven mindset can dramatically improve software quality and enable DevOps at enterprise scale.

Starting Strong – 5 Ways to Establish Good Team Dynamics & Norms

Atomic Spin

You just kicked off a project, and it went well! Everyone is happy, hopeful, and on the same page. But how do you keep that momentum and camaraderie going? As a Delivery Lead, here are five things I try to do at the beginning of every project. Run a Team Norms Exercise. This exercise can be used to discuss common scenarios your team might encounter. You might say, “Amy usually leaves at 4:00 p.m. on Wednesday, but she starts 7:30 a.m.”

Why Your Big-Team Software Project Needs a Utility Player

Atomic Spin

Projects with big teams introduce a slew of interesting problems–problems like keeping developers fed with multiple tracks of work, understanding areas with large technical risks, and sharing knowledge. On a recent project, we developed a role to help solve these problems. I call it the utility player. In this post, I’ll define the role, the required skills, and my experience in the role. The Role. The utility player has four primary responsibilities.

Choosing the Right Software Partner, Part 4: The Engagement Management Process

Atomic Spin

A strong engagement management process keeps complex, custom software development projects on track for success. It’s essential that you (the client) are regularly involved in conversations about budget, scope, and key decisions. This is the fourth post in a four-part series aimed at helping you select the best software development partner. The series covers each of the characteristics you should look for in potential partners: Longevity. Great people. Experience. Engagement management process.

Choosing the Right Software Partner, Part 3: Evaluating Experience

Atomic Spin

Experience is the best teacher. When evaluating custom software development partners, it’s important to know if your potential partner has a track record of success with companies like yours and projects of similar complexity. This is the third post in a four-part series aimed at helping you select the best software development partner. The series covers each of the characteristics you should look for in potential partners: Longevity. Great people. Experience. Engagement management process.

The Complete Guide to Distributed Tracing

Distributed tracing is a diagnostic technique that reveals how a set of services coordinate to handle individual user requests. Distributed tracing helps enable loosely coupled work across teams for fast, independent problem-solving.