Monday, December 25, 2017

Ep 46, Things I Wish I Knew 10 Years Ago: Seniority Doesn't Always Count For Much


Software development is a fast-changing environment.  New tech, platforms, libraries, and frameworks seem to come every week.  How does being a senior developer fit into that?  Is it possible to even be senior in such an environment?  In this episode, I explore the idea as well as recap the "Things I Wish I Knew" series as a whole.


A new episode of A Programmer Refactored has been posted!

Monday, December 18, 2017

Ep 45, Things I Wish I Knew 10 Years Ago, Coding Ability Does Not Determine Career Trajectory


As a young programmer, I figured that my abilities as a developer would be the primary driver of my career trajectory.  As the years have gone on, I've realized that notion was a bit naive.  In this episode, I examine what I've seen drive career progression in this industry.


A new episode of A Programmer Refactored has been posted!

Monday, December 11, 2017

Ep 44, Things I Wish I Knew 10 Years Ago: Job Titles Are Often Meaningless


Up until a few years ago, I held this assumption that job titles carry at least some meaning and weight.  As I've advanced in my career, I've found this to be a dubious assumption at best.  In today's epsiode, we I talk about job titles for programmers and their meaning (or lack of) within the software development industry.


A new episode of A Programmer Refactored has been posted!

Monday, December 4, 2017

Ep 43, Things I Wish I Knew 10 Years Ago: Job Postings Can Be Highly Inaccurate


Programming is unique in that job postings can be...creative with the truth.  This is, unfortunately, something we typically only learn after a few years in the industry.  In this episode, I examine inaccurate job postings.


A new episode of A Programmer Refactored has been posted!

Thursday, November 30, 2017

Ep 42, Things I Wish I Knew 10 Years Ago: Friends and Family Have No Idea What You Do


Being a programmer means that often people outside of other developers will have no idea what you do.  Trying to explain your career to them will often lead to glazed over expressions.  In this episode, I talk about some of the more humorous aspects of this, as well as some of the more serious.


A new episode of A Programmer Refactored has been posted!

Monday, November 20, 2017

Ep 41, Things I Wish I Knew 10 Years Ago: Software Dev Is Often More Hype Driven Than Experience Driven


I like to think that our industry is one such that each generation of programmers builds on the experience of the previous.  In some cases, I think this is true, but more often I feel like we let ourselves get caught in the cycle of hype.  In this episode, I dig into the topic of experience vs hype and which drives the other.


A new episode of A Programmer Refactored has been posted!

Monday, November 13, 2017

Ep 40, Things I Wish I Knew 10 Years Ago: Why Users Use Your Software


We like to think that users use our software because they've evaluated their options and found our software to be the best at enhancing their lives or jobs.  However, in the enterprise or B2B environments, this is rarely the case.  In this episode I explore the real reasons such users are using your software.


A new episode of A Programmer Refactored has been posted!

Monday, November 6, 2017

Ep 39, Things I Wish I Knew 10 Years Ago: Code Quality Is Not A Primary Driver Of Success


We talk about code quality a lot, and for good reason, but where does it fall in the list of things that really contribute to a project's success?  Top 3?  Top 5?  If not there, why is it still so important?  Today's show digs into that topic.


A new episode of A Programmer Refactored has been posted!

Monday, October 30, 2017

Ep 38, On Blaming the Last Programmer


Blaming the last programmer.  We've all done it.  It's practically a time-honored tradition.  I find it both fascinating and annoying.  In this more lighthearted, I talk about blaming the coder before you and some of the insights about it.


A new episode of A Programmer Refactored has been posted!

Monday, October 23, 2017

Ep 37, On What Makes for Bad Rollouts


Last week I talked about rollouts in general.  Today we're going to talk about ways I've seen software rollouts go horribly wrong.


A new episode of A Programmer Refactored has been posted!

Monday, October 16, 2017

Ep 36, On Rollouts and Harsh Realities


Whatever kind of developer you are, for most of us shipping code is our overall objective.  At some point, all the theory about patterns and business rules and the debates about frameworks and tech give way to the realities of getting your code in front of the users.  In this episode, I talk about those realities.


A new episode of A Programmer Refactored has been posted!

Monday, October 2, 2017

Ep 35, On Karma, Meritocracies, and Getting What You Deserve


We like to think that people get what they deserve, that their good or bad karma will catch up to them.  This is true even of logical thinkers like programmers.  We like to think that developers who work hard and ship good software will be rewarded and that good leaders will be promoted into management.  In this episode, I talk about these ideas and whether or not they're realistic.


A new episode of A Programmer Refactored has been posted!

Wednesday, September 27, 2017

Bonus Ep 2, On Professional Expectations and Being Realistic


I expect a lot of myself professionally.  That comes largely from my upbringing and my early 20s, and it sometimes causes me to be really hard on myself.  I also tend to carry those expectations over to others, and that can cause me to struggle when I feel others haven't met those expectations.  In this bonus episode, I talk about those expectations and whether or not they're realistic.


A new episode of A Programmer Refactored has been posted!

Monday, September 25, 2017

Ep 34, On Trendy Programming and Actually Shipping Code


Incorporating trendy new tech into our projects can be a big temptation.  Last week I talked about some of the dangers of doing just that, this week I want to talk about the criteria I think your project should meet if you are going to pull in some of those things.


A new episode of A Programmer Refactored has been posted!

Monday, September 18, 2017

Ep 33, On Fads, Career Burnout, and Standing the Test of Time


Programming, and web dev especially, can be prone to fads.  In some respects, they drive innovation, but from another point of view, I think the constant reinvention stifles our ability to build solutions that can stand the test of time.  In this episode, I dig into the dangers of fads and how I ended up burned out from web dev.


A new episode of A Programmer Refactored has been posted!

Wednesday, September 13, 2017

Bonus Ep 1, Thoughts On Communication, People's Feelings, and Being Diplomatic


I can be a pretty honest and direct guy, and that has gotten me into hot water as a programmer on more than one occasion.  In this episode I talk about my struggles with trying to be more diplomatic and the mixed feelings I have about it.


A new episode of A Programmer Refactored has been posted!

Monday, September 11, 2017

Ep 32, Office Politics Exception Handling: When Relationships Go Wrong


Last week we talked about the importance of building key relationships in the hopes of giving you, your developers, and your project an increased chance of success.  What if those relationships go wrong, or already are?  In this show I go over how to repair those relationships when possible and mitigate them when you can't.


A new episode of A Programmer Refactored has been posted!

Tuesday, September 5, 2017

Ep 31, Hello, World: Beginner's Office Politics for Programmers


"Office politics" brings to mind images of nasty people backstabbing each other to jockey for position at the office.  These days people prefer the phrase "soft skills".  Whatever phrase you use, the truth is that maintaining good relationships with key people can help programmers and their projects really succeed.  In this episode I go over some of those relationships that I think are really helpful for software developers.


A new episode of A Programmer Refactored has been posted!

Monday, August 28, 2017

Ep 30, Various Thoughts On Lead Developers, Office Politics, Ignoring the Past, and Controlling Your Emotions


Guys, I have had a tough couple of weeks and frankly have not been able to nail down a single topic I've wanted to cover.  For today's show I'm going to key off of that and talk about a few things:

  • Programmers who want the prestige of being a lead developer but not the responsibility
  • Should programmers understand office politics?
  • The dangers of ignoring the past
  • The idea of "controlling one's emotions"

A new episode of A Programmer Refactored has been posted!

Monday, August 21, 2017

Ep 29, Don't Be a Resume Driven Developer


"Resume driven development" is a humorous and often derisive term for a certain style of programming and programmer.  It's a tempting trap to fall into, but in this episode I go into my experiences with these types of developers and their projects and why you should avoid the temptation of becoming one.


A new episode of A Programmer Refactored has been posted!

Monday, August 14, 2017

Ep 28, On Being a Junior Developer


Junior developers.  We've all been one, and some of us still are.  In this episode, I talk about some of my experiences as and thoughts on junior developers, which ones make for good hires, and I also try to offer encouragement to any junior devs out there who feel down and out.


A new episode of A Programmer Refactored has been posted!

Monday, August 7, 2017

Ep 27, Can the What and the How really be separated?


In many shops, you often have someone, typically a manager, who's in charge of what and programmers who are in charge of the how.  Is this a natural division of the work we do?  In this episode, I explore why I think the what and how aren't truly separable.


A new episode of A Programmer Refactored has been posted!

Monday, July 31, 2017

Ep 26, The Dangers of Goldplating


We've all heard the term "goldplating" in software development, but what exactly is it?  Who generates it, and why should it be avoided?  In this episode, I dig into both stakeholder and developer driven goldplating, why it's bad, and how to mitigate its effects.


A new episode of A Programmer Refactored has been posted!

Monday, July 24, 2017

Ep 25, When Agile isn't so agile


The Agile revolution was supposed to bring us new abilities to adapt to change in software projects.  In many cases, Agile has delivered on that promise, but in many other cases, it can be just as inflexible as Waterfall.  In this episode, I examine one such scenario and give some advice for programmers who find themselves in it.


A new episode of A Programmer Refactored has been posted!

Monday, July 17, 2017

Ep 24, Are Highly Talented Jerks Worth It?


We've all had to work with difficult programmers, but every once in a while we come across someone who's so onerous that they negatively impact the entire shop.  Unfortunately, sometimes these people are also highly skilled in some key area of your organization.  Are such people worth dealing with their toxic personalities?  In this episode, I answer that question and offer insight from my own experiences with such developers.


A new episode of A Programmer Refactored has been posted!

Monday, July 10, 2017

Ep 23, Why I Hate The Phrase "That's not my code"


Have you ever had to fix a bug in code that you didn't write?  Most programmers have.  A common thing I hear when this happens is for the developer to say, "That's not my code".  In this episode, I talk about how unhelpful that phrase is and why I dislike it so much, as well as offering guidance on what to do if you find yourself consistently fixing someone else's bugs.


A new episode of A Programmer Refactored has been posted!

Monday, July 3, 2017

Ep 22, Take Pride In Your Code But Remain Emotionally Detached


Taking pride in the code we write is really important.  The best programmers treat it like a craft.  But how much pride is too much pride?  What happens when we find ourselves unwilling to admit when we're wrong?  In this episode, we explore these concepts and end with takeaways for dealing with our own emotions and other defensive developers.


A new episode of A Programmer Refactored has been posted!

Monday, June 26, 2017

Ep 21, Should New Development and Maintenance Be Separate Groups?


Some developers get to work on new projects, others of us provide maintenance on existing applications.  Why do organizations separate the work like this?  What are the effects of doing so?  In this episode I dig into why some organizations separate greenfield from brownfield development and offer my perspective on that approach.


A new episode of A Programmer Refactored has been posted!

Monday, June 19, 2017

Ep 20, Write Software For Your Users: A Bold, New Concept


As software developers, our job is to deliver software that is appropriate for our user base so that they may solve some sort of problem.  This is something I think we struggle with as an industry.  In this episode, I dig into the topic of understanding your user base and then offer several takeaways to help you deliver better solutions to them.


A new episode of A Programmer Refactored has been posted!

Monday, June 12, 2017

Ep 19, When is "ship early, ship often" appropriate?


We often encounter the phrase "ship early, ship often".  What does it mean? Where does it fit into software dev and Agile specifically?  In this episode, I examine the phrase and try to dig out some conclusions about when and where "ship early, ship often" really applies.


A new episode of A Programmer Refactored has been posted!

Monday, June 5, 2017

Ep 18, What If Leaving My Job Isn't An Option?


So many tech talking heads will advise someone in a tricky situation to "find a better job", but what if that's not possible?  In this episode, I dig into the options programmers have when they can't or don't want to leave their current jobs.


A new episode of A Programmer Refactored has been posted!

Monday, May 29, 2017

Ep 17, Coding Against Deadlines


The vast majority of software projects have deadlines.  Sometimes these deadlines are realistic, other times they're not.  In this episode, I dig into ways of effectively using what time you have to ship the best code possible, whether that deadline is far away or right around the corner.


A new episode of A Programmer Refactored has been posted!

Monday, May 22, 2017

Ep 16, Understanding Your Organization's Culture


Your organization has a specific culture.  So does the department in which you work.  Even your project team has a specific culture.  Who drives these levels of culture?  How can it be changed, or should it?  In this episode, I dig into the topic and offer thoughts on how to understand, navigate, affect change, and use that culture to enhance your project, career, and overall job satisfaction.


A new episode of A Programmer Refactored has been posted!

Monday, May 15, 2017

Ep 15, Understanding The Technical Vs Business Dynamic


Most software development projects these days divide tasks between the technical people and business people.  Technical people include programmers, QA analysts, data professionals, and the like.  Business people typically refers to project managers, product owners, and business analysts.  For some projects, this dynamic clicks really well, but for others, it can become hostile.  In this episode, I dig into some of the pitfalls of this relationship, how to repair and avoid broken dynamics, and why it's so important to keep this dynamic healthy.


A new episode of A Programmer Refactored has been posted!

Monday, May 8, 2017

Ep 14, Deadlines and Scope Vs Code Cleanup


Hopefully, our projects reach their v1 ship dates.  Those last few months can be exciting and nerve-wracking.  Many times, development teams will want to spend some of that period doing code cleanup, but what if v1 scope hasn't yet been completed?  In the argument of MVP scope vs technical debt, who wins?  I dig into that topic and give some advice on how to defuse the situation and hopefully avoid it altogether in the future.


A new episode of A Programmer Refactored has been posted!

Monday, May 1, 2017

Ep 13, Technical Reasons Projects Fail


Last week we dug into the non-technical reasons that cause projects to fail.  As promised, this week I turn our attention to the various things that developers do that can cause projects to fail.  I also spend a little time talking about the different meanings of failure in this industry.  We finish up with takeaways for developers that will help them avoid this situation.


A new episode of A Programmer Refactored has been posted!

Monday, April 24, 2017

Ep 12, My Project Failed, Do I Suck As A Programmer?


Software projects fail all of the time.  When they do, we as developers can take it very personally.  I think it's important for us to reflect on how we contributed to those failures, but I think it's equally important for us to understand some of the non-technical reasons that projects fail.  In this episode, I explore some of those non-technical circumstances.


A new episode of A Programmer Refactored has been posted!

Monday, April 17, 2017

Ep 11, Generalists Vs Specialists And The Good Enough Solution


Lately, I've been seeing a lot of chatter regarding generalists vs specialists in the field of software development.  It's an interesting and somewhat controversial topic.  In this episode I dig into my take on it, the history behind the question as I've seen it, and my general thoughts and takeaways.


A new episode of A Programmer Refactored has been posted!

Monday, April 10, 2017

Ep 10, Where Did My Career Motivation Go?


From a young age, we're told that the key to a fulfilling career is to find something we're passionate about and figure out how to make money at it.  Our society places a great level of importance on having a satisfying career.  I think this hits programmers harder than many because we truly tend to love what we do.  Are those expectations about our careers realistic?  Should we always be motivated and happy with our jobs?  In this episode, I deep dive into some heavy issues to examine those topics.


A new episode of A Programmer Refactored has been posted!

Monday, April 3, 2017

Ep 9 Why I Fell Out Of Love With Scrum


Is your organization considering adopting Scrum?  Have you yourself wondered what all the buzz is about?  Are you a software developer or product owner that's found yourself struggling with it?  In this episode I dig into my experiences and opinions on Scrum as a flavor of Agile.


A new episode of A Programmer Refactored has been posted!

Monday, March 27, 2017

Ep 8, How I Fell Into The Mistake Of Big Design Up Front


I'm an enterprise developer, and so much of my time is spent pondering architectural issues on these humongous applications that we write.  Lately, though, I've realized that I've fallen into the trap of Big Design Up Front.  In this episode I share my thoughts on a recent personal project where BDUF completely hampered my ability to write any actual code.


A new episode of A Programmer Refactored has been posted!

Monday, March 20, 2017

Ep 7, Refactoring, Why Managers Hate It (And Sometimes So Should You)


Boy, do managers hate refactors.  I've seen managers become livid just at the mention of the word.  Why is that?  Is their anger justified?  In this episode I do a deep dive into refactoring to shed some light on the subject.


A new episode of A Programmer Refactored has been posted!

Monday, March 13, 2017

Ep 6 - Is There A Saner Approach To TDD?


In episode 5, I talked about some of the shortcomings I'd found while working on a purely test driven development project.  In this episode I outline some of the changes our team made for a more approachable TDD that fit better with our culture.  I end the show with some overall thoughts on our process and its benefits and drawbacks.


A new episode of A Programmer Refactored has been posted!

Monday, March 6, 2017

Ep 5, TDD: A Retrospective


Test Driven Development, or TDD.  It's a buzzword we hear thrown around a lot in this industry.  These days it's considered a de facto "best practice".  Is it?  What are its pluses and minuses?  In this episode I shed some light on those questions by diving into my own experiences with it on an enterprise level project.


A new episode of A Programmer Refactored has been posted!

Monday, February 27, 2017

Ep 4, The Sad State of Careers in Software Development


Do job titles matter for software developers?  What's the career progression for a developer that doesn't want to go into management, anyway?  In this show I attempt to answer those questions while also giving some commentary on what I think is a sad state of affairs for software developer careers.  I end the show with some thoughts on what I'd like to see going forward!


A new episode of A Programmer Refactored has been posted!

Monday, February 20, 2017

Ep 3, Is Software Development A Meritocracy


We like to think that we're rewarded based on our abilities.  I think this is especially true in STEM fields where we solve very complex, technical problems every day.  I think many people regardless of field expect to be rewarded based on their ability and proficiency.  Is that the case?  Do we work in a meritocracy?  This show digs into that question, tries to answer it, and finishes with some advice to help you navigate through the realities in our field.


A new episode of A Programmer Refactored has been posted!

Monday, February 13, 2017

The Users Don't Care What The Code Looks Like...Do They?


I've heard many times throughout my career that "the user doesn't care what the code looks like, as long as it works".  I've most often heard this phrase when a manager or some other stakeholder wanted me to release code before I thought it was ready.  Today I'd like to examine that phrase and see if there's any truth to it.


A new episode of A Programmer Refactored has been posted!

Thursday, February 9, 2017

Two more ways to follow the podcast!

Stitcher:  http://www.stitcher.com/s?fid=130365&refid=stpr
YouTube: https://www.youtube.com/channel/UCDyMM5PWkkI_7hgXwfZIgRQ

I'm trying to add a lot of different ways for folks to listen and subscribe if they like.  Let me know of any I might be missing!

Wednesday, February 8, 2017

Monday, February 6, 2017

Hey, programmers, welcome to A Programmer Refactored.  The blog and podcast cover all manner of topics related to programmers, software developers, data developers, and other IT folks.  Topics range from high-level career observations to more concrete technical discussions.  The aim is for us to cover those things we wish someone would have pointed out to us years ago!  

This blog will accompany the podcasts that I publish.  Each episode of the show will have its show notes posted here, too.

Ep 1 Technical Debt: A Useful Metaphor For A Terrible Practice


We've all heard the term "technical debt".  What exactly is it?  How does it affect our projects?  Can it be avoided?  In this episode of A Programmer Refactored, I take a look at the phrase, dissect it a bit, then ultimately try to determine if its of any real use.


A new episode of A Programmer Refactored has been posted!