anthony galvin

TAGGED: WORK

I'm a technolgist at TodayTix, the posts below are about work, but probably don't reflect my employers opinions. If you want to connect about work related topics, then this is probably the best place to do it. Work related tweets @workoworko

25 Years

25 years ago this week I started working at what was then known as a 'web agency'. I started off as the 'work experience' kid - I suppose today I would have been an intern.

Quickly that became a part-time and then a full time job. The dot com boom was still in full swing. I didn't know a lot, but I bought a book on building websites from the computer section of Foyles on Charing Cross road. The 'internet' section didn't even fill a whole shelf. So much about technology and building websites has changed since 1999.

But amazingly many of the fundamentals I started to learn about on that first day (between making cups of tea), remain true today.

1/ Good design makes complex things appear simple. But simple is unbelievably difficult to achieve

2/ Thinking about the end user as a real person really helps - the best way to achieve this is to talk to some of your users regularly

3/ Readable code beats 'clever code' 99% of the time - leave comments. The next person will thank you (that next person is often your future self)

4/ Technology is like cricket, an individual sport wrapped in a team game. A lot of working with tech is an individual endeavour, but it's a team game. You need to operate well as an individual contributor and be an excellent collaborator to succeed

5/ It always takes longer than you think (Hofstadter's Law is real), and you often don't control the deadline - try and have a version that's ready to ship even if it's not quite right

6/ Fast web pages with good semantic markup are good pages - 25 years on having a H1 on the page is still a good thing! Web frameworks are amazing, but good markup wins every time

#work #career #web #25years

10/01/2024 permalink

VP Engineering Dashboard

Productivity advice famously doesn't work. A persons tips are almost certainly only applicable to them - we are unique individuals, perhaps with only a love of searching the internet for productivity tips in common. So with that caveat I'm sharing an approach that's been working for me. Your mileage will vary as the internet often says.

Like lots of people in engineering lead roles I have a lot plates to spin. I have 3 main tools I use to make sure I'm dropping the right things - an infinite bullet list of notes and links (in Workflowy), my calendar (colour coded, but more on that later) and a Miro dashboard, which I spend a little bit of time updating on a Monday morning.

The dashboard is pretty simple, but it helps me ensure that I'm spending my time on the right things and also communicate to my team what I'm focussing on this week.

Driving (up to 50% of my time) - initiatives where I'm a key contributor, or I'm directly accountable

Supporting (20%) - important but I'm playing a supporting role

Monitoring (5%) - I need to know what's happening but I'm not a contributor

Directs (at least 20% of my time) - my direct reports

Coaching (~5%) - people I'm keeping an eye on (maybe skip reports) or am supporting in some way

The colour coding is the key, because I then use that in my calendar and notes to visually link everything together. If I glance at my calendar and there's two much green, then it means I'm not spending my time on the right things. It's not a hard and fast rule, but a heuristic that helps me keep things on track.

There's a template available in Miroverse if you want to give it a try.

#work #process #productivity #career

18/04/2023 permalink

Specialists and generalists: The challenge of building multi-stack engineering experience

When I started off in web development, back in the last century, everyone was a generalist. And generally people didn't really know what they were doing. Which was fine, we made it up as we went along, learning little bits along the way. For most engineers working with the web, the problems weren't that complicated. Tying to get your blink tag to render on various versions of IE and Netscape Navigator. Infuriating for sure. But in the grand scheme of things not that complex.

Fast forward 25 years or so and complexity abounds. Or it can do. Especially for bigger organisations working with bigger teams on (hopefully) bigger problems. In the front-end world new frameworks have supercharged the user experience of many web based products and services. With the added complexity and learning curve that a power tool demands. App development, for a while the home of the 'native' developer also has a plethora of cross-platform and alternative authoring options. These promise (though don't often deliver) a simplified development environment. Away from the front end, contributors to languages such as Grails, Python, GoLang and node.js add more and more features. Promising better, more powerful tools, with an ever improving developer experience (I said promise).

So where does this leave engineering teams and hiring managers. In a medium sized tech company nobody can know the entire architecture and tech stack. At least not with any mastery beyond some boxes on an investor presentation. It takes a team to deliver and in most organisations lots of different skills.

When hiring engineers, I always enjoy learning about how they solve problems that I don't see everyday. I meet a lot of candidates. It's fascinating how peple deploy so many different tools and technologies in such a variety of combinations. Sometimes people describe themselves as "full stack engineers" - which isn't a phrase I love. Full stack invariably means some back-end and some front-end engineering experience. But it doesn't mean the entire stack. No one person at TodayTix Group is able to deliver with mastery across every part of our architecture. We don't expect any one person to do so.

But we still hire full stack engineers. Teams taking on a problem need to be able to solve that problem regardless of the technology or tool that it touches. Which is why we have cross-functional teams with a mix of skills, experience and perspectives. Good engineering practices and process can go a long way regardless of the technology in play. The best full stack engineers (or multi-stack engineers for want of a better label) can bring multiple points of view. Arguably good engineers are generalists. However, complex problems often need someone to focus on a specific area, and in tech companies that specialism can get very, very specific. Which can be good for the organisation and very rewarding for individuals, at least for a while.

When I say a while, I have a specific example in mind. When I joined TodayTix Group I inherited a migration project. The goal was to integrate an acquired business. Moving off a legacy main-frame system that was decades old. Many of the project team had been maintaining this system for decades as well. They were true specialists. Day to day work for the team was a combination of being a care worker, therapist and engineer. But their decades of deep specialism hadn't equipped them or the company for the future. This wasn't the fault of the team. A failure of leadership had stymied technology strategy. A failure of people management and career coaching. Aligned with diverging company and individual priorities. The longer the business stuck with the mainframe the less incentive it had to develop the engineers supporting the system.

In a career as an engineer it makes sense to focus on the challenge at hand, to specialise in technology and tools that benefit you and your team. The path to being an experienced engineer is to build experience. Learning a new framework isn't experience. Solving some real customer or business challenges with it is experience.

But focussing on a single tool without taking the time to check-in on wider developments in your industry and chosen field is limiting. Ideally your manager should be taking some time to help you get this kind of perspective. But that's not always the case - especially if you're not a full time employee, work for yourself or work in a smaller organisation (and unfortunately in some bigger companies too!). If that's the case it's important to find other ways to do this. To have someone who you can chat to about career development, technology changes and what that means for you.

The goal for more experienced engineers is to be a general specialist. Someone with a variety of experience in different technologies, with knowledge of one or two technologies that are current. Like gardening career development is easier if you do it a little and often - not go on a training course once every 10 years.

#work #software #development #career #fullstack #hiring

22/12/2022 permalink

Yesterday evening, I finished work, had dinner with my family and then cycled up Alpe d'Huez.

Not the real, physical one, but a simulacra of one in Zwift, the virtual cycling app / game / training tool. I wasn't on my own, there were thousands of other cyclists on the mountain. Well not on the mountain - in their garages, sheds and living rooms.

Over the last few months there's been a lot written / spoken / tweeted about the Metaverse. Especially since the company that makes Facebook (previously also called Facebook) changed it's name to Meta. Of course nobody who regularly uses the Metaverse is calling it "the Metaverse". They are spending time in Roblox. Or playing Minecraft. Or even Second Life (for the retronauts).

This concept of a virtual world where people can interact in a 3D way has been around for some time. I remember working on virtual cafe for Nescafe, as a graduate at a small web agency all the way back in 1999. It was slow. People still had dial-up. Nobody was really interested in a branded cafe experience. Especially one sponsored by an instant coffee company.

The other day someone asked me if TodayTix Group had a Metaverse strategy. I can imagine the company selling tickets for virtual events. But so much of what the company does is about getting people together at live events. It sounded odd even verbalising it. For me the hours spend in Zwift are a means to an end. An attempt to do some exercise and get a bit less unfit in a fun and convenient way.

So what's next for the Metaverse? Maybe people will spend even more time in these places - the price of hardware will fall and faster internet connections become more ubiquitous.

Will people choose the Meta over reality? With better 3D googles? And more painfully realistic recreations of alpine climbs? I'm not so sure. I can't see people choosing the Meta in-place of reality. If you offered me a week cycling in France or 7-days on a virtual trainer I know which one I'd choose. But as a facilitator of convenience or entertainment there's a place in our connected world for these virtual spaces.

#cycling #metaverse #technology #3d #zwift #work

25/02/2022 permalink

No 10 plans to lower salary level at which graduates start repaying loans

Government believes too many students are racking up debts studying “soft” 3-year university courses in arts and social sciences, and is looking to funnel more 18 year olds towards technical training that is cheaper and will pay a faster economic dividend.

It probably was “soft” compared to some degrees, but I learnt an awful lot of “soft” skills that have proved way more important than the technical skills that I learned on the job.

#links #education #work #creativity #politics

27/09/2021 permalink

The Mentorship Diamond

The idea that one person, your manager, is going to be the oracle on your career is a bit optimistic. Mentees all round!

#links #work #tech #careers #mentoring

16/09/2021 permalink

The Case for ‘Developer Experience’

If you're an engineering lead business and you make vendor and toolset choices that don't take account of the impact on the team it's not likely to go so well.

#links #work #tech #strategy

16/09/2021 permalink

Optimizing a homepage image from 10MB to 78KB

Great deep dive into image optimisation - and a reminder that really delivering on web performance often takes expertise and diligence that's hard to deliver at scale.

#links #web #work #images #optimisation #performance #internet

15/09/2021 permalink

The best way to validate an email is probably to send one

Feels like every few months I end up sharing this link. Email has been around for 40 years and it's still catching us out.

#links #work #email #coding

15/09/2021 permalink

It's taken me a while to come to this realisation, but I've spent a huge chunk of my life trying to achieve things with teams. Sports teams, software teams, bands, orchestras, actors and product teams. To be fair not all of these notional teams have been successful - but when they work well, teams are awesome.

It's a cliche to say that "being a team player" is important at work. Most of the time this is just a platitude for people who don't rock the boat. A way of saying that the person in question is no trouble. I don't always buy into this team of mates dynamic.

To continue the cricketing viewpoint, Mike Brierley, arguably the greatest exponent of captaincy and understanding the psychology of teams sums it up nicely "If individualists are too powerful, too divisive and too selfish, the team suffers. If they run riot, the notion of team scarcely exists. At the other extreme, some teams can become flat, conformist and dull. Far from running riot, individuality is suppressed."

So there's plenty of scope for the right kind of discussion and a team that's able to sometimes hold divergent points of view, at least for short periods of time.

It's not always easy to identify the right group dynamic from the inside, never mind on the outside. In my experience it's one of the reasons why agencies often struggle with consistently casting high performance teams. Even if resourcing is operating beyond the principle of "availability as a skillset", the people making the decisions when pulling together new project teams are on the outside, and from there the signals of a genuinely good team are almost impossible to detect. In an agency it can sometimes feels like the approach is "We've got this project team performing really well. Now we've delivered everything we should break the team up and make sure this group of individuals never work together again".

I've written recently about some of the challenges in scaling teams across multiple locations, but as well as geography having a significant impact, more people also comes with a time cost.

More people doesn't have to mean your people. As the number of integrations, partners and vendors increase the time cost of managing, motivating and co-ordinating all these different folks can have a significant impact. A small team that has many thrd-party integrations doesn't just have a scope challenge, it also has team management challenge as well.

Perhaps this is the ultimate team challenge - when the team in question isn't just your team, but other teams as well.

#work #teams #agile #remote #software

25/02/2019 permalink

next >>