• 4 Posts
  • 240 Comments
Joined 11 months ago
cake
Cake day: August 14th, 2023

help-circle




  • I have two key points to understand any large codebase:

    • Start with the entry point. Check the initialization process. It will most likely tell you what other parts of the code are crucial to the application. Start digging into those parts that are mentioned in the initialization process. Rinse and repeat for their dependencies which might look important. Just read and take notes if necessary. Try to understand how the application gets its stuff running. Don’t spend too much time on a specific part, just get a broad understanding and how it all flows.
    • After the first step, you should start seeing some sort of patterns to how the software is made: repeating principles, common practices, overall architecture. This is the point when you should be confident enough to introduce changes to the software, therefore you should have a build environment which guarantees the application works. If it doesn’t, have someone in the team help you to get it running without any changes to the codebase. Don’t make changes until you have a working build environment.

    With both done, you should already be comfortable enough to start modifying application.

    I cannot stress enough how many developers I’ve seen trying to dig into random parts of the code knowing nothing where or how it all begins, making it super-problematic to add new features. Yeah they can fix a bug or two, but the biggest issues start when they try to implement something new.













  • I have several counter-arguments to your statement.

    Firstly, I do not know who is calling me. We here don’t share phone numbers with people unless it’s a delivery service or family, and generally we use messengers like Telegram, where sharing phone number is not necessary at all, and most of the time people here don’t share it. When someone is calling me, 99% of the time it’s a scam call, useless advertisement, or some automated bs.

    Secondly, I do not respect someone taking my own time when another person feels like it. There is a reason for planning meetings at work ahead of time so that you can adjust your schedule accordingly. And phone calls ignore anything you have planned and can throw you out of your schedule for a minute or 30 minutes, you never know. I also consider texts much easier to understand if it’s worth reacting right now or later. If I have a notification, I can know if I should react to it now or if I can postpone it for later. Most of the time calls aren’t an emergency.

    Thirdly, texts allow discussions to be asynchronous, meaning if I receive a question, I can think about an answer and search for something before spitting out my response. This is usually much more productive than sitting on a line and thinking about something in real time.

    Texts also give you an option to attach additional context. No more “I’ll send you a link”, “I’ll show you a pic” or “I’ll check it after the call”.

    It’s not about hating calls or whatever. It’s more about the fact that texts are much more flexible and productive.