Code Health: Styles and Conventions

As a software developer we spend much, if not all, of our day in front of our computer screens reading code. Notice I said “reading” code and not “writing” code. This certainly varies from day to day, but in general, I spend much more time reading through our codebase than I do actually making changes.

For me, this stems from a saying my dad used to share with me “Measure twice, and cut once”. To understand how a potential change is going to fit into the existing code base, I have to understand what the existing code does and how it works.

If it’s easier to understand my code, it’s easier to find errors. It’s also then easier, and faster, to fix those errors. Less time fixing bugs leaves more time for adding features to my project and therefore value to the end user. The point I’m trying to make is that having clean, consistent, easy-to-read code can have a significant positive impact on a project.

Read More »

360AnDev Recap

360AnDev '16 badge and swag

Heading to the Mile-High City

I love going to conferences. I think they are a great way to get out of the office, to stay current on trends in related fields, and to meet/interact with peers. Because of these beliefs, I like to attend at least one conference in every year. After attending AnDevCon Boston last year, I had been targeting DroidCon New York as my conference of choice for 2016.

This past spring, however, I came across a new conference (360AnDev) being held this year in Denver. Initially, it caught my eye because Colorado seemed a bit more accessible to me coming from the west coast. After following the conference website and twitter for a while, I was sold on the potential of 360AnDev to be a terrific event.

Nate Ebel on Twitter

Speaker lineup for @360andev is looking good!

Nate Ebel on Twitter

Bought my ticket to @360andev Looks like I'm officially going to be in Denver next month! Can't wait!! #androiddev

“The combination of talented/high-profile speakers, and a schedule packed with interesting talks really sold the event for me”

The combination of talented/high-profile speakers, and a schedule packed with interesting talks really sold the event for me, and I started making my plans to attend. I even convinced some co-workers that this should be the go-to event for the year.

Read More »

My year with Udacity’s Android Nanodegree

Motivations and Starting Out

A little over a year ago, I had never heard of Udacity and had zero experience with MOOCs. I was a relatively new developer, having only completed my graduate work a year prior. I was eager to improve my skills both with the Android platform and as a software engineer in general.

Then, while live-streaming the Google I/O 2015 keynote I saw an announcement about this thing called a Nanodegree program as a means of learning about Android development using a curriculum and courses developed in conjunction with Google. I was immediately intrigued. It seemed like the perfect opportunity to level-up my skill-set, and I registered for a free trial that same week.

Read More »

Remember the Journey

“Finally I remembered what I had found in ultrarunning.  I remembered what I had lost.”

As I was reading last Monday morning, I came across this line from ultramarathoner Scott Jurek’s book Eat & Run.

Throughout the week I reflected on this and on my own experiences training for my first marathon.  I thought of how most of my favorite memories of running were of training runs or recovery sessions where I was able to lose myself in pushing my limits or surprise myself at what I was capable of.

As the week went on I started to realize how these same thoughts were present when looking back at my experiences as a software developer and as a student.

Part of what drew me to software development were the endless possibilities, and the idea that “if you can dream it you can build it”  For me, these ideas are inherently linked with the ideas of continuous education and growth.  This is a core part of who I am, and i think is one of my greatest traits.  I like to think of my education and career as a journey that will never end, but will evolve over time and be filled with new information and technology.  These thoughts keep me engaged at work and motivated outside the office to keep growing.

It’s easy however to lose site of these ideals when presented with deadlines, changing requirements, endless meetings, and the ups and downs of every day life.  Cultivating a new skill is sacrificed for an extra feature this sprint; a more elegant/educational architecture is abandoned to avoid extra code changes; etc.

It's important to remind ourselves why we do what we do... we shouldn't have to sacrifice our happiness for a deadline Click To Tweet

It’s important to remind ourselves why we do what we do, what keeps us excited, and to remember that while time is money, and deadlines are important you shouldn’t have to sacrifice your enjoyment of what you do.

Happier workers are more productive, and tend to avoid burnout better.  They have greater sense of fulfillment, and are more likely to be advocates for a company/team/product.

Therefore, I think it’s crucial that we all try our best to look back, reflect, and to stay enthusiastic, keep a sense of wonder at being a “code ninja” or “keyboard wizard”, and don’t lose sight of the journey.