How Do Containers Work

Containers are a “lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.” - Docker How do they work under the hood? Liz Rice show us how:

Refactoring

Sandi Metz has an incredible talk “All the Little Things” about refactoring from RailsConf 2014. The language may be rails but it applies to every OOP language.

Practical UX Advice

After UX training a few weeks ago my friend David pointed me to this video. It has been great for giving some guidelines for making a UI more aesthetically pleasing. Design for Non-Designers - Tracy Osborn - btconfDUS2018 from beyond tellerrand on Vimeo.

UX Training

I had the opportunity to attend User Experience (UX) training the last couple days and it really gave me a lot to think about as a developer. UX is more than which User Interface (UI) element you want to use. It is the practise of putting yourself into the shoes of your user and understanding where they are coming from and what emotions they are feeling. It was a fast paced class and I want to record my notes here not only for my future use but hopefully someone else will find it useful too.

Architecture Decisions

Deciding on the architecture of a system can be a difficult. This is not going to be an exhaustive look at everything you need to consider when choosing an architecture but these questions can help guide you to an appropriate choice. How many people will be developing? If a project has many developers you need to define boundary lines in your application. What is a boundary line it could as complex as a service in isolation that the rest of the system calls to as simple as a line on your diagram where relationships only go one direction.

Goals Or Fears

I recently wrote about Goals Or Practice where practice is a much better strategy than goals. Tim Ferriss has a fantastic TED Talk about how it is better to define your fears instead of your goals. Defining your fears can help you know what you should practice and what is outside of your control.

Goals Or Practice

I attended the Scenic City Summit and it was incredible as usual. I loved the closing talk “The Practice of Being Goalless” by Reid Evens. He discussed goal setting and why that is generally a bad idea. The studies often cited as showing people who set goal greatly out perform their non-goal setting counterparts have been outright fabricated. He showed the issues of SMART goals and how it ends in a let down.

Jeff Bezos' Work Life Circle

Business Insider shared how Jeff Bezos views work-life balance. He views it more as a circle. I get asked about work-life balance all the time. And my view is, that’s a debilitating phrase because it implies there’s a strict trade-off. … It actually is a circle. It’s not a balance This is an interesting view of work. Having it be part of your life and not a hard line.

What Is Important?

Do you plan to work until you die? Dying at your desk is not a retirement plan looks at the decisions you are making today that will shape how your life in the future. The younger you are when you start saving will dramatically improve the quality of your later life. Start saving and continually add to it will quickly compound over time into a nest egg. If you start young enough you can consider options like early retirement or pursuing a dream like living on a beach.

Aging Success

In the tech field their is a belief that it is a young persons game. This belief is also present in many other fields but how true is it? I know it is common to read about how once you are a software developer in your 30’s you are already on your way out the door. Yet the places I work is full of people in their 40s, 50s, and higher.

Further Learning

I saw on Reddit a list of websites for learning a diverse range of topics. Just wanted to share. Check these out when you want to do further learning.

Git Common Tasks

Git like all source control systems supports many different ways to do workflow. I like the branching system that Microsoft’s VSTS team uses. If you find your current workflow painful, particularly around merging, I recommend taking a look at it. TLDR: Each topic / hotfix (feature) branches off the master branch and merges when back to master when ready. When a release is desired, branch off master and name it the release name.

Keys Left

I was talking with my friend David Blackburn when he mentioned KeysLeft.com. Let the weight of the tagline wash over you: You have a finite number of keystrokes left in your hands before you die. Think of all the things you have wanted to write in your life? Writing a book? Developing that killer app? Writing letters to loved ones? Instead what do I spend most of my time writing?

Code Reviews

Code Reviews are an important part of development. I am a fan of having as many people as works involved because it is a great way for techniques and information to spread between developers. Remember that learning and improving together is the main goal of Code Reviews and it is not to show off how much more you know or to make someone else feel inferior. Listen to the coder and understand their reasoning.

Making a Static Blog With Hugo

When I started this blog, I was not prepared for the number of options for how and where to host it. After consider many different platforms I decided to go with a static site generator. Hugo own tag line sums up what it does very well: “Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.