Tag: software development

  • Propose this to your boss

    If Nordstrom's can have an innovation lab, can't you?

    I’ve written a few times about the ways in which you could find interesting projects at work and potentially learn a few new skills while improving the ways your company uses technology. More and more companies are willing to allow side projects like the Google 20% time or the Atlassian FedEx days. My own company, Red Gate Software, implements this a few times a year as “Down Tools Week.”

    Many of you have replied that your companies are resistant to this, or your boss doesn’t think it’s a good idea. I have certainly had a few managers that felt that way, but I’ve also had success over time in changing their minds a bit. I’ve been able to get them to give me the chance to pilot ideas in a small way. Sometimes it’s taken years, but I’ve learned to play “long ball” and think about succeeding over time, not getting my way this week.

    One of the ways you can convince someone to give you a chance is to continue to show other examples of success from other companies. Nordstrom’s, not necessarily the place you’d expect to see IT innovation, has a video of how their lab enables them to build better applications. It might be worth saving this link, and even sending it to your boss with a proposal.

    If your boss is supportive, ask for a week to work on a project with another person or two and spec something out in your proposal. If your boss is skeptical, ask for a few half days across a month to work on something and build some basic prototype project. Even if it’s mocked up on paper, you can show the value of how an idea might work. If you get some support from your end users and customers, you might find yourself with a fun project to work on in 2012.

    Steve Jones


    The Voice of the DBA Podcasts

  • Jacks of all trades

    I'm a jack of all trades at the ranch, but not in software.

    Does your envrionment look like the one at Instagram? I’d bet that you ha there are a few of you that have an applicaiton or two that contains as many servers, components, pieces and parts, all held together with the proverbial duct tape and baling twine. I think I’ve had a few environments that were close to this complicated, but in general I try to avoid this type of mish mosh of technologies tools and platforms.

    When I look at the SQLServerCentral architecture, while much smaller, still scales nicely on a single database server (clustered) and a web server. If I needed more performance, I’d hope that I could do something more similar to the setup at StackOverflow, with better development and fewer parts of my architecture than adding the type of complexity that powers Instagram.

    That’s not to say that one environment is better than the other. I know that the staff at Instagram is learning a lot about integrating disparate systems, building new tools that can better manage their environment. As I read through the list, I’m not sure it’s a lot different than some of the environments I’ve worked in. If I listed all the pieces of software I’ve used in some applications, it might be just as complex, though it didn’t feel that way at the time.

    I tend to prefer a simple environment, using as few pieces of software as necessary, but using the pieces that are appropriate for the job. Rather than build a complex XML processor, or fumble with XML in T-SQL, if I could buy a module that handled that function, I’d be happy to do so.

    Working in technology is about choices, making the build/buy decision over and over, on a regular basis, and making the best decisions we can.

    Steve Jones


    The Voice of the DBA Podcasts

  • Going Green in Software Development

    We use a little solar power at the ranch, making us a touch more "green"

    I am very interested in a better use of the electricity we use on this planet. I think energy production from non-fossil fuel sources will be important in the future, and I’m regularly examining the energy usage at my ranch, calculating the cost of wind, solar, and other energy production technologies to see if any of them are a good investment. I believe that our future will both require and consume more electrical energy. That’s fine, but I think that we ought to be looking to be more efficient in how we use energy, which will require an effort to build and use more efficient devices.

    Many authors write articles and speak about techniques that you can use to build more efficient applications. The most popular sessions given by speakers and requested by attendees are those that deal with improving performance. Writing better code, troubleshooting issues, and increasing the efficiency of our systems are under our control seem to be the priorities for most IT workers that I know. Every time we build something a little better, it’s a great win for the author.

    Intel published an interesting article that talks about the impact that writing better code might have on energy usage in applications. Computers use different amounts of energy under different loads. More intensive computations use more power than the idle thread that occupies the CPU during low usage periods. I don’t know how much power I’m using at my house for computing, but I plan on measuring it, especially after reading this post from someone that calculated his power consumption.

    Power is becoming a more of an issue for many data centers. The cost is rising and becoming a significant percentage of the total expense of operation. While data professionals tend to work on server systems, which share the load from many clients and might not have much idle time, there still could be room for improvement. Writing better, more efficient code that requires less reads, less CPU cycles, can end up reducing the cost of operation. Maybe that’s a reason to ask for a little larger training budget and learn how to write better, non-RBAR code (as Jeff Moden would say).

    Whether better code could save a significant amount of electricity is hard to know, but in most cases, it doesn’t take any more time or effort to write more efficient code than poor code: if you know how. You probably have plenty of reasons to learn to write better code, but here’s one more. Writing better code might help you feel a little more green.

    Steve Jones


    The Voice of the DBA Podcasts

  • A Secure Application Model

    I like the AppStore, but would like to be able to choose from other stores besides Apple's.

    Amazon introduced a Cloud Reader for the Kindle, and the Financial Times pulled their iPhone app out of Apple’s store and introduced an HTML5 web application. All of these moves point to the fact that companies are finding Apple’s 30% fees for revenue to be a bit onerous and want to find a way to reduce their costs. That makes sense, and my suspicion is that Apple will ease their terms at some point as companies move to their own web model of building and deploying applications instead of building native iOS apps.

    I don’t think the AppStore model is dying, however. One of the things that I have noticed in the apps between the iPhone and the Android devices at the ranch is that the quality of the iOS apps is higher. It’s rare that I have crashes, there is more consistency between the various interfaces, things work as you expect, and they run well. It’s not that Android apps are horrible, but outside of the large company apps, the quality of any particular app is likely to be lower. That’s expected because there is no gate that prevents someone from building a poor quality app and deploying it in the Android marketplace.

    However there’s another thing I take from this. The most important part of the app is the data or the content. Companies are arguing over who gets how much of the profits from various content delivery methods. Some companies think 30% is too much, some don’t. However, it doesn’t change things for the consumer since many of us will pay the same price, though I suspect we might pay more in an open market. If they could, companies might give away apps for free, but then charge a small amount for the information, which will add up over time to be more than the cost of an app right now.

    One of the things I like about the AppStore is that quality control check. While anyone can submit an app, Apple has been slow, and sometimes inconsistent in how the approve or reject the items. That’s good for quality, bad if you want an app that doesn’t meet Apple’s vague standards. I’d like a more open market, but I also want some quality standards. Windows has been open in that we’ve been able to download applications that anyone has written and install them. Windows has also suffered from the proliferation of malware as well as the poor quality of so many pieces of software that are available for download.

    In my ideal world, we’d have some secure application models, essentially app stores that were run by different companies. Amazon has an Android store, but I wish they had an iOS one as well (and WP7). Microsoft could run a store, but so could any other enterprises that had the resources to vet the software, manage a marketplace, and gain the trust of consumers. I could even see eBay getting into the game, allowing developers to auction off their software after it had received some stamp of approval from the company.

    That’s the direction I hope we are moving in, but I’m not sure if we’ll get there.

    Steve Jones


    The Voice of the DBA Podcasts