Tag: software development

  • Good Practices for Software Development

    Would you post your password on a wall in your office? Of course not, because other employees, the cleaning crew, even guests walking around your office would be able to access your system with your account. When I read Brian Kelly’s post on passwords in files, that’s what I thought of. Sticking credentials in a file, where they’re subject to any kind of search, is a bad idea.

    However this happens all the time. Combine this with a few other “common practices” like using sa to connect to a database and building dynamic SQL, and you might as well just set blank passwords and invite someone to have fun with your database. It’s sad that we continue to see these types of software development practices in 2014, and especially poor to see them from companies that sell software.

    There is so much information out there on building software that is of higher quality and is much more secure. However all too often I find developers just aren’t implementing these practices. There are probably a myriad of reasons why, and I wish we had more ways to better train people, disseminate the information, and enforce it’s use.

    Ultimately we can only do what we can. However I’d encourage those of you that see poor practices taking place to have a word with the developer (internally), or send a note to the vendor. If it’s more important to make a few more dollars than implement better practices, I’d encourage you to publicly call some attention to the matter. Maybe a little exposure to the dark side of software development will pressure managers to require more secure work over time.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.0MB) podcast or subscribe to the feed at iTunes and LibSyn. feed

    The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

  • Great Companies – Spotify

    I don’t know anyone at Spotify, nor have I worked there. However when I see descriptions and explanations like this one of how they organize and build their culture, it makes me think they’re doing it right.

    Autonomy is important, and it helps motivate people. I need to do more writing here, but for now, check out this video. About 13 minutes long, but interesting.

  • Is Unit Testing Important?

    This editorial was originally published on Nov 10, 2009. It is being re-run as Steve is on vacation.

    I saw a question on the SQLServerCentral ASK site the other day asking about unit testing for T-SQL stored procedures. There weren’t many responses, but they were interesting to me.

    I wondered how many people bothered to test their stored procedures as a unit. It seems that the idea of test driven development, or even of comprehensive testing of SQL code isn’t very mature. If a query runs and appears to return the data we want, do we bother to test for edge or unusual data conditions?

    Or do we even know how to write those kinds of tests?

    Testing your code as it’s being written is a well known way to reduce your technical debt and ensure better code when it’s released. It’s also a way to lower the cost of maintaining your software over its lifetime. However it slows down development as well.

    That’ s not why most people don’t test their code well. The big reason is that it’s B-O-R-I-N-G.

    But does it matter? Is there really an issue? After all most T-SQL queries are built to scale. If the data is correctly assembled into sets with a small set of data, it will work correctly on large sets of data. Maybe not efficiently, but it tends to work. So is unit testing of T-SQL code important?

    My guess is that it is not all that important. At least not as important as performance tuning. If you have extra time to spend on a query, I think most DBAs would prefer to spend it on making the SQL more efficient, not more tested.

    Steve Jones


    The Voice of the DBA Podcasts

    Everyday Jones

    The podcast feeds are available at sqlservercentral.mevio.com. Comments are definitely appreciated and wanted, and you can get feeds from there.

    You can also follow Steve Jones on Twitter:

    Overall RSS Feed: or now on iTunes!

    Today’s podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

    I really appreciate and value feedback on the podcasts. Let us know what you like, don’t like, or even send in ideas for the show. If you’d like to comment, post something here. The boss will be sure to read it.

  • The Worst Code

    This piece was written awhile ago by Jeff Atwood, but I saw a mention about it recently. It’s about software developers hating software. It’s a fun piece, and written a bit tongue-in-cheek, though with a lot of truth in there. Certainly lots of the “bundled software” that come with gadgets is unnecessary and poorly tested. That’s sad, as there is the chance to add value to products if the software is well written, and perhaps, open sourced.

    However the thing that caught my eye was the ending. Mr. Atwood says that if a developer in an interview doesn’t say the worst code they’ve seen lately is their own, then they may not be a competent developer. I hope that part is also a joke, and I suspect it is. Though I also think that it’s a healthy attitude for people to see room for improvement in most of their endeavors.

    No matter what type of task you are performing, and certainly programming is an area many of us focus, complacency is a poor way to approach your work. We know we won’t be perfect, we know we’ll make mistakes, we know there’s room for improvement, and we know we NEED TO GET THE PROJECT DONE. The balance we strike in moving forward should be accomplishing tasks, learning what we did right and wrong, doing more of the former (and less of the latter) in the future, all while taking pride in the work we do well.

    Certainly some people are obsessive and perfectionists. There’s probably another few choice words some of you have for those individuals, but most of us need to balance our desire to build something amazing, with the necessity of completing work. We also need those little wins that come from having our work solve problems, even if we’d build software better the next time. The important thing is that you try to do better the next time.

    Steve Jones

    Listen to the MP3 Audio ( 2.7MB) podcast or subscribe to the feed at iTunes and Mevio . feed

    The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.