Tech Blog Discovery

I happened upon a tech blog this week, and it has a ton of great material for developers and techies alike. I ended up on his site through this infographic:

What Is Programming And What Do Programmers Do? [Infographic]

He does a great job summarizing the life of a programmer in a minute or two worth of reading, so much so that I’m subscribing to his blog. I figured I’d share in case anyone else found value in it.

He also has an entertaining infographic about choosing a programming language. It’s a little biased toward Python, but everyone is entitled to their opinion 🙂 :

Which Programming Language Should I Learn First? [Infographic]

 

Preparation, Presentation, and Passion

I’m a little behind on my posts for the last two weeks, in part because my work was kind enough to fly me and a few coworkers out to a conference. With some time to reflect on the sessions I attended, I learned a few things that I thought might be useful to others.

I’ve been to 5 developer conferences so far, and I’ve witnessed my fair share of exceptional speakers, mediocre sessions, and disaster-level presentations. One talk will have me completely entranced, and then next will knock me out like a bad flu and Nyquil. So what makes one talk better than another? Continue reading “Preparation, Presentation, and Passion”

Acronym Affinity: 100+ Useful Developer Acronyms

Developers thrive on condensing down complex concepts. Entire processes become single applications, responsibilities become classes. It’s practically our job description. So it only makes sense that we would take the broad, abstract ideas, condense them down to a few words, and then further simplify them through abbreviations and acronyms.

In my opinion, making the mental jump from acronym to concept is much more difficult when you don’t know what each letter stand for. So here they are: the most common acronyms I’ve had to learn as a developer.

You don’t have to know them all by heart, but having a general idea what each stands for will help you the next time they spring up in a conversation.

Let me know if I missed any important ones :). Continue reading “Acronym Affinity: 100+ Useful Developer Acronyms”

Pair Programming: Accelerate Your Learning

Tell me and I forget. Teach me and I remember. Involve me and I learn.

– Benjamin Franklin

In a way, being a developer is like being a professional student. We don’t just educated ourselves and then spend the rest of our career’s using that knowledge. The dev world is just to vast and dynamic to sit and stagnate. Instead, we spend our time googling, reading, and prototyping. We test our limits and build new things, because that’s what truly successful developers do.

You don’t hear about that one developer who secluded himself in his cubicle, entrenched himself with narrow-mindedness, and strove for mediocrity. Or if you do hear about him, it’s usually not good. Noteworthy developers are constantly learning and thinking creatively. Great developers can impart their ever-growing knowledge base, as well as their desire for learning, to others. In that sense, great developers are both students and teachers. But how do you transition from a junior developer to a skilled, knowledgeable one? Continue reading “Pair Programming: Accelerate Your Learning”

Testing Your Patience: The Pros and Cons of Test Driven Development

Scene: It’s midnight. We slowly pan over a sparsely filled library. We zoom in on a tense, frazzled Computer Science student. With a practiced hand, he fills his code with print statements and debugs his code for umpteenth time. He steps over and over lines of code, struggling to find the reason why his code silently fails.

He could write some tests, but what’s the point? They’re bound to be as flawed as his understanding of his code, right? Besides, it would take time he doesn’t have to write all those tests. Left to his devices, he struggles for another hour or so before realizing he had an off-by-one error on one of his giant “for” loops.

I’m sure I’m not the only one who’s been in this situation. Rather than deal with the extra work of writing tests, you just decide to wing it. It could save you time, but on the other hand, it could cost you some painful nights of debugging some unfortunately timed bugs. So what exactly are the pros and cons to testing your code? Continue reading “Testing Your Patience: The Pros and Cons of Test Driven Development”

The Default Developer Answer: It Depends

Development is filled with questions. What’s the best approach? What should I name my new object or class? Where is the best source for information? Depending on who you ask, you might end up with some opinionated answers; a few may even verge on fanatical. “C# is the best programming language, hands down.” “Only languages with managed runtimes are worth coding in.” “If we just had X, it would solve all our problems.” Unfortunately, answers usually aren’t so unconditional.

“Life isn’t black and white. It’s a million gray areas, don’t you find?”
― Ridley Scott

Continue reading “The Default Developer Answer: It Depends”

Developing Yourself: Sometimes Code Is Just Code

We’ve all written our fair share of code. Sometimes it’s elegant and well-reasoned, and sometimes it’s convoluted and flawed. No one is perfect. There will always be that moment where you look at code you wrote a year, a month, a day ago and say “What was I thinking?”

So it stands to reason when someone else is reviewing your code, or just happens to stumble upon it one day, they could have the same thought. Maybe they have a different solution in mind. Maybe they see a bug you missed. Maybe they just don’t like the way it reads. For one of a million reasons, they could decide your code is lacking in some way. And, in all likelihood, it is. 

Continue reading “Developing Yourself: Sometimes Code Is Just Code”

Date and Time Management: 4 Tips for Preventing the Future From Catching Up With You

BecomingADev_Time

I know this is a little late, but since we just experienced a leap year I thought now would be a good time to cover my top 4 tips for working with dates and times. Most of these tips come from painful lessons, some of which I learned the hard way, some of which I was fortunate enough to learn second-hand.

In C# and Ruby, there’s are DateTime objects, Javascript has the Date object, and other languages have their own version of date and time implementations. To keep things simple, I’ll use the term DateTime to represent any date and time management class/object that you have access to in the programming language of your choice.

Continue reading “Date and Time Management: 4 Tips for Preventing the Future From Catching Up With You”

Developing Yourself: You Are More Than Just Your Code

There are plenty of amazing developers out there. They turn software development into an art form, designing elegant programmatic masterpieces in a fraction of the time.

Then there’s me.

Don’t get me wrong. I can whip up a new application, design a new web page, or test drive some new functionality in. It might take some time and/or googling, but I can definitely do it, and I’m sure most developers can say the same thing. Those technical skills develop (there goes my allotted pun for the post) with experience and time, hopefully into something at least approaching the level of talent I mentioned before.

But what about all the other skills?  Continue reading “Developing Yourself: You Are More Than Just Your Code”