Git Product home page Git Product logo

Hi there, I'm devnulli 👋.

devnullis github stats

What I do.

Sometimes, I like to code things, apart from work. I like coding them, sometimes even live, while playing groovy music. It relaxes me.

Formerly, I never did that. I had the full software engineering show at work, and I didn't have the feeling that I miss out any new technologies and such.

Now, working with legacy systems, I mainly code things to keep in touch with the real world. (Docker Containers, Azure, SOLID, service architecture, keeping up to with VS, new design paradigms, new requirement engineering paradigms, CI, etc.)

I almost never complete them, or have professional need for them, though. I mostly push it far enough to see if I understand, and then I move on.

About my job

I always LIVED for software architecture and software engineering. I've seen what great software architecture and requirements engineering are capable of, and would never want to be without that. As a result of that, I HATE legacy software. I hate bad software design. That I really do.

So, ironically, where I work right now can be defined as deep, deep in that legacy code world. I work as a development lead and software architect for a company with a huge legacy problem, and my whole work is dedicated to pointing out a way, and then transitioning from that legacy back to maintanability.

My job is done when we have catched up with industry standard and state of the art. And that is a very exhausting, but rewarding task. Rewarding, because I learn a LOT about the essence of "how you do it right", by looking at what happened when you didn't.

How did I get that job? - Why didn't I just quit and work in a modern software house?

When I entered my current job, I was 😮 SHOCKED! 😮 When I saw the first code lines, my first instinct was (literally) to stand up, and quit right away. I would never accept working in that environment. With that multi million € piece of worthless crap, sold as a success to the stakeholders...

Next thing I remember, I had a talk with my boss, and what can I say. He said something in the effect of. "Well? How do you like it here?". And I think I said something like "I have never seen anything that bad before, in 13 years of my software-engineering career"... and he kept on: "Yeh well, I heard it's not that good..." he said, pretty pragmatic about it. "Yes, we need to tackle that.". Ok, I said. I want to help.

Inner Monologue

(:brain: "Wait.. You wanted to quit, and now.. are you crazy? They have been working that way for years, decades.. and you go there and tell them it sucks, and you can do better... don't you think your're out of your league. You should have just gone to a NORMAL software-company, with state-of-the-art standards..")

(:heart: "Sorry but I cant resist watching that story to the end.."")

Challenge accepted

It took me a while to realize what just happened. My opinion about that source code is somewhere between "time to put it to sleep" and "burn it with fire"... All the waste of manpower and effort, just to keep that crazy machinery running? Why should I stay and and fight to save that?

I can gain a lot by seeing this through, tell you why.

Of course, I could just shake my head and move on to something else. I could do that. I already done that. But In THAT case, I would really miss a huge story.

Everyone can produce good and clean code in a good and clean environment. We learn that fast.

But.. somewhere in my belly I felt, that they are serious. They really search for a way out. So if I take the easy way out, I miss the crazy way out. And a lot of learnings:

  • What excactly does that really mean, having a good and clean enviroment?
  • The best way to learn that is to try and create one myself.
  • With people who never had that.
  • And of course, not from scratch, but from hell.
  • How do you set up, how do you start
  • How do you embrace existing complexity, how do you re-engineer, do the brown field architecture?
  • How do you create a mindset that allows for the above, from below (developers) and above (management awareness)

So I chose the first option.. And I learned to love my job. (DISCLAIMER: this is diverse). Not for the coding (not yet). It's god damn legacy hell.. dont get me started.

BUT:

I LOVE that In my current job, have a huge chance to try and move something big from full legacy to state of the art, and write down my experiences and stories I encounter on that road. A chance, I will never get again in my life. So. I stayed.

NOW LET'S SEE

There will be a lot to learn on this journey. I think someday I'll write a book about that. Its gonna be a thriller. Our hero wakes up after a party night, with a new job. To work as software architect in legacy hell:

  • Will he succeed? Or will it break hi,?
  • Will he be strong enough to battle that legacy pain creeping in my mind? Or will it zombify me, make me a legacy programmer as well.
  • Will he become slave to those processes and empty and inefficient word hulls??
  • Will he be successful in delivering an first an Island of happiness, and then, away out?
  • Will they even listen?
  • Will that legacy system change him? Break hoim? Or will he manage to turn around the wheel?
  • Will he finally be crucified by those developes and consultants who fear or fail to understand these concepts? Who now live pretty good of the cost, surreality, and inefficience, and damage they caused? Or worse? Make HE become one of them?

Yeeees! that book will rock!

Michael Schönbauer's Projects

evlwatcher icon evlwatcher

a "fail2ban" style modular log file analyzer for windows

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.