I just completed a GIANT feature code migration, it was a great learning opportunity where I could prove myself as someone who can take on more senior work.

Here's how I approached such a big responsibility as a newer engineer on my team.

A thread🧵...
1. Simply diving in the code for me DID NOT WORK, I had to map it out.

I had to map out each piece of functionality that needed to be moved over, and take note of each dependency that needed to be migrated over as well. I looked at things from a high level FIRST.
2. I began to plan my steps to tackle the problem.

Some pieces of functionality need to be migrated before others. Understanding the best order to handle the migration was key to taking as much confusion out of the equation as possible.
3. I focused on ONE PIECE of functionality at a time.

I know it can be tempting to want to move large chunks of code over, especially if individually the pieces are small, but never underestimate the time it takes to actually retest existing functionality once it's converted.
4. Test like your life depends on it.

Testing, not only at the end of the migration, but throughout the migration is so important. You'll be able to catch bugs or errors that you might otherwise have a harder time catching down the road.
5. Review and refactor.

Passing all tests isn't the end of the road, combing through your code after accomplishing a big task is a good habit to maintain throughout your career. Pick it up early, and do it often!
You can follow @wellingtonajo.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.