The internet has changed


The internet has changed

I don't know exactly when I started getting this feeling, but I feel it very strongly now. I was born in '91 and began programming at the ripe age of 12, got my first job around 2013.

Programming was exciting. Everything was yet to be built. There were very few devtool companies at the time. I remember the day that Mixpanel launched, I remember Cloudflare being a startup, I remember writing CSS by hand, and ofcourse I will always remember writing jQuery.

I recall saying "I'm gonna SSH into the prod box." Even now, I think that's one of the coolest things a programmer can say.

But the internet has changed. And I don't mean the proliferation of social networks, or the degradation of Google's search results. None of that. I mean that being a software engineer is now a completely different thing. Building for the internet has changed.

So what changed? IMO these past 15 years have seen the rise of developer tooling with a very strong focus on DX, widespread and cheap access to excellent learning material, and no-code tools. And let's not forget AI copilots and other forms of code generation products.

Let's face it. Programming is getting easier. And that's a good thing. It's also nothing new.

My father was a FORTRAN programmer. He didn't have Fast Refresh or LiveReload, nah... he had to carry a big ol' stack of punchcards, wait in line and then scream at the universe after getting his results the next day when realising his program had ran out of memory, or accidentally punched the wrong hole, or the computer just crashed.

Back when I was in uni, "mobile development" was starting to be a thing. I was developing an Android app for one of the first Android versions. My workflow was literally write code, generate .apk, upload the .apk to Gmail, send myself an email, then open the Gmail app on my mobile, download the apk, test changes. Oh, and then scream at the universe when realising my program had ran out of memory or whatever [1][2].

What's next?

Today I wrote a ticket at my job, a relatively straightforward, self contained ticket. I was going to assigning it to a junior dev, so I took extra time and care to spec out all the important details. It probably took me around 40m in total.

Right before I hit the send button, a thought popped inside my head. "Why don't I just pass this ticket as-is to my AI copilot?". Well, It did the job. It had one small bug which I was able to fix really quickly. Implementing this by hand would have probably taken me 3-4 hours.

I don't know what the next 10 years will be like, but I have a feeling they are going to be very different, and very exciting.

[1]: To be fair, this was also my fault in the sense that I didn't learn about adb until way later. But my point is that even if a better workflow was possible, the resources just weren't there. There wasn't a magical "play" button in Eclipse that would just run my changes on the phone.

[2]: I'm almost ashamed of saying this but I remember literally running around campus just to "e2e test" the GPS-powered app I was building at the time. There was, to my knowledge, no way to send mock GPS signals to an Android device.

If you liked this article, follow me on twitter. I write about once a month about software engineering practices and programming in general.

Other posts you may like...

© Fernando Hurtado Cardenas.RSS