"We Ran Out Of Columns" - The Worst Codebase Ever
Summary
TLDRThe video script narrates the speaker's experience with a chaotic yet fascinating codebase that started with a database column limitation, leading to creative solutions and humorous anecdotes. It touches on the culture shaped by databases, the quirks of legacy systems, and the ingenuity of developers who carved out their own efficiencies within a monolithic application. The story highlights the beauty in the mess, celebrating the direct impact developers had on improving user experiences, despite the lack of a coherent master plan.
Takeaways
- 😲 The speaker expresses excitement over a story that begins with a database running out of columns, highlighting the unusual and challenging nature of the situation.
- 🔢 The script discusses various database limitations, such as a hard limit of 32,000 columns per table in SQL Server and the concept of 'dynamic pivot' when needing more than 1,124 columns.
- 💡 The speaker reminisces about their first software job, which was both a trial by fire and a memorable experience, despite the codebase being the worst and best they have ever encountered.
- 🏢 The importance of the database in a company's culture is emphasized, with the database being described as a 'culture maker' and a central point where all code meets to operate the system.
- 📈 The story illustrates the evolution of database design, from a table with 1,500 columns to using JSON storage in a column, reflecting the creative solutions developers come up with when faced with limitations.
- 🚀 The speaker shares anecdotes about unique and sometimes absurd database practices, such as a table named 'sequence key' used for generating IDs before auto-incrementing was supported.
- 📅 A humorous situation is described where a company's login system was dependent on a manually filled-out 'calendar' table, which if not updated, would prevent logins.
- 👷♂️ The narrative includes tales of interns and developers creating one-off applications and workarounds, sometimes resulting in more complex issues or workarounds themselves.
- 🛠️ The speaker reflects on the chaotic yet innovative nature of the codebase they worked with, which lacked a master plan but allowed for individual developers to create their own solutions.
- 🌐 The script touches on the idea of open-sourcing old software for AI training, suggesting that real production code could be beneficial for AI learning.
- 🛑 The story concludes with the speaker's appreciation for the 'beautiful mess' of the codebase, highlighting the positive aspects of working in a system without strict architectural constraints.
Q & A
What was the initial excitement about the story involving columns?
-The excitement stemmed from the unexpected situation of running out of columns in the 'Merchants' table, which led to the creation of 'Merchants 2', sparking interest in the challenges and solutions related to database schema design.
What is the maximum column count allowed in SQL Server tables?
-SQL Server has a hard limit of 1,024 columns per table, which is a significant constraint that developers need to consider when designing database schemas.
Why is it recommended to reconsider your approach if needing more than 1,124 columns in a dynamic pivot?
-Needing more than 1,124 columns suggests that the data model might be overly complex or not normalized properly, indicating a potential need for a more efficient data structure or redesign.
What was the speaker's realization about professional programming compared to their early hobbyist programming?
-The speaker realized that professional programming can involve working with poorly designed codebases and dealing with complex, real-world problems, which is quite different from the simpler, more controlled environment of hobbyist programming.
What was the cultural impact of the database in the speaker's first job?
-The database became a 'culture maker', influencing how the entire company operated, with everything revolving around stored procedures and the database's constraints, shaping the company's workflow and practices.
What is the significance of the 'sequence key' table in the script?
-The 'sequence key' table, with a single column and row, served as a simple yet effective method for generating unique IDs for new entities in the system, highlighting a clever workaround for the lack of auto-incrementing IDs in SQL Server.
Why did the speaker suggest that every piece of software over 10 years old should be open-sourced for AI training?
-The speaker believes that real production code from older software could provide valuable insights and learning opportunities for AI systems, potentially improving their ability to understand and work with complex, real-world codebases.
What was the 'calendar' table's role in the system mentioned in the script?
-The 'calendar' table was a manually filled-out database table that, when full, would prevent users from logging into the system, illustrating an unusual and potentially problematic dependency on a simple data table for system access control.
How did the speaker describe the experience of working in a codebase with no master plan?
-The speaker found it liberating to work in a codebase without a master plan, allowing developers to create their own 'world of sanity' within the larger, chaotic system, and build new solutions without the burden of adhering to a rigid design.
What was Justin's approach to improving the merchant search page's performance?
-Justin decoupled the page by making each box on the screen its own endpoint, loading everything asynchronously, which drastically reduced the page load time from minutes to seconds, demonstrating the power of a focused, independent approach to optimization.
Outlines
😅 Database Column Limit Excitement
The speaker expresses excitement over a story that begins with a database running out of columns. They discuss the maximum column limits in various database systems, such as Microsoft SQL Server, and humorously suggest that needing more than a certain number of columns is a sign to rethink one's approach. The narrative reflects on the speaker's early programming experiences and the stark contrast between amateur and professional codebases, highlighting the chaotic yet fascinating nature of legacy systems.
📚 Legacy Database Culture and ID Generation
This paragraph delves into the cultural impact of databases within a company, using the term 'Watering Hole' as a metaphor for where all code converges. The speaker shares anecdotes about a 'Merchants' table with over 1,500 columns and the creative workarounds used when the database ran out of columns, such as storing JSON in a column. They also touch on the use of sequence keys for ID generation in the absence of auto-incrementing features in SQL Server, and the resulting implicit joins across multiple tables.
😵💫 Bizarre Database Practices and Intern Stories
The speaker recounts peculiar database practices, such as manually filling out a 'calendar' table that dictates system accessibility and the daily dropping and repopulating of an 'employees' table. They express concern over the lack of automation in these processes and share a story about an intern who had to manually extend the calendar's range to prevent system lockouts. The narrative also touches on the idea of open-sourcing old software for AI training purposes.
🤯 Over-normalized Databases and Developer Autonomy
The paragraph discusses the concept of 'normalization syndrome' where databases have an excessive number of columns, leading to overly complex and atomic data structures. The speaker shares personal experiences with such databases and the tendency to create one-off applications for individual users, as exemplified by a developer named 'Gilfoil.' The narrative highlights the autonomy developers had in carving out their own areas of sanity within the monolithic app, leading to a decentralized yet functional development environment.
🛠️ Codebase Chaos and Creative Problem Solving
The speaker reminisces about a particularly chaotic codebase that lacked a master plan or architectural review, allowing developers to create their own mini-apps within the larger system. They describe the ingenuity of a developer named Justin who dramatically improved the performance of a slow merchant search page by refactoring it to load asynchronously. The narrative celebrates the beauty of a codebase that, despite its messiness, enabled developers to solve problems creatively and efficiently.
🌟 Embracing the Beauty in Chaotic Codebases
In the final paragraph, the speaker reflects on the positive aspects of working in a seemingly disorganized codebase, appreciating the lack of constraints and the direct connection with users. They express a sense of nostalgia for the fast feedback loops and the ability to build and iterate quickly without the burden of grand planning or consistency requirements. The speaker finds beauty in the autonomy and creativity that such an environment fosters, even in the face of what could be considered a 'worst-case' scenario in software development.
Mindmap
Keywords
💡Codebase
💡Database Normalization
💡Stored Procedures
💡Dynamic Pivot
💡Merchants Table
💡JSON
💡Sequence Key
💡Soap Services
💡Reflection
💡Justin's Improvement
💡Enterprise Design Pattern
Highlights
Excitement over a database issue where they ran out of columns in the 'Merchants' table, leading to the creation of 'Merchants 2'.
Discussion on the maximum column count allowed in SQL Server, with a hard limit of 32,000 columns per table.
Advice to reconsider design choices if needing more than 1,224 columns in a dynamic pivot.
Reflections on the early days of programming and the evolution of professional software development.
Critique of the myth that modern startups use the greatest technologies and have well-structured codebases.
Experience from the first software job and the contrast between personal projects and professional codebases.
The 'Merchants' table's significance in the system, acting as a central data point with over 500 columns.
Innovative workarounds for database limitations, such as storing JSON in a column.
The 'sequence key' table, a minimalist design with a single key and value for generating IDs.
Challenges with a 'calendar' table that manually controlled system access, highlighting the importance of database design.
Humorous account of an intern's task to pre-fill the 'calendar' table for five years to prevent access issues.
Description of a legacy system where the database's design influenced the company's culture and operations.
The 'MacBook Under the Stairs' analogy, illustrating the neglect and potential risks of outdated or poorly managed systems.
The concept of 'database as a culture maker', emphasizing the central role of databases in shaping business processes.
Anecdote about a salesperson gaming the system by manipulating sales records, leading to accounting irregularities.
The story of 'Gilfoil', a legendary developer known for not checking in code and creating one-off applications.
Reflection on the beauty and chaos of a codebase without a master plan, allowing for creative problem-solving.
Justin's improvement of the merchant search page by breaking it into multiple end-point loads, significantly increasing performance.
Nostalgic appreciation for the direct connection with users and the simplicity of problem-solving in the early days of software development.
Transcripts
I have never been more excited about a
story that starts off with we ran out of
columns this is just making me excited
wow flashbang flashbang all right we ran
out of columns the best worst code base
on the merchants 2 table yeah we ran out
of columns on Merchants so we made
Merchants
too oh my gosh what is the allowed a
maximum column uh column count uh squeal
light how about squeal light isn't it
999 oh there's a hard limit of 32,000
okay columns per table 1,600 oh yeah
squeal server you're right you're right
uh Microsoft SQL Server I forgot about
this one okay they have the same thing
if you need more than this in your
Dynamic pivot time to get a second
thought to what you're doing I love this
if you need more than 1,24 columns in
your Dynamic pivot it's time to give a
second thought of what you're doing
really you know I would probably put
that number way lower okay we're talking
about way way low lower than that it's
that 2 to the 10 that things got out of
control you're like really two to the 10
that's the number that's crazy when I
started programming as a kid I didn't
know people were paid to program even as
I graduated high school I assumed that
the world of professional development
looked quite different from the code I
wrote in my spare time it's true it
looks worse that's the big lie I think
our industry has had for so long is that
you take these companies and whether
it's it used to be the fangs of old but
it's now probably the startups of today
uh all these startups using all the
greatest Technologies all the hooking up
to where everybody's just a cyber Mario
that just simply puts pipes together and
that's it even their codebases with
almost no business logic are absolute
dog water when I lucked my way into my
first software job I quickly learned
just how wrong and how right I had been
my first job was a trial by fire to this
day that code base Remains the worst and
the best codebase I've ever had the
pleasure of working in while the
codebase will forever remain locked by
proprietary walls of that particular
company I hope I can share some of its
most fun and scary stories I'm excited
here okay we're excited here come on the
database lives forever in a large Legacy
system the database is more than a place
to store data it is a culture maker it
dude this is so true oh my gosh I never
even thought about that but in my head I
was thinking about my first job my first
real job my first fully real real job in
which everything was stored procedures
and like we we we the entire company
like morphed itself around this idea of
stored procedures it became the the
culture of the company the database sets
the constraints for how the system as a
whole operates it is the point where all
code meets the the database is a water
is the watering hole in our case The
Watering Hole had quite a bit of
pollution it always does man did you
know that squeal server has a limit on
the number of columns you can have in a
table me neither at the time it was 10
uh two to the 10 uh today it appears to
be 2 to the 12 needless to say most
people don't know this we did the reason
Merchants our table store customer
information ran out of columns a long
time ago you know I've seen people get
around some of this by just storing Json
you know how many times you've seen Json
just stored in a random column how is
that legal Jason called it dude
it's oh my gosh something about that
just makes me emotionally painful then
you know when it gets real bad when you
see people using those like those fuzzy
those fuzzy matches or redx matches on a
wear statement to grab to like just look
at the
string that is Json not not we're not
talking about postgres with the uh the
Json good stuff we're talking about not
postgres and and just getting it you
know Jason B yeah it's called No squeal
Jason B is legit though yeah I haven't I
haven't tried any of those yeah columns
like wears Food Dude yes yes this this
is real this is real we column food dude
I've seen this and this is awful it's
2024 and if you're not using postgres
you're either a bank or wrong well there
is squeal light can we all agree squeal
light is amazing I've never said
anything bad about postgres but squeal
light is also very very good hasht ad
squeal light is is very very good squeal
light is slow when people say that I
don't think they know what they're
saying there's an entire talk about how
how not slow squeal light actually is
sharper guy do you write JavaScript on
the server lot of people people be
complaining about speed yet I don't see
them using C or Zig to write the world's
most optimized code that's what I'm just
say is you know you you can't be
complaining about the difference between
like two microseconds when you're out
there using a garbage collector okay
buddy okay
buddy I like serverless it's like okay
oh I'm really concerned about
performance then
anyways needless to say most people
don't need to know this we did the
reasons Merchant 2 blah blah blah
Merchant merch mer 2 was the solution a
table if I remember correctly with 500
plus columns itself damn damn they had
1,500 columns merchants and my best
friend Merchants too were the lifeblood
of the system everything made its way
back to Merchants somehow or other but
it wasn't as if Merchants was the solo
or Duo table there was plenty of
properly normalized table with all the
foreign keys to Merchants but one will
always hold a special place in my heart
sequence
key I can't wait for this sequence key
that for ease of understanding I have
recreated the whole sequence key table
above yes you read that
correctly this is the whole table a
table with the single key and a single
value if Simplicity is a virtue then one
might declare sequence key to be the
perfect table what could be simpler a
constant one in which you don't have to
look up you may be asking yourself what
possible use case could you have for a
table with one column in a row
generating IDs now the story I heard at
the time was the Once Upon a Time squeal
server didn't support Auto incrementing
IDs it was their primary key gener like
I honestly my brain couldn't even
conceive of this many DBS did like this
is just too painful sequence key I just
didn't want to believe it there's no way
I was going to let myself believe that
this was real I just I even as I read it
I'm like n nope not going to do it it's
not gonna be primary key not gonna be
nope
this was the accepted correct
answer my search to figure out if this
was true was inconclusive but in
practice had served as much as much more
than that sequence key was the glue in
every stored procedure that created new
entities you first grabbed a key from
sequence key incremented it then insert
that as your ID for n different tables
you now had an implicit join between all
those entry tables if you saw an ID in
the system there was a good chance
related tables would have a row with the
exact same ID honestly kind of clever
but isn't that just like database the
calendar a database may live forever but
our login system was limited by the
calendar I this okay okay I don't mean
an actual calendar I mean a database
table called calendar what did it
contain a manually filled out calendar
when asking a resident Shaman who went
by the name of munch he informed me that
when the calendar runs out we can't log
to uh log into the system I got to know
why that is I got I just got to know I
just got to know how that happened like
how how did that happen this happened a
few years ago so they had an intern fill
out five more years to make sure that it
didn't happen anytime soon what system
used this calendar no one knew what also
like couldn't the intern just write a
for Loop of inserts like do you even
have to man like now I'm concerned oh
now you're concerned so let let me get
this straight you weren't concerned when
the things called we ran out of columns
you were
concerned when they had an intern that
that that filled in five more years for
logging in MacBook Under the Stairs
again this is MacBook Under the Stairs
except for Worse what's a for Loop you
can for days nuts
uh employees every morning at 7:15 the
employees table was
dropped you think layoffs are bad now
you should saw layoffs back then okay
this was this is the real one all the
data completely gone then a CSV from an
ADP was uploaded into the table during
this time you couldn't log into the
system sometimes this process failed
this wasn't the end of the process the
data needed to be replicated to
headquarters so an email was sent to a
man who every day would push a button to
copy the data one would just think you'd
have
you would one would think this process
only happened when there was a change in
employment you know what you know what I
think would be really great I think
every company you know what hey since
we're since we're we're talking about
video games stop killing video games and
all this you know what I think I think
we need to have every single piece of
software that's 10 years older or more
to be open sourced and for the llms to
train on okay I want real production
code for all these llms to be trained on
I think that's the only reasonable way
to get things done because I don't see
how I if co-pilot does not suggest this
to me I'm going to be really really
upset I think co-pilot should suggest
the email once a day press the button to
deploy the employees
table every day okay and if this guy
goes on vacation all hell's breaking
loose okay that's what I want the
replacement database you might be
thinking to yourself couldn't someone
clean up this database make it nice to
nicer to work with dude no did not think
that to myself cuz there's 1,24 columns
in merchants and over 500 in Merchants
too that's an imposs no one's cleaning
up that code base ever for any reason
ever forever ever ever ever okay well
the company was way ahead of you there
was a copy of the database data in this
copy was about 10 minutes out of date
syn only went one way but this database
was normalized how normalized to go from
Merchants to a phone number was seven
joins Somebody went real Enterprise you
know I you know the funny part is is I
know everyone here is like damn how
could they do that oh this is awful but
I've done that you know there's this
thing that happens where you first work
in an environment in which you have
exceeding amount of columns and so the
answer is to make everything Atomic
normalization syndrome yeah this happens
this isn't somehow wild right why is
this so relatable to me because this is
everybody's mistake with databases and
you know what if I were to start doing a
bunch of database work again guess how
many of these mistakes I would
make I probably wouldn't get out to the
maximum number of columns but I could
easily see myself going I'm at like
25 columns at this point maybe I maybe I
need to rethink my maybe I need to
rethink my stuff and then it keep go up
to like 35 I'm like damn when you first
move into a house it's shiny and new and
then you do things and then you start
doing things to it the sales number
every salesperson had a quota they
needed the meet every month called win
oh is this Cloud wait is this a cloud
flare like is this the are we about to
meet the saf the sa the safety and Trust
team commonly referred to as the sales
team the tables that kept this data not
the financial keepings but the sales
specific way of accounting for this were
incredibly complicated every day a job
would figure out which rows had been
added and updated and sync them with the
system at headquarters if this wasn't
really a problem until one salesperson
figured out they could ask for those
records to be manually changed this
salesperson had already got their win
and landed another big sale that month
so they wanted it to be moved to next
month oh my gosh what a genius the man
is stacking sales oh this is so good
imagine accounting for this like just
just for a second this guy just effed up
Accounting in a whole special beautiful
way like so so beautiful you're
receiving money but no sale has happened
for a while oh oh this is so good this
is so this is this is the perfect storm
of of gaming the system and inter inter
was tasked with doing so word got out
and over the next 3 years requests would
grow exponentially at one point we had
three interns whose fulltime job was
writing these squeal statements writing
an application to do this was deemed too
difficult before I left though I made
sure to help those interns build their
own no idea if it ever took off though
IRS shambles deeply illegal accounting
actually I know this is deeply illegal
this is so good the code base what but
what is a codebase without or a database
without a code base and what a
magnificent codebase it was when I
joined everything was in team Foundation
server oh I I've heard nothing but good
things about team Foundation server you
know I've never had the privilege of
working in it myself but I've heard
amazing stories that it's absolutely one
of the best pieces of software out there
ever if you aren't familiar this was
Microsoft made centralized Source
control system the main code base I
worked in was half VB half C now that
seems pretty normal I actually I I've
worked in very similar ones it ran on
IIs oh man I now that's actually the
only server that I was not smart enough
to understand sure I could raw dog TCP
created my own video format was able to
send uh I had a whole distributed graph
Network to be able to send uh my own
custom protocol through nodes that the
for the government uh Hardware hopping
and all that couldn't understand I I I
it it literally was too it was too
confusing couldn't do it literally could
not do it we still use IIs bless your
soul and use session state for
everything oh this this actually seems
like a good idea I would use session
state for everything engine x a riot oh
what did this mean in practice if you
navigated to a page via P path a or path
B you'd see very different things on
that page but to describe this codebase
as merely half VB and half C would do a
disservice every JavaScript framework
that existed at the time was checked
into the repository typically with some
custom changes the author believed
needed to be made most notably knockout
backbone and marionette but of course
there was a smattering of jQuery and
jQuery plugins m nothing like knockout
backbone marionette Jacqui and some
jQuery plugins how much do you want to
bet date Pickers in there date picker by
the CEO of frontend Masters Mark good
guy Mark making date picker for
everybody's life date picker was the
single greatest library of all time okay
don't don't even try to tell me that
jquery's date picker wasn't
revolutionary don't even try don't even
try but this codebase didn't stand alone
next to it were a dozen or so soap
services and a hand full of native
Windows applications most notable was
the shipping manager Fable has an entire
application was built in a weekend to
buy a solo developer let's call him
gilfoil gilfoil was by all accounts an
incredibly fast programmer I never met
him but I felt like I knew him not just
through his code in the repos but also
through all the code remaining on his
hard
drives wait what Gil foil's hard drives
wait what Munch yes this was the name he
really went by kept Gil foil's hard
drives in in raid configuration on his
desk years after Gil foil had left the
company why because Gil foil was known
for not checking in code not only that
but for building a random one-off
Windows application for a single user it
wasn't uncommon to have a user come to
us with a bug report for an application
that only existed on Gil foil's hard
drive I can NE I cannot say that this
I've have ever experienced anything like
this this is this is a peak of
coding and athleticism I have I have
never seen okay it's too good it's
actually too good for me he's literally
the goat okay bus Factor
one deny refuse literally customers
coming and be like hey I need to fix
this bug on this application what
application we've never heard of that
well actually it turns out one of you
guys wrote an application just for me
most of my job was tracking down bugs
that teams didn't want to dedicate work
to one particularly nasty bug would pop
up every once uh once every few months
after we shipped things the shipping
queue would have would have stuck orders
in them that claimed to both be already
shipped and not shipped I went through a
series of workarounds a squeal script
window applications Etc to try and get
us out of the broken State I was advised
not to try and track down the root cause
but I couldn't help myself oh yeah oh
yeah along the way I learned how Gil
foil thought the shipping app pulled
down the entire code base or the entire
database and then filtered by date
keeping all past orders the go uh oh
keeping all orders past the go live date
of the application the app relied on a
soap service not to do any servy things
no the service was pure function it was
the client that did all the side effects
in that client I discovered a massive
class hierarchy 120 classes each with
various methods inheritance going 10
levels
deep those are some rookie numbers okay
10 levels that's all you got that's all
you got Gil foil the only problem all
the methods were empty I do not
exaggerate here not mostly empty
empty okay okay I like this I like this
there's there's a thing here there's a
thing here that one stumped me for a
while eventually I learned this was in
service of building a structure he could
then use reflection on I oh my oh that's
so beautiful that reflection would let
him create a pipe delimited string whose
structure was completely database driven
but entirely static and he would send
over a socket turns out this was all
eventually sent to uh kellwell kiwi kill
the service that talked to shipping
carriers why did this bug happen
kellwell used nine digigit long numbers
every month someone had disabled the
Cron job that deleted old
orders you know there's something that's
very beautiful about that I'm just going
to be real here for a second this idea
of using reflection to build up a string
and every method was empty it's so
chaotic it's beautiful it's lovely you
know I I mean that's the thing is that
when you see truly novel ways to solve
something there's something about it
that just gets me excited yeah it's
sorcery level this is beautiful in the
same sense as a black hole exactly it's
black hole beautiful it's not that you'd
ever want to be remotely close to a
black hole and get spaghettified into
the universe it's that its beauty is
also why it's so terrifying right it's
its beauty is in its terribleness it is
it is great in the classic sense of the
word great just like in yeah it's just
like a volcano like a volcano is
beautiful it's awesome there you go it's
awesome uh the Beautiful Mess there are
so many more things to tell from this
code base like a team of super senior
developers who were rewriting the whole
thing without shipping any code for 5
years or the red hat Consultants
building one the one database to rule
them all there were so many crazy
corners of this code base so many
reasons why there were a whole teams
dedicated to starting from scratch on
just one bit of its functionality but I
think most important story to tell about
or but I think the most important story
to tell is about Justin's Improvement of
the merchant search page the merchant
search page was the entry point into the
entire application every customer
service rep would get on the phone with
the merchant and type either their ID or
name to find their information that
would land you on a massive page with
all their information the page was
information Debs in the best way full of
any information you could need and any
links you could want to visit but it was
dog slow Justin was the sole senior
developer in my group he was bright
snarky and couldn't care less about the
business he told it like it was didn't
pull any punches and could always solve
problems by himself faster than teams
around him one day Justin got tired of
hearing about how slow the merchant
search page was and went to fix it every
box on the screen became its own endo on
load everything above the fold would
start fetching and as one load in more
requests would come in it took the page
time from minutes to subc Well Done
Justin also kind of wild really like an
npl1 query problem that went
on just absolutely no
respect for the servers let's go let's
go uh two ways to decouple why was
Justin able to do this because the
codebase had no master plan there was no
overarching design the system had to fit
into no expected format for apis no
documented design system no
Architectural Review Board making sure
things were coherent the app was a
complete and utter mess no one could fix
it uh no one could ever fix it so no one
tried to what did we do instead we
carved our only own little world of
sanity this monolithic app and due to
its sheer necessity had grown to be a
microcosm of nice small apps around its
edges each person when tasked with
improving some part of the app would
inevitably give up untangling that web
and find some nice little corner to
build new things and then slowly update
links to point to their nice new stuff
orphaning the old one this may sound
like a mess to you but it was remarkably
enjoyable to work it gone were the
concerns of code duplicate gone were the
concerns of consist consistency gone
were the concerns of extensibility code
was written to serve a use to touch as
little of the area around it as possible
and to be easily
replicatable or replaceable our code was
decoupled because coupling it was simply
harder it's actually kind of nice it's
kind of
sweet it's kind of like a little sweet
ending here this is this is such a
lovely story I I love the fact that this
guy could work in potentially one of the
worst code bases ever created and just
see the positive part of it all I really
love trying to look at things in the
positive light and this is just like the
ultimate expression of being positive
even about something that could be so
awful lovely after in my career sense
I've never had the privilege of working
in such a wonderfully ugly code base
every ugly codebase I've encountered
since has never transcended into uh its
need for consistency perhaps it was
because the codebase had been abandoned
by serious developers long before all
that remained were rag tag interns and
Junior developers or perhaps it was
because there was no layer between those
developers and the users no translations
no requirements Gathering no cards just
you standing at the desk of the customer
service rep ask them how you could make
their life better I missed that direct
connection that fast feedback that lack
of making Grand plans the simple problem
and code connection perhaps it's a
simple it's simply a naive Nostalgia but
just as I find myself laying on the
couch longing to go back to some of the
worst years of my childhood when faced
with yet another Enterprise design
pattern my mind flashes back to that
beautiful horrible code
base I've had something that's kind of
like this in the sense that it was just
like every team had their own little
thing and it was just like a hod Podge
together application and it was
beautiful it wasun to work in I could
get my stuff done and it was virtually
impossible to look at anybody else's
stuff there is something that's very
beautiful about the ability to just
disregard everything and just build your
own
thing there is something beautiful about
that I do love this this was
fantastic thank you Jimmy Miller
beautiful absolutely beautiful the
name I'm I'm I'm a little touched I'm a
little climed right now A Jen
Browse More Related Video
Monolithic Architecture In Hindi ( Complete Explanation )
The Weaver of Hope || Nand Kishore Chaudhary || Jaipur Rugs
Memory of My Face - Globalization Mental Illness in Indonesia (FULL FILM)
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di Aplikasi Androidmu
De enterrar muertos a experto en programación (menos de 10 meses)
Tổng hợp Full Lộ Trình và các Công Nghệ Web nên học năm 2024
5.0 / 5 (0 votes)