Skip to content
View ikhsanalatsary's full-sized avatar
🌐
https://www.instagram.com/alwildan2bekasi/
🌐
https://www.instagram.com/alwildan2bekasi/

Block or report ikhsanalatsary

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ikhsanalatsary/README.md

Hi there 👋

I'm Abdul Fattah Ikhsan

I'm a Senior full-stack developer at Wallex Technologies Pte Ltd. I'm also a freelance Full-Stack developer and a course instructor. I currently live in Bekasi Regency, Indonesia, which is famous for its biggest industrial estate in Southeast Asia (Wikipedia), but my house is far enough from the estate. I chose a safe and sound neighbourhood. My interests range from technology to programming, which has become my passion. In my free time, I usually read articles, news, Talabul-ilmi Shar-i, listen to some podcasts, and enjoy gardening on my small-space terrace. Sometimes I travel to recharge my mood. Last but not least, if you want to get in touch, feel free to say hi through one of the social links below, I look forward to hearing from you soon.

Gmail Telegram

You Don't Care

17 Rules of Software Engineering

0. Stop falling in love with your own code.
  • Why: It's easy to become attached to our creations, but code is a tool, not a pet.
  • Action: Be willing to refactor, rewrite, or even discard code if it's not serving its purpose.
1. You will regret complexity when on-call.
  • Why: Complex systems are harder to understand and troubleshoot, especially when you're facing a critical issue in the middle of the night.
  • Action: Strive for simplicity and clarity in your designs. Break down complex problems into smaller, more manageable ones.
2. Everything is a trade-off. There's no "best".
  • Why: There's always a cost to any decision, whether it's time, resources, or maintainability.
  • Action: Be aware of the trade-offs involved in your choices and make informed decisions.
3. Every line of code you write is a liability.
  • Why: More code means more potential bugs, more maintenance overhead, and more things to go wrong.
  • Action: Write only the code that's necessary, and be mindful of the impact of your changes.
4. Document your decisions and designs.
  • Why: Good documentation makes it easier for others to understand your code and for you to remember your own design choices.
  • Action: Write clear and concise documentation, and keep it up-to-date.
5. Everyone hates code they didn't write.
  • Why: It's human nature to be more critical of things we didn't create.
  • Action: Write clean, well-structured code that's easy to understand.
6. Don't use unnecessary dependencies.
  • Why: Dependencies can introduce complexity and security risks.
  • Action: Use dependencies only when they're truly needed, and choose them carefully.
7. Coding standards prevent arguments.
  • Why: Consistent coding standards make it easier for teams to collaborate and maintain codebases.
  • Action: Establish and follow coding standards within your team.
8. Write meaningful commit messages.
  • Why: Good commit messages help others understand the purpose of your changes and make it easier to track down bugs.
  • Action: Write clear and concise commit messages that describe the changes you've made.
9. Don't ever stop learning new things.
  • Why: The field of software engineering is constantly evolving, and it's important to keep up with the latest trends and technologies.
  • Action: Make time for learning new things, whether it's through books, courses, or open-source projects.
10. Code reviews spread knowledge.
  • Why: Code reviews are a great way to share knowledge and learn from others.
  • Action: Actively participate in code reviews and be open to feedback.
11. Always build for maintainability.
  • Why: Maintainable code is easier to understand, modify, and debug.
  • Action: Write clean, well-structured code that's easy to follow. Use meaningful naming conventions and comments.
12. Ask for help when you're stuck.
  • Why: There's no shame in asking for help. Everyone gets stuck sometimes.
  • Action: Don't be afraid to ask your colleagues or mentors for help when you need it.
13. Fix root causes, not symptoms.
  • Why: Fixing the underlying problem is the only way to prevent it from happening again.
  • Action: Take the time to investigate the root cause of a bug or issue before implementing a fix.
14. Software is never completed.
  • Why: There's always room for improvement, and new features and requirements will always arise.
  • Action: Embrace the fact that software is an ongoing process, and be prepared to make changes as needed.
15. Estimates are not promises.
  • Why: It's difficult to predict how long a task will take, especially in software development.
  • Action: Be realistic about your estimates and be prepared to adjust them as needed.
16. Ship early, iterate often.
  • Why: It's better to release a product early and get feedback from users than to wait until it's "perfect."
  • Action: Don't be afraid to release early and often. Use feedback from users to improve your product over time.

My Notes

My Workshop Material

PS:

Location
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              107.03851431420628,
              -6.1608687453001405
            ],
            [
              107.03812911452997,
              -6.160887559514232
            ],
            [
              107.03774762445585,
              -6.160943820969319
            ],
            [
              107.03737351786364,
              -6.161036987848617
            ],
            [
              107.03701039753241,
              -6.161166162923284
            ],
            [
              107.03666176044622,
              -6.161330102192491
            ],
            [
              107.03633096411899,
              -6.161527226862839
            ],
            [
              107.03602119426169,
              -6.161755638551799
            ],
            [
              107.0357354341036,
              -6.1620131375688
            ],
            [
              107.03547643566327,
              -6.162297244097954
            ],
            [
              107.03524669324521,
              -6.162605222078488
            ],
            [
              107.03504841941819,
              -6.162934105552957
            ],
            [
              107.03488352370604,
              -6.163280727229543
            ],
            [
              107.03475359419645,
              -6.163641748983414
            ],
            [
              107.0346598822447,
              -6.164013694003511
            ],
            [
              107.03460329042015,
              -6.164392980275121
            ],
            [
              107.03458436381123,
              -6.164775955075918
            ],
            [
              107.03460328477283,
              -6.165158930153214
            ],
            [
              107.03465987116704,
              -6.165538217243695
            ],
            [
              107.03475357811419,
              -6.165910163593565
            ],
            [
              107.03488350323722,
              -6.166271187137013
            ],
            [
              107.0350483953494,
              -6.166617810994199
            ],
            [
              107.03524666650141,
              -6.166946696956501
            ],
            [
              107.03547640727218,
              -6.167254677636491
            ],
            [
              107.03573540515632,
              -6.167538786972982
            ],
            [
              107.03602116587061,
              -6.167796288797322
            ],
            [
              107.0363309373752,
              -6.168024703185738
            ],
            [
              107.03666173637745,
              -6.168221830343916
            ],
            [
              107.03701037706358,
              -6.168385771793727
            ],
            [
              107.0373735017814,
              -6.168514948657968
            ],
            [
              107.03774761337819,
              -6.16860811686704
            ],
            [
              107.03812910888263,
              -6.168664379140997
            ],
            [
              107.03851431420628,
              -6.168683193631588
            ],
            [
              107.03889951952992,
              -6.168664379140997
            ],
            [
              107.03928101503439,
              -6.16860811686704
            ],
            [
              107.03965512663116,
              -6.168514948657968
            ],
            [
              107.04001825134898,
              -6.168385771793727
            ],
            [
              107.04036689203512,
              -6.168221830343916
            ],
            [
              107.04069769103735,
              -6.168024703185738
            ],
            [
              107.04100746254196,
              -6.167796288797322
            ],
            [
              107.04129322325623,
              -6.167538786972982
            ],
            [
              107.04155222114038,
              -6.167254677636491
            ],
            [
              107.04178196191117,
              -6.166946696956501
            ],
            [
              107.04198023306317,
              -6.166617810994199
            ],
            [
              107.04214512517532,
              -6.166271187137013
            ],
            [
              107.04227505029837,
              -6.165910163593565
            ],
            [
              107.04236875724553,
              -6.165538217243695
            ],
            [
              107.04242534363975,
              -6.165158930153214
            ],
            [
              107.04244426460134,
              -6.164775955075918
            ],
            [
              107.04242533799241,
              -6.164392980275121
            ],
            [
              107.04236874616788,
              -6.164013694003511
            ],
            [
              107.04227503421613,
              -6.163641748983414
            ],
            [
              107.0421451047065,
              -6.163280727229543
            ],
            [
              107.04198020899436,
              -6.162934105552957
            ],
            [
              107.04178193516735,
              -6.162605222078488
            ],
            [
              107.04155219274931,
              -6.162297244097954
            ],
            [
              107.04129319430896,
              -6.1620131375688
            ],
            [
              107.04100743415088,
              -6.161755638551799
            ],
            [
              107.04069766429356,
              -6.161527226862839
            ],
            [
              107.04036686796634,
              -6.161330102192491
            ],
            [
              107.04001823088016,
              -6.161166162923284
            ],
            [
              107.0396551105489,
              -6.161036987848617
            ],
            [
              107.03928100395673,
              -6.160943820969319
            ],
            [
              107.03889951388258,
              -6.160887559514232
            ],
            [
              107.03851431420628,
              -6.1608687453001405
            ]
          ]
        ]
      }
    }
  ]
}
Loading

PPS:

Pinned Loading

  1. rn-container rn-container Public

    A minimal Android Docker Image for React Native and common Android development.

    Dockerfile 1 1

  2. lanjutkoding lanjutkoding Public

    TypeScript 2 1

  3. dbt_playground dbt_playground Public

    A playground about ETL using dbt

  4. multer-sharp-s3 multer-sharp-s3 Public

    Multer Sharp S3 is streaming multer storage engine permit to transform / resize the image and upload to AWS S3.

    TypeScript 54 34

  5. multer-sharp multer-sharp Public

    Streaming multer storage engine permit to resize and upload to Google Cloud Storage.

    JavaScript 22 18

  6. yuknikah yuknikah Public archive

    Wedding Invitation WebApp

    CSS 10 11