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.
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.
- As-Sami
- Bid'ah
- Jenis Sihir
- Nusyrah
- Arba'in An-Nawawiyah 10th Hadits
- Influencer Kebaikan atau Keburukan
- Pesimis karena Sesuatu
- Muhasabah
- Al-Bashir
- Al-'Alim
- Al-Fatihah
- 😄 My nickname is Ikhsan (pronunciation) or Mas Ikhsan (pronunciation).
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
]
]
]
}
}
]
}