DEV Community

Cover image for What's the most fun you've ever had coding?
Ben Halpern
Ben Halpern Subscriber

Posted on

What's the most fun you've ever had coding?

Give this some thought and let us know!

Top comments (40)

Collapse
 
ben profile image
Ben Halpern

Here's what I can come up with:

As an entrepreneur, there are no shortage of fun programming moments as it's often the result of a lot of inspiration which goes beyond the activity itself.

In the early days of what became DEV, and then grew into Forem, I spent a lot of time thinking and then would code pretty quickly.

DEV was launched the day after I typed rails new. Rails came to fame from the famous "Building a Blog System in 15 Minutes" demo, so it sort of tracks that the beginnings can come together pretty quickly. It was the clarity on how it might be useful and grow that was more inspirational than the coding task, but putting it together was exciting.

Later on, features like comments, reactions, etc. were generally stuff I built in about a day. I actually built reactions while hanging out with @triketora in a little impromptu hack session when we lived in NYC. I definitely remember this more than anyone else, but I definitely felt like I wasn't really engaging in the conversation because I really felt on to something. 😅

At times I've overdone it on the inspiration-driven coding and it's not as useful as it once was for me, but it is one hell of a time.

Collapse
 
ben profile image
Ben Halpern

Current Forem team members and contributors over the years: "Yeah, I can tell a lot of this was built quickly, isn't always so much fun years later".

Collapse
 
cerchie profile image
Lucia Cerchie • Edited

Whenever I get to pair with someone on something really challenging, it's super fun! Having someone else to bounce ideas off of and help out is a great experience.

Collapse
 
ben profile image
Ben Halpern

Ohh good one. It is often the human element that makes the difference. For me it can go in either direction: The joy of doing something with the right people or the joy of doing something solo in the right way where the solo part is special.

I've engaged in just a bit of mob programming and it was a lot of fun.

Collapse
 
cerchie profile image
Lucia Cerchie

Yes mob programming is so much fun! I think you're right about doing something solo too -- it depends. :)

Thread Thread
 
grocker42 profile image
Grocker

What is mob programming ?

Thread Thread
 
cerchie profile image
Lucia Cerchie

Here's a strict definition -- usually when I use it I just mean pairing with more than one person agilealliance.org/glossary/mob-pro...

Collapse
 
ziker22 profile image
Zikitel22

I remember one time.
Greenfield project first beta version goes to production we are about to release it when somebody realise that we totally forgot about 404 page.
We pinged designers but it was close to midnight and they werent considered as critical members to do release so they were offline and probably drunk :)

All frontend engineers sat infront of the one computer for an hour and put together 404 page with faces of designers with totally crazy animations. I mean that thing had like 30 moving parts and would give you seizure.
Then we got drunk as well

Collapse
 
igor_bykov profile image
Igor Bykov • Edited

I started to learn PHP already having some experience in JS. So, do you know that thing when you're that lazy that instead of really learning a new programming language, you just try to extrapolate as much as you can from your previous experience? Here we go!

The second day of learning PHP I found out that linting was a somewhat complicated topic. Also, there was a test framework but there was not a test runner, really. So, you'd need to go & execute your tests.

So, without much evaluation I found something that was positioning itself as a "task runner for PHP".

After playing around with it for a while I found it super useful but there were some limitations. For instance, you could observe changes to only 1 file/folder at a time & you was supposed to be managing the entire process. For instance, the thing would run the linting command & try to output the file into a folder, but if there's a file with the same name there already - it will fail (why to output linted files into the build folder? Well, I don't know really! Because you need a build step? The point is that in-place linting surely wasn't an option because it was producing the code ugly AF 😂).

So, after observing all that I said "not on my duty!" and extended the task runner with my own code!
Basically, I made it observing the entire src & built a light abstraction to be able to register callbacks for adding new functionality without writing much code.

That was completely pointless yet amazing. Felt like re-building webpack. Really badly. In a language you don't know. Well, actually it was exactly this!

I use this thing until now since it's integrated in a couple of projects that are still alive.
It still runs my tests automatically for me on each file change. I even taught it to pack files inside my dist into a gzip (luckily it was just a question of invoking a task runner function).

Each time I run it, I hope it still works (I didn't touched its code for 3+ years) since I will surely not be capable to fix it if it doesn't.

Collapse
 
nicolasini profile image
Nico S___

It was many years ago, during a company Hackathon.
We developed a Chatbot that integrated HipChat with our CI/CD system to tell us the state of builds. It could also tell you what builds were deployed to what environments.
A clear case of "scratch your own itch".
This is back in 2015, very early adopters of the chatbot hype. So tooling and tutorials were very slim. It was a great coding challenge for the group.
Needless to say, we won the hackathon 💪🏻

Collapse
 
andrewbaisden profile image
Andrew Baisden

Greenfield projects give me this most fun. Anything that lets me use my preferred technical stack.

Collapse
 
kspeakman profile image
Kasey Speakman

For me it was creating a work queue with simultaneous workers and dependencies between work items. It processed CSV files, put the data in query-able tables. Some tables depended on data from other tables. And the data was not necessarily clean so I had to validate it and store the validation problems. It was interesting to explore the multi-threading aspect, solve queue dependency ordering, and other challenges. At one point I was able to completely saturate our database's CPU and remember feeling proud of that. (Although I think that turned out to be something I fixed later.)

Collapse
 
pengeszikra profile image
Peter Vivo

When I meet Multi Line Task javascript kata in code.wars (and solved)

Description:
You need to write a function f that returns the string Hello, world!.

Requirement: Every line must have at most 1 character, and total number of lines must be less than 145

[
,
m
,
,
b
,
,
H
,
,
l
,
,
o
,
,
V
,
,
S
,
,
w
,
,
F
]
=
// .... + few more lines
Enter fullscreen mode Exit fullscreen mode
Collapse
 
theaccordance profile image
Joe Mainwaring

Most fun I’ve had coding:

  • Winning a hackathon for building an Alexa integration with a B2B HRTech product.
  • Automated vote submissions for a contest that won my office a lot of free beer
  • Built a project over a weekend that would anonymously text Game of Thrones spoilers to unsuspecting victims
Collapse
 
sush_kd profile image
Sushant Kumar Das

For me it was creating a coupon+referral system during an internship.
At the first instance it seemed simple enough, but as me and senior backend dev worked on it's extensibility, we made a very nice complex system where coupons could be percentage based/absolute coin based.
The system could handle quite complex business logic (with no change in code required),
e.g. if the user has played more than 5 games in the past 4 days and hasn't used more than 2 coupons, only then the coupon is valid and the corresponding credit will be transferred after you have played at least one game after coupon application.