Showing posts with label agile. Show all posts
Showing posts with label agile. Show all posts

Friday, June 17, 2022

Friday Links 22-20

Acid House flyer with smiley illustration

For some reason I have no urbanism topics or podcasts! 

Dave Kellogg brings an interesting perspective on leadership levels. It is an old article but still valid. He seems to be going against the stream in general. Worth a follow! 

Leadership

Career Development: What It Really Means to be a Manager, Director, or VP - interesting perspective I agree on 

What we learned in studying the most effective founders - mostly as expected, but this is interesting: "While most people would expect self-confidence to grow with time, our data suggests the most effective founders are not nearly as confident as the least effective founders are." 

Stop Interviewing With Leet Code - everybody hates them, all of FAANG loves them

Agile

Your Roadmap Isn’t Really a Road Map - everybody knows this, right? 

Product Backlog Building Canvas - good user stories are hard, here are some helpful frameworks

“Measure Twice, Cut Once” isn’t very Agile. - do experiments, not perfect planning

Technology 

End of an era: Microsoft retires Internet Explorer - about bloody time, but now we have Chrome as the new IE

How we think about browsers - from GitHub

Work

The title Chief Notion Officer is popping up more and more — here's what it looks like - I posted about CNO before, but this is how it could look in practice 

Research Concludes: We Waste Our Time At Work - less meetings are good, especially if you are an IC

Random Acid

No card, no entry: documenting the world’s biggest collection of membership cards from the infamous acid house era - iirc I only had one or two club cards

‘It changed lives and opened minds’: a visual record of the birth of acid house - I was a little bit late to the party 

Heatwave in Spain to drive temperature above 40C in parts of country - I know!

Other Links 

Friday Links Disclaimer
Inclusion of links does not imply that I agree with the content of linked articles or podcasts. I am just interested in all kind of perspectives. If you follow the link posts over time you might notice common themes though.
More about the links in a separate post: About Friday Links.

Friday, September 03, 2021

Friday Links 21-30

Catalan Cricket
Back from my holiday and catching up with the news. 

New section on Agile this time as something at work required a bit of research into this.

Management

What’s going on with the ‘Great Resignation’?  - I have heard this term in different contexts a few times now. I guess this will continue for a bit more.

Building a data team at a mid-stage startup: a short story - example story about how this could happen and what to expect

4-day workweek: which day should you take off? - it depends

These statistics prove the value of the 4-day workweek - I am all for it, but I am pretty sure my productivity would go down by roughly 20% 

Performance Review: Build Your Process and Master Feedback Delivery [Podcast] - Lara Hogan on reviews

#118 Doug Conant: Leadership With Integrity [Podcast] - very down to earth discussion from a very high level CEO

Agile

The Four Agile Values and Slack - it is really difficult to complain about the agile manifesto

How to Deal With Tech Debt Effectively - we are using a mix of 20%, fix as you go and large clean-ups.

Software Development Waste - results of a study of projects

An epic treatise on scheduling, bug tracking, and triage - cool presentation, it includes a link to the talk

How I Failed As A Scrum Master For My Most Prestigious Team - not really a fail, more of a small correction

Autonomous Scrum Teams are like powerful responsibility magnets - but tricky to get right

Remote Work 

How remote work is bringing life back to Spain’s rural villages - fast internet is definitely a game changer and Spain seems to be doing a good job.

Spanish companies divided over employees’ return to the workplace - the same as everywhere

How to Understand How Things Ever Got This Bad [Comic] - "Technology was supposed to set us free, but it really just made it harder to escape"

Extending our voluntary return to office - for a tiny bit

Introducing Horizon Workrooms: Remote Collaboration Reimagined - this is worrying

Environment 

Der Bulli wird zum Pkw [German] - small buses are really not better than SUVs

Leaded petrol era ‘officially over’ as Algeria ends pump sales - it only took 50 years, this doesn't make me hopeful about tackling the climate crisis or fine particles

Air pollution linked to more severe mental illness – study - a bit like lead?

Urbanism

Tolls scrapped on more than 550 kilometers of Spain’s freeways - this is so frustrating. Apparently they are doing it for "sustainability" and "safety". But see next link...

Spain plans to introduce tolls on all state and regional highways - right

Should jaywalking be legal? [YouTube] - should it ever have been illegal? 

Vehicle/cycle conflict halves in Glasgow trial of bike-activated traffic signs - never heard of systems like this before and it is a bit sad that we need them

How to move things on a bike - pretty pictures from Amsterdam

Walking Places Is Part of the Culture Wars Now - I for one am glad that isn't just about cyclists now

Ten social benefits of walkable places - I bet there are more

Warum ein Lastenrad-Bonus nicht nur hippen Großstädtern nützt [German] - today's argument from the right: cargo bikes are for hipsters and upper middle class

Todesfalle Landstraße [German] - lowering speed limits is good for motorways and country roads ... only the German's think they drive better than everyone else

Random Sports

Imported sports: Catalonia goes cricket crazy - nice, now I can watch it locally without understanding it

#109 – Holden Karnofsky on the most important century [Podcast] - a bit weird, but a good conversation

#110 – Holden Karnofsky on building aptitudes and kicking ass [Podcast] - more weird

What personality are you? How the Myers-Briggs test took over the world - horoscopes for business

Catalonia: Squatters, eviction and extortion [Podcast] - I didn't realise how much of a business this is

As demand for bikes surged, Amazon got in the way - a bad fit for this bicycle part company

Genetics and the longer arm of the law [Podcast] - it seems this fight has been lost, at least in the US. Your gene fingerprint is some database and the police will access it

Dear Diary: how keeping a journal can bring you daily peace - pretty much my experience. I am still sticking to it.

SUMMER MUSINGS: No... Not all amplifiers sound the same (but many do! ;-). - I am a fan of 90s Sony amplifiers, but I don't think I would notice a difference nowadays

Next Steps for Chia, in Their Own Words - burn the planet with hard disks

Friday Links Disclaimer
Inclusion of links does not imply that I agree with the content of linked articles or podcasts. I am just interested in all kind of perspectives. If you follow the link posts over time you might notice common themes though.
More about the links in a separate post: About Friday Links.

Friday, March 27, 2020

Letting your CEO deploy to production

"One click" deploy (*)
Recently our CEO Raj Kumar spent a week in our Barcelona office where the majority of our engineering department is located.

I was working on some ideas for him to meet the team and get some insights into our daily work. While most of the company is aware of UI/UX and front-end changes we are doing to our site, some of the back-end and infrastructure work can seem like black magic. I think it is important to take every opportunity to bring this output closer to the rest of the company and especially the leadership.

By chance I watched the very good presentation “Getting Real about Managing up” by Kellan Elliott-McCrea, which contains as one example the idea of letting your CEO deploy to production.

One of the goals of our engineering team is continuous deployment. I set this out when I joined Devex to give us a far goal to aim for. I was inspired by Etsy’s Code as Craft blog and the book “Web Operations”. For me the important part was not continuous deployment itself, but all the changes in engineering culture required to achieve it. You need a good technical base from unit to integration tests, infrastructure as a code, continuous integration and a infrastructure team that is working side by side with the developers.

At the beginning this seemed to be an impossible task, QA and deployment were completely manual, there was no unit testing, no code reviews, a clear separation between developers and operations. The code itself was a mess too, with lots of moving parts, outdated libraries and no easy way to introduce testing.

But we slowly made progress, simplified the system and slowly worked our way up from deploying once in a blue moon, to once, then twice a week.

Currently we are at one deploy a day, with some manual involvement of QA. The deployment gets kicked off by a chatbot and is well documented in our engineering handbook.

The short version looks like this:
  1. Check QA status
  2. Tell the chatbot to deploy 
  3. Check the metrics
Everybody in the engineering team is already in the rotation of deploys and it is easy enough for everyone in the company to do it.

Our CEO Raj Kumar was happy to do it and sat together with our two infrastructure engineers to help him along. Because there are some permission requirements it was also easier to do it from the workstation of our lead engineer.

After some hiccups in QA the progress went smoothly and we had a new release in production.

I guess in the end he was surprised how boring it turned out to be. Which a deploy should be.





btw: we are hiring: Check out our current open positions


*) the hat is part of the deploy protocol and not a fashion statement







Tuesday, January 28, 2020

Saying goodbye to some legacy code

When I joined Devex a bit more than six years ago most of the code base was in one large monolith. This monolith was based on Ruby On Rails and was responsible for delivering devex.com.
urn

This part was called "neo". I guess because it was a rewrite of a previous Java
version. I am not sure if it was a reference to Matrix or the Greek meaning. 

There were already some initiatives in place rewriting parts of it in different services, but the monolith was always looming in the background.
Any changes to it required increasing amount of work. It was like someone tried to put the definition of technical code into code.

I generally against rewrites, they tend to last for years and you loose a lot of knowledge that is baked into the original. I also have nothing against Monoliths. So I tried refreshing the code base by upgrading the dependencies, getting the few tests to run and making local development easier with Vagrant. I realized fairly early that this was not going to work.

So we went with a gradual rewrite. Whenever we worked on part of the site we migrated it to our new architecture (Also a Monolith or at least a Duolith).

Now six years later we finally switched off the remainders of "neo" and I thought we should celebrate in style.

Legacy code is after all something that successfully supported you for a long time and enabled you to start with something fresh. Devex wouldn't be were we are without "neo".
Cremation - ignore the dog

So we staged a proper funeral, where everybody who wanted said some words. We also collected printouts of the most annoying bits of code, some very dated looking screenshots and some email and chat conversations from the very beginning.



This was my eulogy:
Today we say goodbye to maybe the best known system at Devex.+
Neo - from Greek meaning young or new, which he was neither.
Or from the Matrix character, handsome, powerful and agile, which he was also not.

We all have memories of him that will stay with us for a long time.
We laughed about his quirks.
He had amazing depths, which brought us sometimes close to tears trying to understand him.

His heritage will live forever in our data structures.
Finally we burned the printouts, collected them in an urn (aka hummus glass) and cheered with Cava while chatting about the "good" old days.

I hope you can give your legacy code also the sendoff they deserve.

The End

Update (March 2020)

We got a present from our CEO while he was visiting the Barcelona Devex office this week....

RIP Neo Mug







Monday, September 17, 2018

Books I wish I read earlier

When I wrote the review of The Manager's Path I started to think about other books I wish I had read earlier.

Usually these triggered some kind of change in how I approach my work or life. This list is definitely incomplete and I will add more to the goodreads list at the bottom of this post.

Extreme Programming Explained: Embrace Change by Kent Beck

I still remember when and where I read this for the first time. It was on a plane from the US OSCON back to London where I had my start-up. 
Up to that point all of our projects where waterfall and we basically had no unit tests in our code.
On the plane I decided we had to do major changes and we did these over the next years.
I was still pretty inexperienced in leading a team, but this was one step into the right direction.

By now most of the things mentioned in the book, like pair programming, small cycles, unit testing, agility are well used and documented. This small book is probably still worth a read.

Getting Things Done: The Art of Stress-Free Productivity

This book is one of the ones where the solution is so obvious that a one page summary would probably enough. Nonetheless this is a good book and gave me a better idea about organizing myself.
I am using a mix of the paper approach for all the paper one still receives and Todoist for everything else.

In the end it is just a form of Kanban or Inbox Zero. It doesn't matter how you manage your tasks, just keep your work in progress small and your tasks prioritized. 

Web Operations: Keeping the Data On Time

A collection of essays and interviews that gave me lots of ideas about DevOps and that side of a company in general. I still use it as a reference for things like post mortems.
 
Because these are mostly stories it is an easy read and you don't have to read the book in sequence, just pick the ones that you find most interesting.

Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity

Mostly interesting and inspiring because I am so hopeless bad at this. As an introvert the idea of being candid and even worse radical candid seems absurd. But I know it is one of the areas I have to work on and the book gave me new ideas in a nice form.

It is a bit long though and does repeat the main points over and over again. 

The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses

I am not working at a start-up any more, neither am I on the business side. I just wish we had this in my time in London. We would have avoided a lot of pain and would probably be still around now.
Implementing this in an existing setting is a lot harder unless you have buy in from the top.

The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change

A great book for engineers transitioning to management. Another book I would have loved to have had at my start-up, thankfully it didn't exist back then. My review of The Manager's Path.

Definitely worth reading for all developers even if you don't plan to go into management.

Thursday, August 23, 2018

My manager README


Original is here: https://github.com/christofdamian/manager-readme#manager-readme

Update December 2020: I decided to make the repository private for now. I have some doubt if a manager README makes sense and mine was also not up to date. I might pick this up again in the future.

Manager README?

A few people (not only managers) now share information in a README or how-to style document on the web. The first one I came across was How to Rands. I thought it is a good idea for new team members, but also for people in the company who don't have constant contact with me. 

What I do

I am the Technical Director at Devex. I am mostly a manager, but as we grow progressing into a manager of managers.

My job is to make the product development run as smoothly and productive as possible. This includes slowly growing the team to adapt to a growing company. It also means making everyone in my team successful in his job by providing everything they need.

I am also usually the first contact point when there any questions regarding technology from other teams or outside.

I do make decisions about a lot of things and prefer to make an early decision to waiting for the perfect decision.

What I am about

  • I am an introvert, this means I get exhausted if I have a lot of meetings and no time in between to recover. Social events with a lot of people I don't know are especially taxing.
  • I am very patient and prefer evolution over revolutions.
  • I am the person who says "no" to most people, this goes for my team as well as the rest of the company. It is easier to say "yes" because it is preferred by most people and you always to want to help everyone.
  • I tend to think a lot before I talk, this can be awkward in conversations.
  • I think meetings with more than four people are usually a waste, unless they are highly structured or ritualised like a retrospective or an all hands meeting. All meetings should result in action items (having another meeting with the same group is not considered an action item).
  • I prefer nudging over forcing people into one direction.
  • I have strong opinions about how do to things, but I can be convinced with the right arguments.
  • I strongly believe in being agile, from the project management side to programming.
  • I try to be as transparent as possible, please nudge me if I am not
  • I am pragmatic and prefer to have something good enough today, then something perfect in some distance future.
  • I take the blame, but share the kudos.

My schedule

I am usually in the office from 9:00 to 18:00. I don't like to stay longer and will cancel meetings set up after 18:00 unless I agree that it is very important and can't be scheduled to another time. I don't read slack or email outside of working times.

I live in my calendar and it is always really packed, but it is fully public and you can just schedule a meeting with me whenever you like.

If you are on my team we will have regular 1:1s and also retrospectives. If something important comes up I am always available to talk.

Communication

My preferred communication medium for actionable items is email. Jira is on par with email.

Slack also works, but I am treating it as asynchronous and will not respond as soon as possible, depending on the urgency. I might also not scroll back in a lot of channels when catching up.

I will also post updates to the internal blog, maybe once a month.

Finally there are the meetings, either 1:1s, team meetings or impromptu meetings.

1:1s

I currently have my 1:1s every four weeks. I am trying to increase frequency by sharing the load with others. With indirect reports it will be more like once a quarter.

The 1:1 is the place where you can bring up any topics that you are not comfortable sharing in retrospectives or other meetings. I am asking some questions to get the conversation started. These have evolved a bit over time.
  • How is life?
  • What are you worried about at the moment?
  • What are you excited about at the moment?
  • How can I help you learn and grow?
  • Do you have any feedback for me? 

What I expect from you (if you are on my team)

I expect you to try to do the best job you can.

If there are any road blocks or problems I expect you to bring these up with me so we can make sure you don't get stuck.

Come to me early when there is a problem to avoid any frustration. There will never be blame, we will just fix it together.

Books I recommend

  • The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier
  • Web Operations: Keeping the Data on Time by John Allspaw, Jesse Robbins
  • Extreme Programming Explained: Embrace Change (The XP Series) by Kent Beck, Cynthia Andres
  • The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses by Eric Ries
  • Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity by Kim Malone Scott
  • Getting Things Done: The Art of Stress-Free Productivity by David Allen

What I am doing aside from work

Most of my free time I try to spend on my bicycle, this is where I decompress and my way of meditation.

I am interested in urbanism and life sized cities and have strong opinions about this.

I also like to follow the Linux and Open Source world. I am a contributor to the Fedora Linux distribution, but nowadays I have nearly no time to work on it.

Me on the Internet

If you like to keep up to date with my random rants on the internet

Saturday, August 18, 2018

How to balance technical and business needs - Video Interview



Steven from Drive To Improve interviewed me and Fernando Palomo about balancing technical and business needs of a company.

Steven did a very good job and made it did feel much shorter than it was. Good to see Fernando again too, working with him at Splendia was brilliant.

Excuse my English and hair.

Friday, May 02, 2014

Friday Links

The Three Flaws in Software Design & How to Avoid Them
http://www.youtube.com/playlist?list=PLOU2XLYxmsIJ7HGm2bv20QrtwcWemSRCI

Github: Updated Services UI
https://github.com/blog/1827-updated-services-ui

Atlassian: Now in JIRA Agile Labs: an all new control chart
http://blogs.atlassian.com/2014/04/now-jira-agile-labs-new-control-chart/

Atlassian: 6 key ways to optimize development with a control chart
http://blogs.atlassian.com/2014/04/6-key-ways-optimize-development-control-chart/

How Disqus Went Realtime with 165K Messages Per Second and Less than .2 Seconds Latency
http://highscalability.com/blog/2014/4/28/how-disqus-went-realtime-with-165k-messages-per-second-and-l.html

3 ways to do eager loading (preloading) in Rails 3 & 4
http://blog.arkency.com/2013/12/rails4-preloading/

Drowning in problems:
http://game.notch.net/drowning/

There were also some rants about TDD, which I am not going to bother to list 

Friday, February 07, 2014

Friday Links

Chromebox, now for simpler and better meetings
http://googleblog.blogspot.de/2014/02/chromebox-now-for-simpler-and-better.html

Evaluating JIRA Agile – Scrum masters
http://blogs.atlassian.com/2014/02/evaluating-jira-agile-scrum-masters/

Evaluating JIRA Agile – Product owners
http://blogs.atlassian.com/2014/02/evaluating-jira-agile-product-owners/

Why Google has 200m reasons to put engineers over designers
http://www.theguardian.com/technology/2014/feb/05/why-google-engineers-designers

AWS Tips I Wish I'd Known Before I Started
http://wblinks.com/notes/aws-tips-i-wish-id-known-before-i-started/

Google Testing: Minimizing Unreproducible Bugs
http://googletesting.blogspot.de/2014/02/minimizing-unreproducible-bugs.html

Tuenti: Continuous Integration
http://corporate.tuenti.com/en/dev/blog/tags/continuous%20integration