In her speech (audio of the speeach)at the National Women’s Caucus, Fanny Lou Hammer uttered the words of the title of this article. It has since been echoed by people and struggles all over our earth.
I have used this slogan in posts and writings as a way to signal my position and to show that I understand that things are connected. It wasn’t until I was on a five hours drive listening to a conversation on Upstream podcast that I actually internalized and understood what this phrase means.
Vi har lett for å skylde på andre når våre fordommer og rasisme vises i det offentlige rom. Et ferskt eksempel er når vi snakker om folkemordet i Palestina. Folk bruker polarisering som grunn til at de ikke vil stå fram eller vise støtte for Palestineres rett til å eksistere. Det er en betimelig unnskyldning at sosiale medier og importerte problemer fra USA er grunnen til stillheten fra ledere og bedrifter.
I was progressing through my thirties and I was cleaning out some stuff in my parents garage when I found some old fanzines from when I was young. It reminded me of a time when I was politically conscious. Reflecting on it I realized that I had somehow lost connection with this part of me, life and things came in the way. The fire I had was gone and it saddened me.
Yes, it is a “funny” word play on the legendary sci-fi novel Do Androids Dream of Electric Sheep? The title of this article is something I have had in the back of my mind since very early on in my career and it has stuck with me.
Note! If you are offended by swearing, bad language and grammar you will have a blast reading this article as it contains a lot of it 😂
You were forced to work a lot to reach a milestone set by someone else. It could be for a number of reasons and often times it’s because someone made a mistake that these things happen (or the person in charge is an ass or an incompetent ass). You put all things on hold, dig in and put in the hours. Depending on how long this lasts , days, weeks or even months.
Often times when working with developing software you get this urge to think “if it can do X, what about Y”. When thinking this you get this nice feeling inside and a sparkle in your eye. It’s the feeling of being A Proper Engineer. As the stereotype of one is that they are capable of future sight and gifted with the ability of crafting the most amazing designs up front by just Thinking Right.
This is a common challenge once a company has built enough “stuff”. The burden of maintenance and the difficulties in refactoring makes one cry out for “Simplicity, now!’. A common perception of reducing complexity is to “dumb things down”, this is a reaction to the tension of it being difficult to untangle things. It’s often a good idea not to act on this tension, but look a bit further at the issue at hand.
This post contain learnings from over twenty years working as a programmer and close to half a century living on this planet.
I met my partner over a decade ago, not long into our relationship we had a conversation: “why do you say things as if you know them, when you don’t?” I would usually reply “Of course I don’t know these things. I’m obviously guessing, you should know this”. When I first was confronted by this I felt misunderstood and even a little attacked.
The title of this post is a phrase often repeated in the onboarding process at my current company (and probably many others too). It sounds like a pretty straight forward thing doesn’t it? What kind of person would not automatically do this? I am afraid I’m one such person, and there is a reason why.
Once in my career I was bullied at work in a very subtle way for a long period of time.
I had read the term many times on the Internet from people who’s been vocal on certain topics which for different reasons turn out to be controversial.
Gaslighting
https://en.wikipedia.org/wiki/Gaslighting
I encountered this term for the first time when I was being vocal about an IT conference in Norway which I thoughts had a highly inappropriate name (post in 🇳🇴 Den Norske Dataforening sitt manglende gangsyn) . During this action in trying to get them to change, I was exposed to this behavior for the first time.
Disclaimer:
All my “On..” posts are things I write from beginning to end without any editing or thinking about structure (so it’s like all other posts?). They are just dumps of thoughts I’ve had which I deem that maybe they’re useful for something or someone, so I’ll just dump it here where nobody actually sees them.
A friend of mine told me his friends reaction when he said he was starting to learn how to play the flute.
Jeg har tidligere skrevet om hvordan du kan se på karrieren din i “Pakk sekken med ting du trenger for turen”. Denne gangen skriver jeg om noe litt annet, nemlig hva du kan gjøre for å komme igang med å planlegge din neste tur i karrieren din. Det er mange ting jeg kan og enda flere jeg ikke kan, men er det noe jeg har dokumentert kompetanse på så er det å flytte meg i arbeidsmarkedet (bare sjekk profilen min om du ikke tror meg).
I have been so fortunate as to be part of several young companies and starting new teams in existing organizations. This post is is a summary of my subjective observations, you should treat it as such.
1️⃣ Introduce departments too early # All young companies wants to grow up and become proper organizations. In order to get a head start, many young companies start splitting up their organizaiton into departments way too early in an attempt to look good for stakeholders and potential hires.
Jeg hadde en sjef som sa dette en gang som et velment råd. Den gangen reagerte jeg og tenkte: det var da et jævlig dårlig råd og en pussig ting å si. Grunnen til at jeg syntes det var pussig, var fordi jeg hadde vært så heldig å blitt kjent med folk i jobbsammenheng som jeg vil kalle mine venner. Antagelig sa det utsagnet med om stedet vi jobbet og om personen som sa det.
Complexity is on the one hand something which can be measured by tools to give an objective value of how complex something is. However, this is not how I’ve come to see the word used in my work as a software developers. In this article I will talk about some of the aspects tucked away in the concept labeled complexity.
It tends to be used to cover up subjective opinions or believes getting portrayed as objective observations.
Tweeten over ☝er et poeng som drukner i alle råd om “hjemmekontor” og “slik jobber du best hjemme”. Dette vi holder på med nå er ikke det samme som å jobbe remote- / distribuert, faktisk er det veldig langt unna og det glemmer mange av de som kommer med velmenende råd. Jeg har jobbet remote i ca to år og det som jeg gjør i disse dager er noe helt annet.
When you are a member of a remote team, one of your most important tasks as an employee is to ensure everyone is able to see what you are up to. I have worked in a remote team for about a year and in semi-remote scenarios for an even longer period, therefor it is time to share some of my experiences on how to communicate progress (or lack there of).
I remember when I first read How To Detect Bullshit by Scott Berkun, I was mesmerized that someone was able to articulate this so well. Throughout my career I have referenced this article to my coworkers. Today, more so than ever before, being able to detect bullshit is one of the most important skills you can have working as a programmer.
An endless stream of bullshit # There is an endless stream of bullshit flowing all over social- and traditional media at any given time.
Jeg bestemte meg på sensommeren at jeg måtte gjøre noe med mitt forbruk av sosialemedier og telefonbruk. Først og fremst for å være et bra forbilde for barna mine, for hvordan kan jeg gi dem faste rammer om de ser jeg ikke klarer det samme?
Lol, jeg er’kke avhengig!
Deg
Du tenker kanskje du har full kontroll, men er du helt sikker? Har du sjekket Screen Time og sett hvor mange timer pr dag du bruker telefonen (og ikke kom med den “jammen jeg bruker den til jobb”, fordi det vet vi begge ikke er sant).
Jeg hadde gleden av å snakke på årets Y Oslo konferansen. Denne posten handler om hvordan det gikk til, formålet er å vise at det er ulike måter et foredrag oppstår. Det handler ikke om å følge en mal eller oppskrift, fordi mennesker fungerer ulikt og det handler om å finne ens egen måte å gjøre ting på.
Veteranfaen, kommer og dreper alle samma
Bare bæsjer på dem, skriver mens jeg sitter på ramma
Don’t let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you feel the heat around the corner
Neil McCauley - from the movie Heat
Sitatet er fra nittitalls filmen Heat med blant andre Pacino og DeNiro, ikke nødvendigvis den beste filmen men sitatet er bra. En skal være forsiktig med metaforer, men jeg mener dette sitatet er noe du bør ha bakhodet når du jobber som programmerer (og trolig også andre roller, men jeg kan bare med sikkerhet snakke om programmerere).
Jeg har engasjert meg i et tema som for meg er veldig personlig, nemlig anti-rasisme. Helt konkret handler det om å få konferansen Make Data Smart Again til å endre navn. Det begynte med en tweet og et blog innlegg for deretter å blir flere tweets / e-poster og endte med en pressemelding fra arrangøren Den Norske Dataforening (DND). Denne artikkelen er et svar på pressemeldingen om denne saken.
Vi er og var klar over at navnet kan gi assosiasjoner til et mer kontroversielt uttrykk, men vi har alltid følt at navnevalget vårt «Make Data Smart Again» var et ironisk spark mot ignoranse og intoleranse.
NB! Jeg har ikke noe ønske om å sverte DND eller de som legger ned masse arbeid i å skape denne konferansen. Det jeg vil er at bransjen jeg er en del av skal være for alle og hvor alle føler seg trygge til å kunne bidra på den måten de ønsker. Hvor å tøyse med ting som rasisme ikke på noen måte er greit.
I år arrangerer Den Norske Dataforening (DND) konferansen Make Data Smart Again for andre år på rad.
Mange ganger ser du det i diskusjoner på nettet når det handler om dette med å få til mangfold: “hva kan en person gjøre?”. Jeg har noen tips som du risikerer ingenting ved å gjennomføre dem.
Ikke jobb på steder uten mangfold # Først vil jeg bare si: dette er om du har muligheten. Noen ganger må man tjene til livets opphold, det har jeg full respekt for og det finnes tilfeller hvor man ikke kan velge.
When you start learning to code you develop an idea of what people who does it for a living knows. I remember when I started, I was convinced that everyone around me knew everything and was never in doubt about what the correct approach would be. There was little to read about how to approach coding except for academic articles and books.
In this day and age the situation is very different.
Veien til å bli en god systemutvikler er hompete, støvete og endere kanskje ikke der du tror.
Hva er en god systemutvikler? Dette er et ladet spørsmål, så først vil jeg legge ned min definisjon av systemutvikling. Det er et lagspill der man sammen leverer en digital løsning på en utfordring / problem.Legg merke til at jeg ikke sier «hva er en god programmerer». Hvorfor ikke? Fordi programmeringsdelen er bare en del av det som inngår i systemutvikling.
Jeg tok en sjanse i sommer, jeg gikk over i en jobb hvor jeg visste at jeg kom til å jobbe som del av et distribuert team i Vibbio. Resonnementet bak å prøve var at om det funker og jeg liker det kan det åpne nye muligheter for å gjøre morsomme ting i femtiden. Jeg har en erfaring med å jobbe distribuert og det var under en oppsigelsestid hvor jeg var fristilt.
Trondheim Developer Conference var stedet jeg valgte for å bearbeide følelser om noe som skjedde for seksten år siden. En Historie Om 0 og 1 er et foredrag hvor jeg forsøker å beskrive hvordan det var for meg å møte veggen og hva jeg ser som problematisk med dagens utviklermiljø. Hvorfor? Fordi vi som jobber med systemutvikling trenger å snakke om de vanskelige menneskelige tingene. Jeg håper at ved å fortelle min historie kan jeg hjelpe andre og kanskje hjelpe til å endre usunne holdninger som er i vårt miljø.
I was incredibly fed up waiting for the chance to make a living writing code. Since I was very young, I’d wanted to program computers for a living. The years it took me to get there felt like an endless wait of learning things I didn’t care for. Looking back though, the learning I didn’t care for was perhaps the most valuable. Anyways…. When I finally was given a job as a programmer I was living the dream, my dream.
I realized today that my way of doing things is really quite simple, so I decided to write it down: This is my natural way of doing things. However, not everyone follow this simple three step process. It is like my current boss said: “I assume you just set off down a hill when you go skiing”. My response was: “Of course, I always do that. Don’t you?”. If you know everything about the terrain and have identified all the possible consequences, to me, you have removed all the fun.
First thing about giving advice is that you should add a disclaimer: “These are my experiences, views and opinions. Treat them as such and then make your own reflections on whether they’re worth taking to hear or not” The version of me that existed a couple of years ago would not add the disclaimer. I’d just burst out my opinions as truths without blinking. Anything from advice on coding to career advice I’d lay out without giving it a second thought.
I read someone outlining a process for making change happen in an organization. Later on I realized, I’ve done that! Perhaps I should share? When I get those thoughts I my brain rest until I’ve poured the idea out into some kind of digital form. A twitter rant perhaps? Or in this case, a blog post. I grew up on a mountain farm in a very small town. Growing up in such a place sometimes gives you a bit of baggage which will serve you well for the rest of your life.
Denne posten har tittel som en selvhjelpsartikkel, så dere som kjenner meg tenker kanskje jeg har gått helt Kåre Willoch og blitt bløt på mine eldre dager. Dere får bare bære over meg for den cheesy tittelen, den er for å få likes på LinkedIn og bygge kredibilitet i coaching kretser.
Jeg begynte i februar 2016 i det som er min tiende jobb siden jeg fikk min første betale jobb som programmerer i 1998.
Jeg hadde utsatt det helt siden åpningen, men idag var min siste dag før jeg begynner på jobb igjen et stykke fra Oslo sentrum. Derfor måtte det bli idag. Å besøke 22. Juli senteret visste jeg kom til å bli en tøff greie. Jeg var ikke dirkete berørt og var så heldig å ikke ha noen nærme som ble drept eller skadet. Likevel å se og lese var utrolig tøft, fremdeles ser jeg bildet av ungdommene i sjøen svømmende for livet.
In December 2014 I embarked on a new adventure. I joined a startup company as a programmer. The company creates a service is called Pelp and is currently only available in Norwegian.
The past 6-7 years I’ve been having roles such as Chief Technical Officer, Front-end Architect, Team lead, etc. Each position has been challenging and I’ve learned so much. In fact, I still learn from things I’ve done many years later by looking back at them.
Now, there are naturally harder things than what I’m going to talk about in this post. However, given the context of software development and leading teams this is the hardest.
Especially if you’ve gone from being fairly good at the decipline of the people of your team. I have spent a few years being in a position where I lead teams, but recently I stepped down to become a team member.
I was fortunate to be able to attend JSConf EU in 2011. This turned out to be a life altering event. Going there I expected to see some nice talks and get drunk in the awesome city of Berlin. While I did both of those things, what happened in the can going to Berlin airport was not expected. I got on board to organise a JSconf-style conference in Oslo: The Web Rebels Conference.
I am fast approaching 40 years old which is pretty fucking scary in general, but even more so when you work in software. No more am I allegeable for jobs, as I’m no longer in a place where I am viewed as something for the future. These amazing and brilliant young people coming through are just so much better than I ever was. It’s a young people’s game, programming. I have many friends who are of similar age and we share a common scare.
I was sitting on the floor playing with my son after coming home from work when my wife said: “it’s great to have you back".
I was puzzled, what did she mean by that? Back from work? I hadn’t been away or anything so it had to be that, right? After putting our son to sleep I asked her what she meant. She said it was nice to see me present and participating when returning from work.
This has probably always been the case to some degree, but I think it gets even more apparent with the Internet and the rise of social media. What exactly? The culture where everyone is a parrot, merely repeating what some idol said in a post / interview / talk without really thinking things through and asking questions.
Who said that? # I was asked this in a meeting when I presented an idea of how to structure web applications in a way which gave focus on the end user’s and not the technology.
The last five years I have had the privilege of having jobs with awesome titles like “Front end architect” and I was even at one point a CTO. Being in such positions enables you to have the impact to see ideas materialize. You also have impact on how others do their job.
About two years ago I became the leader of the front-end core team at Finn.no after having been the front-end architect (the company decided to remove the architect role).
This is not about aerospace or getting people on Mars (that stuff is easy). It is about how to create an environment where people help each other out. If you maximize utilization. Set absolute deadlines. You set up your team to be self centered, stressed out and in a mode of self preservation.
If you are in an organization were teams are expected to collaborate and share extensively, you shouldn’t do any of the things above.
You read something or listen to somebody say something in a talk. Sometimes you think: “hey, this is really great and makes a lot of sense”. You go back to your job and apply what you learned. The missing piece here is this: you can’t just take the thought and methods somebody else came up with in a different context and apply them directly think you will achieve the same results.
I am a recovering work-a-holic. In my first job I worked myself to the ground. At one point I was unable to sleep and led a very unhealthy life. This contributed to me hitting the wall. Since then I have been more conscious about how I manage my time and how to handle pressure. However, I love what I do and the borders between work and hobbies are very blurred. I realize that I will never loose the stuff that drove me into being burnt out at an early age.
I am a recovering work-a-holic. In my first job I worked myself to the ground. At one point I was unable to sleep and led a very unhealthy life. This contributed to me hitting the wall. Since then I have been more conscious about how I manage my time and how to handle pressure. However, I love what I do and the borders between work and hobbies are very blurred. I realize that I will never loose the stuff that drove me into being burnt out at an early age.
we know that setting a deadline solves nothing we know that after a deadline, there’s someone who has to clean up afterwards we believe that workers don’t need to be bullied or pressured into performing to be successful we believe that managers who can’t make their team perform without deadlines should consider changing profession This is just some thought and I’d love your input in comments to make this better.
I started programming with edlin in MS-DOS using batch files. Later on I evolved into doing Turbo Pascal and at some point I went to a school where they thought C++, Power Builder and Java. Luckily at that moment something crazy started happening, this thing called World Wide Web. All of a sudden you could without any expensive tools or servers. All I needed to do was learn Pico and get an account on the College system.
You will see people grow when given an opportunity and an end goal which is somewhat clear.
It can of course fail too. But, more often than not giving people an opportunity will get a.positive reaction. This, however, is in stark contrast too strategies where you set goals and demand reporting on this goals or KPI status. Those things undermine the people given a task and a goal. It also relieves them of the task of thinking.
I I’m have interviewed for higher management positions during my career. One question which pops up in all of them is this:
“do you have experience in leading through middle managers”
A fair question one would think given that as a higher position manager you’ll have some other managers below you. However, there is one thing I’ve seen many places which too many higher level managers miss. That’s the ability to keep in touch with what’s happening on the lowest level.
Many companies spend an awful amount of resources and focus on trying to motivate their employees. This is of course I theory a great thing which should benefit employees. There is however one thing every company should look into before looking at how to motivate:
What are we doing which demotivate people?
Are there hurdles in our organization which prevents people from doing their job? Is there something we’re doing which drive people nuts?
I remember reading about The Change Function, which was a term I first read in the book with that as the title by Pip Coburn.
I was recently reminded about this as there was a discussion at work about how NodeJS was slipping in unnoticed, while things such as Grails or Scala was having a more difficult time. I think that NodeJS is making headway in rapid fashion because it has both the parameters needed for the change function:
To me a vision is not a list of items to do. It is not bullet points on a slide. Nor is it a graph which points upwards. It is not numbers added together to make an even larger number. A series of the above things is definitely not a vision.
A vision is something that appeals to emotions and which triggers images to appear in the minds of the listeners.
Countless times throughout my career I have heard (and I think I’ve said it too): “you must pick you battles”.
I have always struggled to believe this. Why should you not make the case for what you believe? It shouldn’t be a limit for anyone for how many times they can voice their concerns.
If you have a climate where people are taught by example that you must pick your battles, what does that mean?
Having read recent articles about members of our community and how they have burned out [Burnout, Reset], I decided it was time I told mine.
I learned my most valuable work related lesson the hard way. It was my second job and I was taking on what seemed like an awesome project. Creating an application for the Palm Pilot IV. With the courage of any you programmer I embarked on it without only some C++ skills to help me out.
In my previous post I wrote about Culture for Collaboration. One thing I didn’t go into was that in order to create a culture of collaboration, you must first establish basic trust.
Trust is something that is extremely hard to just “establish”, it is something you earn. In short, establishing trust is not done over night. So were to start?
Empower individuals and teams
If you by your actions and words show that you trust a team or individual you will in time earn their trust.
“It is so cumbersome to have go round talking to people and submitting pull requests. Can’t we just go ahead and just duplicate or do whatever we want?”
Yes, working together and collaborating is hard. It requires a willingness to listen to others and learning about different points of view. This is of course something which takes time to get right. Because it is about people and dealing with people is different each time and for each interaction.
To me focus is binary, you either have it or you don’t. You can’t somewhat focus on something. Either you do it or you don’t.
I also have a strong opinion that focus can only be kept on one thing, if you’re a human without mutations. It is not only my subjective opinion, it is scientific fact that we can only focus on one thing with our eyes.
Now, how come every time you hear the word focus in a work setting none of the two previous truths apply?
Yesterday I tweeted that “I’d rather choose someone with experience from kindergarden than some one from the armed forces as a leader”. It might seem like good old fashioned trolling, but I am serious.
I speak from a Norwegian perspective and things might be different in other countries. When working in kindergarden you acquire some skills which I think are essential for leaders in general, but especially in knowledge companies. In Norway the law says that children shall always be included in decisions [1].
Being part of the Web Rebels conference organizers is an amazing learning experience. I get to learn so many things that I a been hating with a genuine passion for years. I am not very good at organizing my finances, I have never understood accounting and I most certainly have not once been able to deliver an expense report correctly. Therefor it is only natural that these are some of the things I do as “the guy who does the boring stuff” for the Web Rebels Conference!
I’ve been coding since I was a kid and I’ve always loved computers, and I still love programming. I use to get all excited about new software and gadgets. Attending conferences and other geek gatherings used to fill me with excitement.
These days most of my inspiration to continue programming comes from elsewhere. It comes from listening to amazing people like desinger/artist James Victore. Having lunch with people like my friend Trond.
A while ago I had an one - on one chat with my manager. During which I realized this: “I behave the way I do in order to build pressure upon myself to work hard”
I have never been a hard working student. Since as long as I can remember I have been a practitioner of th “skippertak” (an English equivalent would be somethi like to pull all nighters as a general rule of working).
There is one thing I would like to accomplish the next year and that is to contribute more to Open Source projects. I have never been very active in contributing patches, documentation or maintaining projects. It used to be because getting into it seemed as too much work. With GitHub this is no longer the case. Taking part and contributing is just so simple and easy.
How come I feel this need now to start taking more active part in the OSS community?
Too many people try to change their surroundings and feel miserable while doing it. If you’re not happy with something, either suck it up or move on! There’s nothing in the human rights about the right to always feel great at work. If you’re not, it is up to you to change your situation. The chances that something will make you feel different in a while are slim. Nobody is going to look at your situation and sort things out.
Software development as a cooperative game
http://alistair.cockburn.us/Cooperative+game+manifesto+for+software+development
This quote got me thinking today, because if it really is a cooperative game and teams are how we structure people working to solve problems, shouldn’t we look towards other team activities for inspiration?
When you work as a team, it is important to have diversity and a mixed set of skills. Especially in software development cross-functional teams is something that can be a good thing.
I have had the privilege of getting to put on a conference about one of the things that I love: web development. It was pure coincidence that I ended up here. I am not a very active community member and I usually shy away from additional work. What is especially weird is that I ended up being the guy doing the finance and accounting stuff!
Being at the venue on day one of the Web Rebels Conference seeing that things are actually running quite well is an amazing feeling.
Since the time of BBS’s and up until the social media of today, people have been exchanging opinions using digital tools. My first encounters with discussion forums was positive and I’ve always been an eager participant in countless exchanges of opinions.
These days when most dialog happens in the context of 140 characters (or there about) I feel that something has changed. We no longer exchange opinions and listen to differing points of view.
The first record of me interacting with a computer was a picture of me when I was three years old playing the game Pyton on a Tiki 100. I have always known what I wanted to do in life, I wanted to be a programmer and create things using computers. School was just an endless wait before I finally got to do what I wanted at the age of 19. That was when I finally got to Molde College where I could learn to program.
The world is yours, and everything in it
Scarface
I attended a great community conference in Bergen called Booster conf. They have a lot of students helping out as volunteers, which is a really great thing. Providing them with an insight into our industry is something that is really cool.
During the conference there are a series of Open Spaces and today I did something I’ve been thinking of doing for a while.
Photo by Michael Heiss
A popular mantra the past few years is that “software is a collaborative game”. However in a large organization or project, is this really possible?
When things get big and the number of communications lines exceed what is possible to handle for an individual, is it really possible to collaborate?
A behavior of teams when things get clouded is to construct a world which is tangible and possible to manage.
When you’re in the phase of building something new I think the most important thing is to have a clear focus on who you’re optimizing for and why.
You could optimize for the creators happiness, future résumé and his or her opinions on what is The Right Way (which usually translates into the authors subjective opinion on The Right Way). Or you could optimize for speed. You can optimize for rewriting the whole thing later on.
Just because you’ve seen a lot of porn doesn’t mean you know how to make love Me
Too many coders and product developers think they know something about Ux or graphic design just because they’ve seen a lot of it. This is naturally just plain false. All you’ve got is the same skills as a parrot who speaks. You can repeat what has been already told you. However you can not create something original.
I have built a lot of my career on being vocal in different online forums since my first job back in the days. Online bulletin boards is a nice way for people to collaborate and for different types of people to discuss different topics. Bulletin boards and discussion forums are no longer as hot and are replaced by different types of social media. Services such as Twitter and Yammer. Can such services shape or change the culture of a company?
Q&A Tuesday - On Mortality
I have had the pleasure of seeing James Victore do talks at the amazing Reason To Be Creative conference in New York. Amongst the many things he does is something called “Q&A Tuesday” where people send questions on anything and he answers. This time it’s my question and I think some of the advice is pretty great. “Get off the fucking phone” and “wake the fuck up” is sound advice.
“Needs to be outgoing and positive”. This is a phrase most job ads contain in our industry. At first glance one wouldn’t think anything special about it. Why wouldn’t you want positive and outgoing people?
The past couple of days I have been painting our apartment. While doing so I tend to be accompanied by the BBC World Service. The other day there was a mention of a study by Joe Forgas which shows that “Being grumpy is good for you”
I’ve come to realize, however, that while technology may make it more convenient to communicate, it doesn’t improve our ability to get a point across
This is a quote from John Maeda’s book Redesigning Leadership. I think it captures the essence of the problem we have today with communication. We have all these amazing tools which enables just about anyone to potentially communicate with millions of people around the globe.
Watching a documentary from the Ferrari factory who makes the body for the FF model I notice something interesting. When they craft the aluminum parts for the body the narrator says: “each part is welded together by craftsmen”.
That quote implies that repetitive tasks performed day in and day out are indeed something that requires a genuine craftsman.
Now compare that to how the software industry tends to portray a craftsman coder.
Back in 2009 I held my first ever talk at a conference. My only motivation was to get in for free at the Smidig conference. I worked for a startup which meant little cash for conferences. Since then ove talked at numerous conferences and enjoyed every minute of it. The adrenaline rush of doing something that scares the shit out of you is just addictive.
This year I’ve held no talks.
I’ve been wanting to create stuff on a computer ever since my dad got us our first PC back in the late eighties. Every year spent in school was one year keeping me from what I really wanted to do, program all the time. When I landed my first job at Norwegian Broadcasting Company (NRK) I was on top of the world, programming shit for a living!
I am not a very intelligent person and I’m an average coder.
Our list of demands
I am working on a rewrite of the web tier at work. We’ve set this up as a “dugnad” where we do a section at a time with the team responsible for that part of our service. This effort is called the Strap-on Project and each section should take max 3 weeks (which is our release cycle). When we bring in people (max 2) we have a list of demands in order to make things work:
In Silicon Valley you’d quit and start a competitor
I was bitching about something I thought we where doing at my gig which was in my opinion stupid. The quote is what Luke Wroblewski said would be the customary thing to to do in the Valley.
He also said that staying in a job for more than two years means you lack initiative and you’re basically someone you wouldn’t hire.
I get to deal with a lot of developers and a lot of different teams being an architect (yeah, I just run around like a headless chicken). There is one thing that I have been noticing over the years and that’s what this is about.
Great teams and good developers create what is required for a task/story and nothing more. That doesn’t mean they just put some random shit together. No, they create simple thing with high quality.
At my current gig we are working hard on splitting up an old monolith which is the wart of the our business. This work is time consuming and it takes a long time. Why not write a new system and make a switch once it’s complete?
This question gets asked a lot by people who come to our company and by various stakeholders. They are frustrated by the fact that breaking up “the pile of mud” takes a lot of time and effort.
what’s in a name?
In my experience pretty much everything is in the name when it comes to the art of programming. If you start out with bad naming and a structure which does not communicate any of your intentions with writing the code you will end up having problems. Either understanding it yourself or having anyone else make sense of your code.
When I do code reviews I often only get to this part.
A pragmatic approach means taking your surroundings into account when creating new buildings
I watched this program about an architecture collective in Denmark called Adept (or something). They had “a pragmatic approach” towards architecture. What they meant was that if you where to build a new house in the midst of some ugly piece of urban sprawl you shouldn’t design something totally spaced out, but instead realize that the ugliness around you is going to be there for a while and you should take it into consideration in your project.
The map in the cover photo just blows my mind. It shows the whereabouts of the people who’s played videos from the Web Rebels conference up on Vimeo. I still can not believe that we’ve hosted this event and I sure as hell can not believe that we didn’t fuck it up :) I am a firm believer in that everything that can go wrong, most definitely will when it comes to these kinds of things.
I just wanted to repeat my thanks for inviting me to Web Rebels. It was a
fantastic event and was easily my favorite conference to have spoken at
this year
The first ever Web Rebels conference is over and it was absolutely fucking amazing. Everything went as we’d hoped and Oslo was so kind as to present itself at it’s finest.
I loved every minute of organizing this event. The attendees and speakers where inspiring, funny, kind and just amazing people.
I år har jeg valgt å avvikle Inntektslaget,d mitt enkeltpersonsforetak. Det har vært morsomme tre år og definitivt en erfaring å ta med seg videre. Opprinnelig startet jeg det fordi jeg så en mulighet for å tjene penger på å holde foredrag om Flex rammeverket i Oslo mens det enda var få som kunne det. Jeg hadde fått en del erfaring gjennom arbeidet med Ezmo musikkspilleren og den så jeg en mulighet for å tjene noen ekstra kroner på.
Thomas Kjeldahl Nilsson har startet en norsk versjon av The Setup som heter Mine Verktøy. Konseptet går ut på at ulike typer mennesker som jobber i ulike former for kreative disipliner forteller om hvilke verktøy de bruker for å lage sine greier. Jeg hadde aldri hørt om dette før Thomas var så hyggelig å spurte om jeg ville delta, hvilket var en no-brainer etter å ha sett The Setup! I ånden av skamløs selvpromotering så legger jeg ved en link til intervjuet jeg ga til Mine Verktøy.
Smidig 2010 er nettopp over og jeg tror alle deltagere var rimelig fornøyde. Selv var jeg også godt fornøyd etter å ha truffet mange kule og kunnskapsrike kolleger fra rundt om i landet. Det begynne å ligne litt på en veldig trivelig re-union å være på Smidig. Litt som å komme tilbake til hjembygda også treffe igjen gamle kjente. Det er riktignok en ting som har slått meg etter å ha reflektert over det som ble sagt under konferansen.
Jeg var så heldig å få lov til å snakke om noe jeg virkelig synes er spennende på årets JavaZone, nemlig mine erfaringer fra å forsøke skape den nye typen sosiale musikkspiller i foredraget: “How we blew our shot at beating Spotify, spending two metric truckloads of cash doing it”. En takk går til programkomiteen som lot meg slippe til med et tema som kanskje er litt utenfor, men som likevel så ut til å være spennende for mange.
Jeg var så heldig å bli spurt om å holde foredrag angående Statens pensjonskasse sin bruk av Friprog i forretnings kritiske løsninger. GoOpen var et nytt bekjentskap for meg, men det var et veldig hyggelig et. Å arrangere en konferanse hos Latter på Aker Brygg nå på våren gir en flott ramme og tiltross for en litt kjedelig start med innledning av en IKT-minister som var spent på om “videokonferansen de skulle ha senere” kom til å fungere.
Jeg var så heldig å få sjansen til å holde min lyntale på Oslo XP Meetup igår. Det var utrolig spennende fordi det var diskusjon umiddelbart etter lyntalen. I motsetning til på konferanser så måtte jeg her svare for mine tildels breibente påstander om det ene og det andre. En ting jeg åpnebart formidlet uklart var dette rundt spesialistenes rolle i smidige prosjekter. Mange tolket mine utsagn til at man skulle ha spesialister som kun jobbet med sin spesialitet og at ingen andre på teamet gjorde det.
Dette er en artikkel i kategorien refleksjon og det kommer som et resultat av det jeg har erfart i de siste årene hvor Smidig-bevegelsen virkelig har blitt allemannseie. Jeg har både vært team medlem, Scrum Master, arkitekt og delvis produkt eier i ulike sammenhenger. En ting har alltid ligget å ulmet i bakhodet mitt de siste årene og det har med begrepet enkelhet eller simplicity. Begrepet brukes til veldig mye rart og har blitt en viktig ingrediens i alle dokumenter om visjoner og strategier.
Midt i det som skulle være pappa-permen min så stakk jeg innom JavaZone 2009 for å holde en presentasjon om brukergrensesnittsutvikling. Jeg har lenge tenkt på å holde et foredrag om dette emnet, ettersom det er noe jeg ofte ser behov for i prosjekter jeg har jobbet på. Tradisjonelle Java utviklere sliter veldig med å applisere sine kunnskaper om objekt orientert programmering i utformingen av brukergrensesnitt. Det er essensen i utvikling av grensesnitt, ingen sort-magi eller annen heksekunst.
Tittlene på denne postingen er noe jeg stadig hørte fra en av mine lærere på Holmen VGS på Tynset. Han var en blod-rød kommunist som ved enhver anledning kom inn på dette uavhengig av hvilket fag det nå måtte være han i utgangspunktet skulle undervise i. Hans ord kom tilbake til meg da jeg så programmet “Digitale Pirater” på NRK3. Jeg har tidligere vært med på å forsøke etablere en tjeneste som forsøkte å gjøre musikk tilgjengelig for folk på en ny måte gjennom musikk tjenesten Ezmo.
Tittlen er et kjent slagord fra miljøbevegelsen når det gjelder hvordan man skal bekjempe klimaproblemene vi står ovenfor. Jeg føler det samme slagordet gjelder for smidige metoder og hvordan man best klarer å få smidige metoder til å fungere i sin organisasjon. Smidig systemutvikling handler veldig mye om kommunikasjon og mellommenneskelige relasjoner. Likevel er dette et element som veldig skjelden blir adressert hverken i prosjekter eller i debatter om smdige metoder.
I andedammen her i Norge har skeptikerne til smidige metoder virkelig fått vann på mølla ettersom flere og flere “står frem” med sine historier om hvordan de ikke har vært på et eneste bra smidig prosjekt. Smidige fundamentalister vil gi deg følgende svar: “Hvis det ikke virker, så gjør du det feil”. Hvilket egentlig ikke er noe svar siden det ikke gir den som sliter noen løsning. Særlig ettersom svaret på “hva er riktig måte?
En smidig tilnærming til samarbeid og problemløsning er ikke noe som bare gjøres i programvareutvikling, det gjøres også når man skal bygge enorme konstruksjoner. I Discovery Channel programmet Build It Bigger viste de historien om hvordan Washington fikk et nytt baseball stadion for sitt lag Washington Nationals. Det at man lager enorme stadioner i USA er ikke noe oppsiktsvekkende, men det som gjorde meg “varm under kraven” var hvordan de gikk frem for å bygge denne stadionet.
I anledning Software 2009 skal jeg holde en lyntale hvor jeg tar opp et tema jeg, og veldig mange andre jeg har snakket med, føler smerten til på daglig basis: Programvare arkitekter som ikke jevnlig utfører praktisk utvikling påfører sine bedrifter enorme kostnader Hvordan kan jeg påstå noe slik når det jo er de beste som får det store ansvaret av å være arkitekter? Årsaken mener jeg ikke er manglende kompetanse, men snarere en gradvis fjerning fra der hvor den faktiske produksjonen skjer.
Hvis man til enhver tid har øyne og ører åpne vil man kunne lære noe nytt i de mest pussige situasjoner. Dette gjelder også når du ser TV på en lørdag kveld. Jeg så Chris Rock sitt Kill The Messenger show på SVT2 denne helga. Ikke bare var showet hysterisk morsomt, men det inneholdt også jobb relaterte råd! Hvem hadde trodd at en av de mest reflekterte uttalelsene jeg har hørt siste året om jobb kommer fra Chris Rock?
Jeg har vokst opp på en gård i fjellbygda Folldal og er dermed veldig mottagelig for analogier og eksempler som tar utgangspunkt i gårdsdrift. Overraskelsen min var stor da jeg leste en artikkel av XP-guru Kent Beck som nettopp bruker bøndenes metode for å dyrke åkeren for å vise hvordan man kan gjøre det samme i applikasjons design. Artikkelen First One, Then Many tar for seg et klassisk dilemma innen systemutvikling.
Flex har virkelig begynt å få fotfeste i Norge det siste året. Dette merker man i jobbannonser hvor det stadig oftere er nevnet Flex kompetanse og man merker det med antallet hendvendelser som kommer angående hjelp til å begynne med Flex. Å starte med Flex er ikke noe stort problem og de fleste utviklere klarer veldig lett å komme igang med å lage applikasjoner. Tilsvarende lett er det å gå i en del fallgruver og gjøre en del feil.
Den absolutt beste konferansen for smidige metoder, Smidig 2008, går av stabelen 9. - 10. oktober i Oslo. Her vil du ha anledning til å dele erfaringer med de absolutt beste og mest erfarne menneskene i Norge når det gjelder smidige metoder. Jeg skal holde en lyntale som heter Agile sier du? Fragile sier jeg hvor jeg vil belyse det faktum at de aller fleste som heveder de benytter smidige metoder faktisk ikke gjør det fullt ut og dermed ender med en slags mellomløsning som tar det værste fra smidige metoder og kombinerer det med det værste fra tradisjonelle metoder.
I desember 2007 la Adobe ut Blaze Data Services som Open Source. BlazeDS var tidligere en del av den komerisielle programvare pakken Live Cycle (LC) . Jeg hadde brukt LC Data Services en stund og var veldig interessert i å se hvordan Open Source varianten fungerte i forhold til den ekstremt dyre komersielle varianten. Resultatet er denne korte oppskriften på hvordan du kan starte med BlazeDS.
Demo applikasjonen # I tillegg til denne artikkelen har jeg laget en ekstremt enkel demo applikasjon som kan brukes som utgangspunkt for videre abreid.
Obs! Dette er en eldre artikkel som jeg publiserte tilbake i 2005. Den ble vel generelt ganske misforstått og enkelte av digi.no sine mindre begavede lesere ble veldig forvirret av formen den var skrevet på. Artikkelen er fremdeles relevant og det er ingen tvil om at markedet har tatt samme retning som anbefalt i artikklene. I den siste tiden har mange erklært sin kjærlighet til den nye teknikken AJAX (Asynchronus Javascript And XML).