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.
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.
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ø.
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.
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.