Vem är Johan Lindfors

Jag jobbar som teknisk chef på Microsoft i Sverige och ansvarar för vår tekniska evangelisering mot utvecklare. I den här bloggen har jag för avsikt att skriva om utveckling i allmänhet och på Microsofts plattform i synnerhet.

Är du intresserad av en XNA användargrupp?



Visa resultat!

Get Microsoft Silverlight

Några erfarenheter rikare efter ÖreDev

Har den senaste veckan varit på ÖreDev konferensen i Malmö och presenterat, demonstrerat, representerat, lyssnat och diskuterat. Några starka upplevelser var naturligtvis mötet med Trygve Reenskaug som är skaparen av MVC-mönstret, frukost med Joe Armstrong, mest känd för att ha skapat Erlang, samt diskussioner med representanter från exempelvis Adobe, Google och IBM. Konferensens tema “sharing knowledge” har verkligen anammats av alla deltagare och därför vågar jag nog påstå att vi alla lämnade Malmö ett par erfarenheter rikare än när vi kom och förhoppningsvis motiverade att ändra dåliga beteenden och fortsätta fokusera på det som vi gör bra.

Scott Hanselman gav en mycket uppskattad presentation om hur han personligen hanterar den enorma mängd av information som kontinuerligt flödar över internet. Jag inspirerades av hans attityd och användning av både digitala och analoga medier (som exempelvis en liten anteckningsbok och penna som alltid är med i bakfickan) för att kunna fokusera på det som är viktigt och förkasta det som är irrelevant. Bland annat föreslog Scott att vi inte ska läsa epost förräns tidigast på lunchen, det i sin tur kan innebära att hela morgonen spenderas på att utföra de uppgifter som redan är planerade och inte störas av nya projekt. Min egen reflektion blir att jag inte vill bli ihågkommen som den som var snabbast på att svara på e-post utan istället för den som alltid levererade resultat och motsvarade förväntningar när jag tagit på mig något. Ändå så har jag (tills nu) betraktat e-post som det primära kommunikationsmedlet och nästan alltid varit tillgänglig, kvällar, helger, semestrar osv. Dags för en förändring!

Lyssnade också på ZeFrank som för mig personligen mest är känd som den oerhört roliga personen på filmerna “How to dance properly” som publicerades på Internet för decennier sedan känns det som. ZeFrank presenterade sina egna projekt och vilka som betytt mest för honom och det som jag kände var en enorm respekt för en person som genomför sina projekt och följer dem till slutet. Själv har jag oerhört många uppstartade idéer och projekt, men betydligt färre som är klara för publicering. ZeFrank använder internet och dess förmågor för olika experiment, ofta med fokus på sociala medier som twitter och bloggar, men primärt med målet att få människor att dela med sig av sina erfarenheter.

Jag hade också mycket intressanta diskussioner med Karsten Januszewski från Microsoft om design och utveckling och efter att ha haft liknande dialoger med representanter från Adobe så slår det mig att vi alla behöver ha en öppen attityd till förändringar, föga förvånande kanske, men ändå värt att tänka på. Istället för att kräva att andra ska ändra sina beteenden så kanske jag själv kan ha ett öppet sinne och prova nya sätt att jobba på, oavsett om jag är utvecklare, designer eller projektledare. På det sättet kan jag också skapa mig en egen uppfattning om vad som fungerar för mig och mitt företag istället för att blint säga nej och köra på i gamla vanor.

Som sagt, ÖreDev har gett mig flera nya perspektiv och startat en hel del nya idéer och tankar som säkert kommer att ta lite tid att konkretisera och realisera, men jag känner mig motiverad och laddad!

Vad tyckte du som var där?

Postades 10. november 2009 13:48 av Johan Lindfors
Taggar:

Hur blogga och twittra?

När jag skriver mina blogginlägg och agerar på sociala medier så försöker jag kontinuerligt att följa den här enkla principen, vilket också råkar vara vår (Microsoft AB’s) interna princip för sociala medier:

Var transparent och relevant, använd sunt förnuft och visa respekt.

Var transparent
Jag försöker aldrig dölja vem jag är, vart jag jobbar eller vad som intresserar mig. Det här gäller både bloggning, twitter, kommentarer på andras bloggar och profiler i olika communities som jag är med i. Samtidigt så behöver jag bli bättre på att balansera privatliv och arbetsliv, något som ofta blir en dialog med kamrater och kollegor om mitt gitarrspelande och plötsliga löpintresse verkligen är något som ska exponeras genom mina vanliga kanaler, eller bör jag separera dem?

Var relevant
I min roll som utvecklar-evangelist är jag inte bäst på något, men ganska bra på mycket (ödmjukhet till exempel). Det gör också att jag inte försöker att exponera mig som någon expert i ämnen som jag inte har kompetens i, och naturligtvis försöker jag skriva om sådant jag kan. Det är på det sättet som jag trovärdigt kan tillföra värde för en läsare. Det är också därför som jag försöker att bara skriva något när jag känner att jag har något att tillföra antingen i form av en åsikt, eller tips och tricks för tekniker.

Använd sunt förnuft
Det som jag skriver, twittrar och upplyser andra om är naturligtvis publik information som inte innehåller affärshemligheter eller känsliga uppgifter. Det innebär också att jag försöker att inte kommentera om rykten, gissningar och direkta frågor som direkt skulle exponera sådan information.

Visa respekt
Jag uppskattar när andra visar sitt engagemang och entusiasm för det som jag jobbar med och skriver om, därför försöker jag också lyfta fram andras synpunkter och rekommendationer i olika former genom min kommunikation. Samtidigt gäller det att inte hänga ut någon som inte valt det själv, det finns inget utrymme för personangrepp eller påhåpp i min blogg, inte mot mig eller någon annan!

Det här är mina och våra riktlinjer, påminn mig gärna om jag inte verkar följa dem.

Vilka har du?

Postades 24. oktober 2009 11:22 av Johan Lindfors
Taggar:

Duoblog: Everybody wants choices, but nobody wants to make a choice

In today's fast growing software industry it’s evident that more technologies are being developed than developers are actually able to understand and leverage. Still we are constantly asking for multiple choices and competitive alternatives to drive the innovation. But when it comes to actually investing in a technology or product, we want as few options as possible.

This post is a personal observation which has emerged after some years of trying to guide Swedish developers and companies in the right direction on the Microsoft platform. It’s also part of a duoblog initiative which was introduced to me by Chris Hedgate in June. I’ve asked Patrik Löwendahl to duoblog this title with me since I’m both very interested in his opinions in the matter but also since I respect his competence and guidance when it comes to make choices on the Microsoft stack of technologies. Please read Patrik’s take on “Everyboday wants choices, but nobody wants to make a choice” on his blog!

Is Microsoft to blame on software complexity?
When I listened to the interesting podcast “Panel: Is Software Development Too Complex” which was recorded by the DotNetRocks-crew live at DevLink in Nashville Tennessee, I was a bit surprised by some of the opinions from the audience. Someone actually considered Microsoft to be the source of creating complexity since we recommend a n-tier architecture pattern and constantly making starter-kits and demonstrations way too complex. I found this to be very interesting since I usually get comments the other way around, making demonstrations way to simple, not being realistic and “real-world-usable”. I do however understand the need for both real-world recommendations as well as “do-it-yourself”-demonstrations to get people started, unfortunately we also have limited time, and unfortunately no more than 26 hours each day (yep that’s a benefit you get when signing up for Microsoft, 2 more hours for work each day :) ). But doing demonstrations is one thing, creating technologies and frameworks is another, and I personally believe that we (Microsoft) are absolutely working in the right direction in opening up our development process for external viewers, both in source code and in publishing betas and CTP’s (Community Technology Previews) more often than earlier. All to make it available and possible for the community to comment upon and help us write better software that in the long run helps you create great products.

There’s no silverbullet
Microsoft will keep innovating in the .NET Framework and creating new frameworks and foundations on top of the Common Language Runtime, have no fear! This also means that in the future, some of today's technologies will be replaced by something new. How companies adopt these news will be impacted by how quickly developers and architects can get up to speed on the differences, strengths and weaknesses each innovation brings.

Make your choice based on competence, not ignorance 
I totally understand that developing software is a time critical process and that investigating new technologies competes with the usual activities such as designing, coding and testing, but what if we actually considered “find new technologies or ways” as an activity as well, would it be beneficial? Possibly, but we would also have to include time to educate all of the team-members on the choices we’ve made. Hence, people with experience, passion and an open mind is crucial in this process. They can take lead on the investigation, prioritize and recommend the correct way to proceed. What’s interesting for me, as I see it, is that this process is not related to any single project but instead an ongoing process that could include passionate people from several teams, coming together and making a “suggested path” for projects to come.

If you’re not passionate, you’re not a professional!
But what about passion? Can we be professional in our employment as software developers without being passionate about the art of writing code. In my opinion, yes, but it does take some effort outside of the ordinary daily tasks to keep being updated and relevant to the market. I usually hear, and have myself started to leverage the term “pragmatic” for a person who’s not passionate about developing software. I wonder if these lines could be a correct definition:

Passionate developers investigate new technologies to find if it could provide value to them. Pragmatic developers needs to understand the value a technology could provide before they investigate it.

Passion for technology, passion for your ongoing growth, passion for helping others succeed, passion for innovation and new stuff, all of these are great values or strengths, which will help you, your team and company grow and compete. You don’t have to be passionate, but it could possibly lead to being replaced by someone more passionate than yourselves when the company is either trimming the work-force or trying to identify key people for the coolest or most important projects. I think that Walt Disney Company has a great title for the passionate people that also are very professional in their career: Imagineers

Conclusion, summary, next steps
For companies and organizations, my recommendation is to create some sort of “guidance team” that meets regularly and discusses and evaluates new technologies. I would personally love to regularly meet these teams and provide guidance and recommendations myself, especially if I knew that they had the mandate to actually make a difference in the long run. Call them the “internal imagineers”… :)

For individuals, I absolutely recommend to invest in educating yourself in new technologies, languages, frameworks and products. There are so many alternatives out there, and forums and user-groups with lots of passionate people that are willing to provide help and guidance, use your ears often and learn how to listen!

By learning new stuff you will be better at making choices, and also remember to learn from you losses! Or as Dahli Lama said: When you lose, don’t lose the lesson!

What do you think?

Postades 14. oktober 2009 21:55 av Johan Lindfors
Taggar:

Den här bloggen använder BlogEngine.NET 1.6.0.0
Temat anpassat av Johan Lindfors