Tag Archives: Programming

How Not Using Stack Overflow Solves All of My Problems

[OfficeWriter developer and Stack Overflow user, Seth, lets us in on the thought process and psychology behind Stack Overflow, by delving into one way he uses the online community to answer his programming questions. Anything sound familiar? Or relatable? Do you use Stack Overflow in a similar fashion? Let us know in the comments section.]


Stack Overflow is a question and answer site for professional and ardent programmers. It’s a part of the Stack Exchange network of Q&A sites. Their aim is to assemble a resource of quality answers to any and all questions pertaining to programming.

There are a lot of great things about Stack Overflow:

  • It’s free.
  • The point system incentivizes people to help others.
  • The best answers have the highest visibility (usually).
  • There are experts and legendary programmers answering your questions.
  • It’s almost like a sport or competition for those answering questions.

But my favorite thing about StackOverflow is often overlooked: fear.

I can’t tell you how many times I have been so afraid that my question will get downvoted into oblivion that I end up finding the solution while writing it. (I’ll give you a hint: it’s way more than the actual number of questions I’ve posted.)

You see, posting a question on SO is like a code review to the umpteenth power. You’re opening up, not only your code, but your thoughts, explanations, and questions to be scrutinized and judged by anyone in the world. And when you throw tags on your question, you’re basically begging people who know a lot about the subject to come and take their turn.

Also, an increasing number of companies list jobs on careers.stackoverflow, and even more companies have asked me if I have an SO profile…that’s pretty daunting. Companies may be looking at and analyzing my knowledge (or lack thereof) to determine if I’m worthy of their employment!

Not only are prospective employers trolling about there, but the people on SO are my peers. They may end up being co-workers of mine one day. I don’t want them to think I’m an idiot!

And let’s not forget about ego. I worked really hard to get my measly ~2,000 points. It may not seem like much when compared to the Jon Skeet’s of the world, but I answer a lot of questions and get no points, and the questions I ask are usually really domain-specific and never get upvotes. It took me years to get that many points! Because I worked hard for my points, Continue reading How Not Using Stack Overflow Solves All of My Problems

Troubleshooting Tools to Give Thanks to this Thanksgiving


[Once a week I snoop around the office, bothering my coworkers with questions on what they’re reading, listening to, consuming, or any other random inquiries I’d like to subject them to. Sometimes they even respond.]

Debug, de-stress. This week we’re giving thanks to these troubleshooting tools that keep us sane. We chose troubleshooting tools not for the alliteration value (though, that was a happy coincidence), but to find time-saving ways you can stay on top of your coding projects this holiday season. See below as we show our appreciation for developer tools we can’t live without. What other tools do you use to debug and de-stress? Tell us about them in the comments section below.

Chad, Sr. Sales Engineer

Fiddler2 helps make debugging web service calls easy.

Paula, Director of HR

Don’t even need to think about that one – System Restore Manager!

Ozgur, Development

I’d definitely list Fiddler and WireShark as some of the top troubleshooting tools that I am thankful for.

Aviva, VP of Technical Services

I mostly use the debugger in Visual Studio or custom code I write myself. Although it’s not a development tool, Procmon can be helpful, for monitoring activities on the filesystem and registry.

Stephanie, Technical Services

Total Commander is great. The program does a ton of stuff, but I really like its Continue reading Troubleshooting Tools to Give Thanks to this Thanksgiving

5 Ways to Make Programming Less of a Nightmare

Credit: HubSpot

Programming can be scary.  There are plenty of things that can go wrong, from haunting errors to seemingly supernatural result inconsistencies.   To help keep the ghosts in the machine from getting the best of you, here are some tips my co-workers and I have picked up over the years.


 1)  Make a rough draft

Just like writing a paper, programming requires some forethought.  When you’re given a new programming problem it is always tempting to start coding right away, especially if you are in a rush.  However, taking the time to make an outline of your program first will save you lots of headaches later.  Even if it is a seemingly simple problem, think about what methods and helper methods you are going to need, what variables they will take, and how they will interact.  It is generally easier to debug code errors than logic errors, so work out the logic as much as possible before starting to code.

2) Listen to music

Having also tried TV, audio books, and silence, the best way I have found to stay productive while coding is to listen to some upbeat music.  It seems I am not alone in this opinion, as the internet has many playlists labeled specifically for programming. (In fact, we have a few of our own you might like.)  Music drowns out background noise but can easily be tuned out, keeping you focused and helping the time go faster.  So to prepare for your next coding marathon just put on your headphones.  Before you know it you will be halfway through your code and typing in beat to the music.      Continue reading 5 Ways to Make Programming Less of a Nightmare

Agile Development: 5 Lessons Learned

Working in software development can be challenging and tricky without the right plan in place, especially without a plan that caters to your employees’ work styles. Here at SoftArtisans our development team follows the agile dogma and we’ve discovered several lessons along the way. Wondering if agile development is right for your team? See below for 5 things to keep in mind when implementing this work style.

1. You absolutely need backup from higher-ups.

Too often I have seen or heard of departments that were “going agile,” but management was not behind them. No matter how enthusiastic about it the developers were, their plans were ruined every time management expected something to be “like it used to.” Managers who don’t give things time to adjust create developers who don’t give things time to adjust, and then everything is doomed to fail.

2. Retros are vital.

One important thing about agile is that you can change things quickly when you need to. This applies to the direction the software is taking, but it also applies to the processes and mindsets of team members. This is what retrospectives are for. A good team will be able to be honest about what’s working and what isn’t and subsequently make changes for future sprints.
This whole process is much easier when…

3. Retros don’t include higher-ups.

Management usually wants to know what’s going on, and that’s great, but retros are not the place for it. Continue reading Agile Development: 5 Lessons Learned

Dr Dre Or How I Decided to Stop Worrying and Learn the Hardware

Every so many months I look up “X number of things every programmer should know” and do my best to incorporate one of those principles into my coding. There are some standard concepts: modularity, short methods, avoid “spaghetti code, ” understand what your compiler is actually doing, the four years and tens of thousands of dollars you spent on an education is worth nothing. Nothing.

My most recent gem is here. I actually found this article sometime ago and tl;dr-ed it, throwing it into the “Read This” folder. I’m not proud of shelving an article due to its length, nor that I ended the last sentence with a preposition, but that’s just how things went.

In any case, after rediscovering it, two points caught my eye. First, #5: Beauty is in Simplicity. (I’ll save you the trouble of changing tabs.) This section is about writing simple code that‘s also easy to read. Most of my short code is pretty much impossible to understand (kind of like this). Maybe it’s because all my variable names are in Bantu, but still it would be worth learning how to write simple code that another person could understand. New principle identified! That was until I saw #10: Consider the Hardware. According to this, lots of small functions aren’t necessarily the best for machine efficiency. Oh, good. Do I go with small methods for modularity and readability, or giant methods for more efficient execution?

The two aren’t actually exclusive, but they sure seem that way. Continue reading Dr Dre Or How I Decided to Stop Worrying and Learn the Hardware

The Programmer’s Guide to Choosing a Drink

Photo Credit: www.89thandbroke.com

To celebrate the commencement of Oktoberfest  festivities in Munich this weekend (and because it’s always fun to think about alcohol), we’re bringing you a handy-dandy guide to see how your programming languages match up to your favorite drinks. It’s important to be prepared –  If all the programming languages were to suddenly turn into drinks, we should know what sort of world we’d be getting (besides a very drunk one)!

C – Tequila.  It gets the job done quickly, but using it isn’t usually that great of an experience.  Everybody uses it at some point, but not too many stick with it unless there’s no other choice, or they need it to do its thing fast.  And if you don’t use it exactly right, chances are things are going to go horribly wrong.

Ruby – Scotch.  You can use it for years, and still discover strange new undertones you hadn’t noticed before.  And then you add a dash of water and discover everything is changed.  But it’s easy to ruin the magic if you don’t know what you’re doing.

Python – Irish Whiskey.  When first starting, you have two main options – Bushmills or Jameson?  Python 2 or 3?  But once you choose one and go with it, it’s remarkably smooth.  There’s not a huge amount of subtlety, but it’s pretty easy to get into and use.

Java – Vodka.  It’s everywhere.  It can be used in pretty much any situation, and most people are willing to use it when it’s the most convenient thing on hand.  But excluding a group of really dedicated fans, it’s not generally people’s first choice.  It just doesn’t have the same elegance as some of the alternatives.  But it can be mixed with other things pretty easily, for those who can’t stand using it straight.

Continue reading The Programmer’s Guide to Choosing a Drink

Twitter Roundup: Life of a Coder

As I’ve been perusing the Twittosphere, I’ve run across several entertaining tweets about the frustrations of coders everywhere bemoaning relatable #ProgrammingProblems and #CoderProblems.  A few made me chuckle out loud, and I hope they bring the same amusement to you on this Monday morning.  [ To see the story on Storify.com]

This Twitter Roundup brought to you by the frustrations of coders everywhere bemoaning relatable #ProgrammingProblems and #Coderproblems. You’re not alone!