Wednesday, July 23, 2014

The 2014 GNOME Users And Developers European Conference ("GUADEC") starts this weekend in Strasbourg, France and I'm very excited to be there! This is my first experience at GUADEC. I will be speaking as a keynote, discussing my usability study of GNOME.

I am looking forward to so many of the presentations. Not all of them are strictly about GNOME, but also about free software and technology in general. Just to name a few:

Tuesday, July 22, 2014

I like to use current news items as "coaching moments". The big news in IT: Satya Nadella as Microsoft's new CEO, and his refocus for the company.

Bill Gates and (later) Steve Ballmer were the driving forces behind Microsoft's rise to market dominance since the 1980s. No one can deny that Microsoft successfully leveraged key strengths and opportunities to become the leading platform for business and home.

Part of successful leadership is identifying and developing the next generation of leaders. Except for this press release, there hasn't been demonstrable transition planning with Nadella's role, no visible development of a future leader to take Ballmer's place when he finally exited the company.

But now, as Nadella steps into his new role, what advice would you give him? He faces a daunting task: Google's Chromebooks directly compete with Windows laptops and desktops. Meanwhile, Apple is edging out Microsoft in the more important mobile market. Nadella needs to demonstrate that he can play on that field while remaining the dominant player on desktops and laptops. In short, Nadella needs to demonstrate he has a vision for his new role and for Microsoft's future.

My recommendation to Nadella: communicating through change. In successfully managing a change, steps 1 through 3 are usually "1. communication, 2. communication, 3. communication." The key is to provide a vision for what the change will deliver, and set an expectation for the general steps required to reach that vision. Even if your change is simply a transition of focus, it's still important to communicate openly about goals, so that everyone has an opportunity to participate and knows what will be expected of them.

In an email to Microsoft employees today, CEO Satya Nadella outlined the core of the company’s strategy and vision and focus for the coming years. Nadella underscored his message to the world from earlier this year that Microsoft is a company focused on “ubiquitous computing and ambient intelligence” in a mobile-first, cloud-first world. Today, Nadella took those vague basic concepts a step further.

The message: Microsoft provides computers, software and operating systems so you can get stuff done. That's a great first step! Next, I expect Nadella will sketch out his priorities for the next 6-12 months. We may also see an infusion of new talent. During this very public transition, I'd recommend Nadella remain transparent.

I usually suggest new CEOs (or any leader stepping in to a new role) will have a "honeymoon" period, typically 6 to 12 months, or until the company announces its first product lines delivered under the new leadership. However, the same article ("Satya Nadella Proves That Microsoft Hasn't Changed At All") expresses doubt about Nadella's leadership, suggesting his honeymoon may be over as soon as it began.

Monday, July 21, 2014

Students today are not waiting for higher education to go online; they are already taking online classes before they even enter higher education. In a recent survey from UCLA, incoming freshmen already utilize some form of online learning during their high school education:

About four out of ten (41.8%) incoming students frequently or occasionally used an online instructional website as assigned for a class in the past year. Students were, however, much more likely to utilize these resources independently—almost seven out of ten (69.2%) incoming first-year students have used such sites frequently or occasionally to learn something on their own. (The American Freshman: National Norms Fall 2013)

This should be eye-opening news for higher education institutions who have yet to adopt a significant online learning program. Today's generation of students seek out education, to find what they need to graduate. If an online class will do the job, students are likely to take it.

It's also important to recognize how an institution's online education opportunities will affect these new learners. Higher education is no longer about the "sage on the stage," but about bringing the educational experience to the student. Even a flipped "active learning" classroom is no longer enough in the face of online opportunities.

How is your institution addressing online education? Are you presenting an online program that engages the new mode of online learning, or are you stuck in the past where all your courses are taught in classrooms?

Monday, July 7, 2014

At Morris, we have recently turned our attention to how we can better prepare students for their chosen careers. Our liberal arts mission already trains students to learn how to learn, ready for a lifetime of new learning. This is certainly a key life skill that should prepare any recent graduate for work life.

Along these lines, I found this article from New Relic to be apropos: 10 Secrets You Should Have Learned with Your Software Engineering Degree—But Probably Didn’t. This article directly applies to computer science students, and I think it should be required reading for anyone who wants to get into technology as part of their career. As the article says: "It’s an all too common story: You go to school for years and years and walk out with a freshly printed diploma, snag your first job, and yet get immediately blindsided by unwritten rules and other day-to-day complexities that no one bothered to warn you about. And programming is no exception."

The 10 key skills that the article suggests for computer science students:

Version control systems

How to write

Regular expressions

Using libraries

SQL

Tool usage: IDEs, editors, CLI tools

Debugging

Defensive programming

Teamwork

Working on existing code

As an undergraduate, programming assignments tend to be very simple. And each student has sole programming responsibility for her or his code. So it's perhaps not surprising that students rarely learn how to manage code that changes frequently. But in industry, programmers are expected to contribute to projects. Managing code quickly becomes an important component of good project management.

To give yourself a boost, learn a version control system such as Subversion or GIT. Maybe your future employer will use a different version control system, but once you learn how to use one VCS, you should be able to adapt to any other.

Every programmer eventually hits a problem that can be solved by transforming one bit of text into something else. Or by seeking and isolating a particular snippet from a longer text string. And that's where regular expressions come to the rescue.

An old adage in computer programming is don't re-invent the wheel. It's not necessary to create your own sorting algorithm; there's a sort() library to do that for you. You don't need to invent your own way to parse a command line; use getopt(). Similarly, if someone on your team has coded something to do foo on your enterprise system, don't re-invent that wheel; turn it into a library that other programs can re-use.

But it's not all about writing code. Good programmers need to write documentation about the code. And it's important to do so clearly and concisely. Leverage your liberal arts education to build this important skill.

My undergraduate degree was in physics, not computer science, but I learned all of these skills (minus SQL) through my work in free software. That's why I also encourage students to find an open source software project that is interesting to you, and contribute to it. You'll quickly learn what it takes to be a productive member of a software development team—and you will have fun doing it.

Thursday, July 3, 2014

I wanted to share this important announcement about the UThink Blogs system. I also shared this announcement in March.

For several years, the University Libraries and the Office of Information Technology have provided a blogging system called UThink at blog.lib.umn.edu. This is a free service to anyone within the University of Minnesota system, for you to share your ideas and post items.

The University is planning to retire the UThink system at the end of this year, in December 2014. You will no longer be able to create new blogs on UThink, but the UThink service will still be available until the end of December.

If you have a blog on the UThink Blogs, please consider moving your blog to another service. For example, you can set up a blog using your U of M login on Blogger, which is part of the U of M Google Apps service.

Tuesday, July 1, 2014

It is my pleasure to share this status update of our campus wireless network upgrade. This summer, we have been working with Facilities Management and the Office of Information Technology to expand the wireless network coverage throughout the Humanities & Fine Arts (HFA) building. And as of this week, we have activated the new wireless network in HFA. You should now be able to connect to the wireless network wherever you are in HFA, including faculty offices.

This is part of our efforts to expand the wireless network on campus, based on your feedback about where wireless networking was most needed. In Spring, we completed the wireless upgrade in the Science building. We also plan to improve the wireless network in other much-needed areas, including Gay Hall and the Cube, the RFC, Moccasin Flower Room, Prairie Lounge. This Fall, we will continue the wireless upgrade project in Humanities, Camden, Briggs Library, and other campus areas.

I would like to thank Mike Miller, Robert Thompson, Dave Savela, and our partners in the Office of Information Technology for their work on the wireless upgrade.