DEV Community

sererejegede
sererejegede

Posted on

Transitioning between two different software development environments.

Writing code for me before now was majorly to make things work in virtually unrealistic time frames with little or no regard whatsoever to best practices.

Things always did work out. Eventually.
Sometimes with a refactor here or an addition there. Other times, it's a living hell especially if it involves reading code that was written a while ago - even if I was the one that wrote it.

<!--
  Dear developer, when I was writing this code,
  only I and God understood it. Now only God does.
  I wish you all the very best.
-->

I saw this somewhere and I put it in my code because I could really relate to it😅.
All my thought was to put it in place of proper documentation for the next dev to work on that codebase (I would write proper comments but remember unrealistic time frames) but little did I know I would be needing my words of advice first😉

While this rushed approach certainly has its merits, chief among which is that clients can get products lightning fast (I'm talking a medium-sized e-commerce website from scratch in less than 2 months) especially for clients that care more about speed of delivery than quality of work, it's demerit are also very abundant.
For one, there just isn't enough time for automated testing.
Product goes through QA sure, but some small changes don't need to go through QA again right? I mean I just changed this <i> to a <span> because that is what it should have been from time because of semantics right?
Well, sorry to inform you that the whole app has crashed in production because of a <span>

Sorry to inform you gif

Did I also mention that development to production sometimes takes 0s? Yeap. 0s. Because sometimes, I have to edit the code right there on the production server!

Then from this type of environment, I get thrown into the world of automated testing, actual team collaboration, submitting PRs.
I face a number of things as difficulty in this transition:

  • The actual learning curve for these things mentioned above and
  • The frustration of it all. Frustration in that the code already works quite perfectly but there is still some extra thing to be done
  • The very real danger of over engineering. It was almost non-existent before because of the break-neck pace.

Another one that almost drove me mad has to be Prettier. For someone of a background like the one above to see errors, (not warnings) errors because you had one extra line of white space in your code!!

I have had a lot of moments where I dearly wished for the way things were - when I just wrote code to work as quickly as I could. But there is no denying the merits of this new environment. Collaboration has never been more seamless plus there is this feeling, for me at least, of doing things the way they are meant to be done.

All in all, the new environment is looking interesting and I am very much excited with the way it is going right now so which me luck.

Oh, this is my first post by the way😊

Top comments (0)