I’ve been thinking about writing a post about Windows 8 for quite some time, but I decided to let the much-anticipated tide of mockery and schadenfreude wash over the technology landscape first.

Windows 8 LogoSure enough, Windows 8 has been lambasted in the technology press, mainstream press, analyst community, stock market, and elsewhere.

Although I think it’s a red herring, who would have predicted the backlash over people losing their Start button? The reaction is symptomatic of a release that simply pushes users too far beyond their comfort zone without offering enough reward in usability terms. Everywhere you look, cutting analysis explores all the ways that Microsoft’s latest “bet-the-farm” gamble on Windows 8 has failed.

Some argue that software developers, in particular, are bitterly disappointed with the direction taken by Windows 8 — their reluctance to ditch all their “hard-won .NET, Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF) expertise to work natively on Windows 8″ is well documented in this scathing ZDNet article titled Five reasons why Windows 8 has failed.

At InnerWorkings, we too have noticed a much slower adoption of Windows 8 developer training than would be expected for such a massive shift in the software development landscape. But it’s fair to say that all major shifts are slow to work their way through the enterprise software food chain, and we’ve seen this technology adoption movie many times before.

Nobody needs to be reminded of the Windows Vista debacle, swiftly followed by the much more impressive Windows 7 OS. In fact, therein lies one of the main problems for Windows 8 (aside from the serious design over usability flaws exposed by Jacob Nielsen) — Windows 7 is such a robust and powerful desktop operating system and many users simply don’t see the need to switch yet.

Windows 8 also represents an extremely ambitious attempt to break free from the past and move all users, kicking and screaming, into a touch-enabled environment across multiple devices. I’ve heard many people comment that Windows 8 works well in smaller devices like smart phones and tablets, but its sparse tile-driven UI induces usability headaches in desktop environments and larger screens.

So how does Microsoft deal with some of these harsh realities surrounding Windows 8? Let us not forget that this company doesn’t give up without a fight, particularly when the future of its market share and influence is at stake. If we’ve learned anything from Microsoft in the past 2 decades, it’s that the company is adept at recovering from limp product launches and early adoption bombs to build a more credible presence in the market. I expect no less from Microsoft on this occasion.

So the emerging question now is how will Microsoft recover from the damage inflicted upon business users, software developers, and consumers by the first release of Windows 8? The drumbeat has already started for Windows Blue, a substantial update that will address many of the pain points associated with Windows 8. Many people feel that Microsoft cannot turn back, while others say the company must retreat and regroup.

It’s tempting to spend a lot of energy wondering what Microsoft was thinking when building Windows 8 and there is no shortage of theories. Did they really want to kill the desktop? Did they overlook the learning curve, as indicated recently by Tammy Reller, head of marketing and finance for the Windows business. Journalists are tripping over themselves to decide which Steve is to blame for the current situation, Ballmer or Sinofsky.

It seems likely that Windows 8 will be acknowledged as a bitter disappointment for Microsoft, notwithstanding the news that over 100 million Windows 8 licenses have been sold since launch. Given Microsoft’s enormous ecosystem of partners and resellers, those numbers don’t surprise me although they do point to some contradictions between the public reception of Windows 8 and its actual reach as a new operating system.

The expectation is that a public preview of Windows Blue will be available by late June 2013, so we can expect some significant roll-backs on particularly annoying features and areas where the envelope was pushed too hard or in the wrong direction. As Mary Jo Foley points out in this excellent article titled With Windows Blue, Microsoft may (finally) do the right thing, listening to your customers is not a sign of weakness.

My intuition tells me that Windows Blue will go a long way towards addressing the ill will that Windows 8 has created in the marketplace, and Microsoft will use its massive reach and global install base of 1.4B users to perform another “Houdini act”. To kill an education metaphor, Windows 8 presents Microsoft with hard lessons but I have little doubt that they are being learned.

What are you doing on April 27th, 2013? If you’re a professional developer, you should consider clearing your calendar on that date because you won’t want to miss the upcoming Global Windows Azure Bootcamp.

Global Azure Bootcamp - April 27, 2013

Too many events throw around the term “global” to make them seem, well, bigger. But this event will span the continents and you can check out the list of global locations — including my own hometown in Dublin, Ireland — to see if there is an Azure bootcamp scheduled in your neck of the woods.

Each bootcamp is a one-day class to get you up to speed on building applications for Windows Azure. It’s not exactly for beginners, but don’t let that hold you back — the event is free and it’s being organized at the local level by some of the top Azure experts available. Why not run a quick check to make sure that you can meet the event prerequisites?

Before signing off, I would be remiss not to mention the growing list of friendly bootcamp sponsors — look closely and you’ll see that InnerWorkings is supporting Azure developers around the globe with free access to our hands-on, practice-based Azure training.

innerworkingslogo_bw

You can test your Azure coding skills against our rules-based code judging engine, fully integrated with Visual Studio. You’ll learn to code Azure web sites, virtual machines, cloud services, storage service, caching, Windows 8 apps, and more. Even better, you won’t pay a penny for this training and it’s valid for 90 days.

There is no shame in showing up to the event fully prepared! If you’re the type to get up early and put your towel on the sun lounger by the pool, why not jump onto our website and register now for your free Azure training from InnerWorkings. Enjoy!

Many professional developers have been waiting on the sidelines wondering when to jump into Windows 8. At InnerWorkings, we think now is the right time to seriously consider upgrading your coding skills to include Win8.Windows 8 Technologies

To that end, we’ve released a full suite of hands-on developer training for Windows 8 using our practice-based methodology of coding exercises that integrate directly with Visual Studio 2012.

In addition, our coding challenges are bundled with several top-notch ebooks, including the excellent Wrox title Beginning Windows 8 Application Development.

Check out our .NET training catalog to see these latest releases for .NET developers looking to gain Windows 8 coding skills. Regardless of whether you want to build your Win8 apps in C# and XAML or JavaScript and HTML5, we’ve got you covered:

To complete our Windows 8 training, you’ll need the Windows 8 Runtime and Visual Studio 2012.

Have you ever worked in a development team that didn’t have access to the proper equipment such as dual screen setups, high resolution monitors, or comfortable chairs? What about shoddy internet access, noisy customer-facing employees, or bad incentive programs?

Developer WorkingIf you believe that poor working conditions can have a substantial impact on developer performance, check out this post titled What Programmers Want. The author, Kevin, recommends everything from the trivial (action figures) to the essential (code reviews) in making a developer-friendly work environment.

Kevin’s post contains a well-reasoned list of 17 things that are truly important to professional developers, and outlines his decision to leave a position that failed to provide adequate monitors for developers.

Similarly, Michael O. Church has written very thoughtful post on What Programmers Want, including flow, feedback and career development. Clearly, Michael sees the payoff in retaining top programming talent as well worth the effort in making the work environment as developer-friendly as possible.

I’m not aware of any research data that correlates good working conditions with developer productivity, but Joel Spolsky does have an excellent old post titled Hitting the High Notes that talks about creating a company where developers really want to work and all the benefits that can bring. Let’s face it, that’s not such a bad starting point for success.

Where do you stand on what programmers really want? Comments welcome.

Windows 8 TechnologiesSan Francisco, CA — February 20, 2013 – InnerWorkings today announced the Beginning Windows ® 8 Application Development Coding Skills Kit (Wiley, 978-1-1186-1991-9, February 2013, US $189.99), a new book-and-training software kit for developing Windows 8 applications.

Created by InnerWorkings and Wrox, an imprint of Wiley, this powerful new training product integrates with Visual Studio 2012 to provide programmers with an effective hands-on learning environment for developing Windows 8 applications.

The practice-based coding challenges, powered by InnerWorkings, indicate which chapters in the Wrox book complement each lesson. As programmers write code in Visual Studio 2012 to solve each challenge, the InnerWorkings patented code-judging engine evaluates the code submitted and provides a score with real-time feedback on each code solution.

The Beginning Windows ® 8 Application Development Coding Skills Kit offers developers:

  • A Wrox book on beginning Windows 8 application development (840 pages)
  • In-depth and step-by-step tutorials for building outstanding Windows 8 applications
  • Practice-based coding challenges with real-time feedback on code solutions
  • The InnerWorkings coding sandbox that runs in Visual Studio
  • Access to expert Personal Tutors for guidance and support
  • Personal certificates of coding achievement in Windows 8 application development

Using this complete coding skills kit, developers will learn how to build stunning Windows 8 apps from start to finish. The Beginning Windows ® 8 Application Development Coding Skills Kit is now available for purchase online and at retailers nationwide. For a list of retailers or more information about the product, visit http://www.wrox.com/WileyCDA/WroxTitle/Beginning-Windows-8-Application-Development-Skills-Challenge-Set-includes-Book-and-Wrox-Skills-Challenge-powered-by-Innerworkings.productCd-1118619919.html?cid=0214NewTitle1.

About InnerWorkings

InnerWorkings offers a truly “hands-on” learning environment that gives software developers real experience writing code and building applications on new technologies like Windows 8, HTML5, and JavaScript. Our rules-based code judging engine scores each code solution and delivers corrective feedback inside Visual Studio. Expert mentoring and technical guidance is available through our dedicated Personal Tutor service. The InnerWorkings learning platform has delivered validated coding skills to over 200,000 developers and many Fortune 500 corporations worldwide. For more information, visit www.innerworkings.com.

About Wrox

Written by actual programmers, Wrox books offer the benefits of real-world experience and road-tested examples that really work. From “Beginning” books that provide a working knowledge of the subject through hands-on lessons that make learning easier than you think to “Professional” and “Expert” books that are loaded with practical, focused information from experts to help developers meet every-day needs and deliver successful projects, Wrox has the resources required at every level. Backed by a global community of developers through the Wrox p2p Forums, programmers gain suggestions and support from authors and fellow programmers. Through innovative and practical resources, Wrox helps programmers get the job done and then do the job better. For more information, visit www.wrox.com. Wrox is an imprint of Wiley.

“It is not that I’m so smart. But I stay with the questions much longer.” — Albert Einstein

istock_brain_xsmall.jpgHave your developers got smarts?
Professional software developers make a living solving problems with code. Do your developers have the training and discipline to stick with tough problems and see them through to resolution?

Learning by solving problems
We’re quietly confident that you will like our hands-on approach to learning, where developers solve real coding problems in Visual Studio. To prove it, we’re offering 3 free licenses to your software team with no strings attached.

Want to get 3 free licenses?
Contact us
if you’d like to claim three complimentary developer training licenses for your .NET team from InnerWorkings. This offer will expire on February 28, 2013.

Windows 8 LogoWindows 8 is here at last. Microsoft has launched its latest and most radical version of the operating system to an interesting mix of reviews.

It is clear that the battle between Microsoft, Apple, and Google will intensify but, even if you plan to stay completely within the Microsoft ecosystem, your world is about to change. Love it or hate it, you’ll find it very difficult to ignore Windows 8.

Two aspects of Windows 8 jump out at me — the recognition that most screens in the future will be touch-enabled and the importance of connectivity between devices in the cloud. A whole generation who has grown up using touch on smartphones and tablet devices rather than the traditional mouse and keyboard is about to enter the workforce. Economic, social, and technology trends are accelerating the move to these devices. Tablets are projected to outsell laptops in 2013. Smartphones already do.

The proliferation of devices is also changing user behaviors and expectations. Users assume that tasks do not need to be repeated on multiple devices. Make a calendar entry on your phone and it should appear on your laptop and tablet. Edit a file on your tablet and you expect it to update instantly on your PC. And everything has to look so clean and refined now — those old clunky UIs are definitely out!

For software developers, Windows 8 means learning new programming techniques to develop applications that will run on a PC and a range of devices with varying screen sizes and UI requirements. Accuracy of design and attention to detail at the pixel level will be required. It also means a big rethink on how data needs to be mapped, synced, and shared. In summary, developers have a lot to learn about Windows 8 in a short space of time.

Windows 8 TechnologiesIn that context, I am delighted to announce our Windows 8 learning program to give your software team hands-on experience with the new technologies and methodologies. Our learning program has been designed around real-world coding exercises that help your developers gain practical skills in Windows 8 application development.

It covers diverse topics from creating your very first Windows Store app to managing data in a cloud environment using network and background transfers. There is an emphasis on user experience elements and supporting touch devices using UI surfaces and notifications, and so much more.

I encourage you to try our new Windows 8 learning program and let us know what you think. We really appreciate your insight and look forward to your feedback on this exciting release.

Software developers are paid to make intelligent and informed decisions about a multitude of subjects, including software tools, application architecture, security layers, and performance. As a professional developer, your day job is to specialize in solving problems.

CodeHowever, sometimes developers are required to make a more fundamental decision, as Adron Hall points out in his Mashable article titled How to Pick the Right Programming Language.

Like many endeavors, there is an abundance of choices when selecting a programming language.

In many cases, the choice is determined by your employer’s existing code base, developer skill set, and many deeply entrenched legacy factors.

But there are times, at the start of your career or during a substantial technology migration, when developers get to choose their own programming language and live with the benefits and/or limitations of that decision.

When you get beyond the shouting matches between Microsoft, Oracle, and others, it’s clear that certain industries are predisposed towards the strengths of particular languages — hence the predominance of Java and C# in the Financial Sector, or Ruby and PHP in the Lean Startup movement.

In contrast, you’ll find a predominance of scripting languages in the creative sectors like advertising, design, and media. As Hall points out in How to Pick the Right Programming Language, these are languages the “prototype fast” and “contain minimal lines of code for maximum amount of functionality”.

It’s been said that moving from Java to C# (or vice versa) is not a difficult transition due to the shared C++ object-oriented heritage of both languages. Certainly you will need to learn a new framework and syntax, but the underlying language structures are not so different.

The transition from Visual Basic to Java/C# is considered much harder because you’re moving from a language with BASIC heritage over to a fully object-oriented language — perhaps this is one of the reasons why you see fewer developers making that transition.

What about the rise of scripting languages like JavaScript, TypeScript, or Python? Many software developers consider mastery of these languages to be increasingly important these days.

It’s interesting that some languages like Perl started out life as scripting languages, but gradually evolved into general purpose languages with broad use and adoption.

The topic of selecting a programming language often kicks off a passionate discussion about the pros and cons of specific languages. But looking at the broader picture, rather than your own advocacy for a particular language, sometimes the decision is not straightforward.

Do you think about your software team’s choice of programming language in light of your company’s primary industry? If you were given a blank canvas by your software organization to choose a programming language for future projects, what would you choose?

We’ve all worked with good programmers, but what qualities differentiate a truly great programmer?

Andrew Binstock has written a terrific article titled What Makes Great Programmers Different? Rather than dwell on the traits of dim, reckless, or obnoxious developers, Andrew explores the qualities of both good and great programmers.

I particularly like his perspective on the limitations of “good programmers” who “refine their skills principally by continued application, not by learning new technologies”.

In marked contrast, great programmers share a real hunger to learn, a deep-seated passion for programming, and a strong memory (among other qualities).

Do you agree? What would you add to the list of attributes for great programmers?

Toxic SymbolWhat are the top 10 challenges facing a modern software organization? It’s a question we ask ourselves often at InnerWorkings — if application development has been around for so many decades, and achieved such great heights — why is it still considered a largely unpredictable and often flawed activity?

Why do applications fail so regularly — sometimes in spectacular fashion, but mostly with humdrum, run-of-the-mill functional errors?

Anthony Finkelstein has written a brilliant post titled the Top 10 Software Engineering Challenges which seeks to highlight the “big agenda” problems in software development.

Anthony’s article includes a list of topics that will concern most software industry executives, including some of the following issues:

  • Relating Requirements and Architectures
  • Moving to”Evidence-based” Practice
  • Engineering Scalability
  • Confident Estimation
  • Developing “Adaptive” Systems
  • Rethinking Software Production

At InnerWorkings, we hear these common threads time and again in our conversations with customers about improving the predictability and quality of software output. Check out Anthony’s article on software challenges, it’s a great read.

Next Page »