Examples, Advice, and Ideas from a Seasoned NetSuite Developer
Here is the archive of the hundreds of SuiteScript emails I've published over the years, available for you to peruse at your leisure.
You can also search the archive.
- How to Ask for SuiteScript Help Effectively (2024-07-29)
- Foundational SuiteScript Troubleshooting Techniques (2024-07-22)
- The Magnitude of Learning SuiteScript (2024-07-17)
- How I use JSDoc for SuiteScript (2024-05-09)
- SuiteScript Short - Reduce Repetition when Working with Records (2024-03-05)
- Will generative AI take my SuiteScript developer job? (2024-02-29)
- SuiteScript Optimization Tip: Prefer Inline Editing (2024-02-09)
- Location-Specific Inventory Searches with SuiteScript (2024-02-08)
- Querying using Multiple Conditions with SuiteScript (2024-02-07)
- Streaming to a File Line-by-Line in NetSuite with SuiteScript (2024-02-06)
- Render a Record as a PDF from a Template in SuiteScript (2024-02-05)
- Send an Email using a Template with SuiteScript (2024-02-02)
- Searching for Missing Records with SuiteScript (2024-02-01)
- Logical Operators and Grouping Criteria in SuiteScript 2.1 Searches (2024-01-30)
- I Quit My Job (2023-11-30)
- Cost of Living Discrimination (2021-03-04)
- What if you never negotiated salaries? (2021-03-03)
- You'll never be done (2021-03-02)
- Process Charters for SuiteScript Teams (2021-02-26)
- Reader Response: SuiteScript Modular Architecture and Naming Conventions (2021-02-24)
- Reader Response: Handling Deployment Collision in NetSuite (2021-02-22)
- How do you determine fees for your NetSuite development work? (2021-02-20)
- Should Your SuiteScript Development Team Adopt Best Practices? (2021-02-18)
- Source Control Repository Layouts for NetSuite Development (2021-02-16)
- The Tenets of Sustainable SuiteScript Leaders (2021-02-12)
- My SuiteScript Source Control Process (2021-02-09)
- Reading Newsletters for Fun and Profit (2021-02-07)
- The Pillars of a Sustainable Software Practice in Professional Services Development (2021-02-05)
- Service Variation in Professional Services According to Maslow? (2021-02-03)
- Do you know where your SOCs are? (2021-02-01)
- Hiring is the worst way to grow a team (2021-01-30)
- Do you incorporate bi-directional feedback into your Onboarding program? (2021-01-26)
- Does Specialization in Professional Services Software hurt your versatility or narrow your chances? (2021-01-25)
- Do you pair your new hires with a mentor besides their manager? (2021-01-22)
- Do you provide your new hires with access to training? (2021-01-21)
- How do you train your new developers? (2021-01-20)
- Do you have any thoughts on how we can reduce distraction in a team? (2021-01-19)
- Do you spread out social introductions over days or weeks? (2021-01-18)
- Resiliency (2021-01-16)
- Do you set up a new hire's system and accounts before they start? (2021-01-15)
- Do you send new hires their paperwork before they start? (2021-01-14)
- Do you make new hires feel welcome before they start? (2021-01-13)
- Is your Onboarding program consistent and easily repeatable? (2021-01-12)
- 11 Questions for a Better Developer Onboarding Program (2021-01-11)
- Reaction - 9 Onboarding Mistakes (2021-01-08)
- The Butterfly Effect (2021-01-06)
- Why Onboarding? (2021-01-05)
- The Friction List (2021-01-04)
- Move Beyond Survival (2021-01-01)
- Intentionality in Onboarding (2020-12-30)
- Be Ready; Be Welcoming (2020-12-29)
- Ease the Transition (2020-12-28)
- Avoid the Sickening Thud (2020-12-23)
- Onboarding - The Deluge (2020-12-22)
- Onboarding - Day Zero (2020-12-21)
- What are you willing to replace? (2020-12-16)
- SuiteScript Design - Alias Modules (2020-12-14)
- Pragmatic Thinking and Learning (2020-12-11)
- Code === Commodity (2020-12-10)
- Easy Fried Rice (2020-12-09)
- SuiteScript Design - REST API Modules (2020-12-07)
- Specialization Trees (2020-12-04)
- SuiteScript Career - Effective Software Sages (2020-12-03)
- SuiteScript Career - Find Your Sages (2020-12-02)
- SuiteScript Example - Sending an HTTP Request (2020-12-01)
- SuiteScript Design - Token Management (2020-11-28)
- JavaScript Weekly (2020-11-27)
- SuiteScript Career - Take Breaks (2020-11-25)
- SuiteScript Example - Read File Line by Line (2020-11-24)
- SuiteScript Design - Generating RESTful URLs (2020-11-23)
- SuiteScript Process - Enablement, not Enfeeblement (2020-11-19)
- Busy !== Successful (2020-11-18)
- SuiteScript Example - When Ordered By (2020-11-17)
- SuiteScript Operations - Environmental Drift (2020-11-16)
- The SuiteScript Career - Habitual Learning (2020-11-15)
- SuiteScript Example - Rendering Query Results in a PDF (2020-11-14)
- SuiteScript Design - The (Good) Man-in-the-Middle (2020-11-13)
- The Effective Junior SuiteScript Developer (2020-11-12)
- SuiteScript Example - Sending Email to Multiple Recipients (2020-11-11)
- SuiteScript Design - The Singleton Record (2020-11-10)
- Reader Story: Impact of Code Review (2020-10-29)
- We move too fast for process (2020-10-27)
- enum Example (2020-10-27)
- Magic Strings - the Anti-Pattern (2020-10-22)
- The bar is too low (2020-10-20)
- Comparing to multiple values (2020-10-19)
- "I am a SuiteScript Developer" (2020-10-16)
- SuiteScript 2.1 Limitations (2020-10-14)
- Optional Chains hug my heart (2020-10-13)
- Redundant Department of Redundancy Department (2020-10-12)
- 27 Entry point scripts must implement one script type function (2020-10-07)
- Robin Mitchell is making SuiteScript YouTube videos (2020-10-06)
- Know your role models (2020-09-28)
- Coding Standards and Style Guides (2020-09-25)
- "Git Secrets" from freeCodeCamp (2020-09-23)
- Your Critical Components of Success? (2020-09-19)
- Source Control is the foundation (2020-09-18)
- Branching in Source Control (2020-09-17)
- Use Source Control, can't roll back (2020-09-16)
- Why Source Control? (2020-09-15)
- What's a "good" salary/wage? (2020-09-13)
- "New" NetSuite Dev Blog (2020-09-12)
- The Joel Test for SuiteScript Jobs (2020-09-11)
- "Entry-level position, must have 2-5 years experience" (2020-09-10)
- "Must be willing to learn on the job" (2020-09-09)
- "Must be good at multitasking" (2020-09-08)
- Beware the SuiteScript Job Posting (2020-09-07)
- Challenges of NetSuite Development (2020-09-03)
- Third-Party Libraries in SuiteScript 2.x (2020-08-29)
- 26 Third-Party Libraries in SuiteScript 2.x (2020-08-29)
- New Analytics Browser for Query Schema (2020-08-18)
- SuiteQL Development Tool (2020-08-06)
- Building an Effective SuiteScript Team (2020-06-26)
- SuiteScript 2.1 and WebStorm (2020-06-15)
- New SuiteCloud SDK with Unit Testing! (2020-03-30)
- How do I decide between Query and Search? (2020-03-19)
- Why use SDF? (2020-01-15)
- Workflows versus Scripts! (2019-06-04)
- Another SuiteScript Resource (2019-04-21)
- SuiteScript Teardown #2 (Part 4) (2018-12-19)
- Want your SuiteScript reviewed? (2018-12-07)
- Subrecord Sneak Peek (2018-12-03)
- 25 Working with Subrecords in SuiteScript 2.0 (2018-12-03)
- Yet Another First (2018-11-24)
- Best laid plans (2018-11-16)
- 24 How do I add a Button to a Record? (2018-11-08)
- setWhenOrderedBy: A Warning (2018-05-15)
- Great Resource for JavaScript Beginners (2018-05-11)
- Distractions (2017-11-01)
- Understanding Transaction Searches (2017-10-19)
- The Rabbit Hole (2017-10-17)
- 23 A Brief Overview of SuiteScript (2017-10-16)
- The High Cost of Bad Design (2017-10-11)
- 22 The Event Router - A SuiteScript Design Pattern (2017-10-09)
- Will learning SuiteScript get me a raise? (2017-10-04)
- 21 Custom Record Creation via Suitelet - A SuiteScript Teardown (2017-10-02)
- Exception Handling for Newbies (2017-09-27)
- Winter IS Coming (2017-09-26)
- 20 The Event Lifecycle of a NetSuite Record (2017-09-25)
- 19 How do I redirect to a Record with a specific Custom Form? (2017-09-22)
- The Struggle is Real (2017-09-19)
- Using NetSuite Help for SuiteScript (2017-09-17)
- SuiteScript Overview (2017-09-17)
- Using Stack Overflow for Learning SuiteScript (2017-09-17)
- NetSuite's Script and Deployment Records (2017-09-17)
- Using the NetSuite Records Browser (2017-09-17)
- Moar Page Links (2017-09-13)
- 18 How Do I Add Page Links to a Suitelet? (2017-09-12)
- Indecisive Decisiveness (2017-09-11)
- Dynamic External URLs pt 2 (2017-09-07)
- Dynamic External URLs (2017-09-06)
- 17 How Do I Add Dynamic Links to a Suitelet? (2017-09-05)
- Knowing What to Focus On (2017-09-04)
- Bug in External Suitelets (2017-09-01)
- The Resistance (2017-08-31)
- Cleaning House (2017-08-30)
- 16 How Do I Add a Button to a Suitelet? (2017-08-29)
- So you don't know git (2017-08-24)
- SuiteScript Deployment Tools (2017-08-22)
- 15 How Do I Display NetSuite Search Results in a Suitelet? (2017-08-21)
- Sneaky Performance Details (2017-08-17)
- A Lonely Roadtrip (2017-08-17)
- SuiteScript Debugger (2017-08-15)
- 14 How Do I Search All Script Logs in NetSuite? (2017-08-14)
- Console Debugging Tips (2017-08-11)
- The Dreadful Interview (2017-08-10)
- Don't Think About Redundant Stuff (2017-07-27)
- Moar Keyboard Shortcuts! (2017-07-25)
- 13 Efficient Global Searches (2017-07-24)
- Michoel's Field Explorer (2017-07-21)
- Discretionary Time (2017-07-19)
- Line Filters in SuiteScript (2017-07-18)
- 12 Main Line for Transaction Searches (2017-07-17)
- Columns from Related Records (2017-07-12)
- Formula Columns (2017-07-11)
- 11 Search Columns in SuiteScript 2.0 (2017-07-10)
- Squirrel! (2017-07-07)
- Transaction Searches Returning Duplicate Results (2017-07-05)
- 10 Search Filters in SuiteScript 2.0 (2017-07-03)
- What Fields Can I Use in my Search? (2017-06-28)
- Export Saved Searches to SuiteScript (2017-06-26)
- 9 Introduction to Searching with SuiteScript 2.0 (2017-06-26)
- Lookup Time is 8% of Load Time (2017-06-22)
- Console for Clarity (2017-06-21)
- Practical Console Geekery (2017-06-20)
- Get to Know Your Console (2017-06-20)
- 8 SuiteScript 2.0 in the Console (2017-06-19)
- Lookups and Multiselect Fields (2017-06-13)
- A Search Filter Contains an Invalid Operator (2017-06-13)
- 7 Field Lookups in SuiteScript 2.0 (2017-06-12)
- The Weeds are Winning (2017-06-08)
- Correction on Sublist Methods (2017-06-07)
- This Rabbit Hole Goes Even Deeper (2017-06-06)
- Inline Editing's xedit Events (2017-06-05)
- 6 Inline Editing in SuiteScript 2.0 (2017-06-05)
- My SuiteScript Story (2017-06-02)
- SuiteScript 2.0 in the Dev Console (2017-05-31)
- Judiciously Placed Print Statements (2017-05-30)
- 5 Logging in SuiteScript 2.0 (2017-05-29)
- Types of Sublists (2017-05-26)
- The Writer and the Programmer (2017-05-25)
- Scriptable Sublists (2017-05-23)
- 4 Working with Sublists in SuiteScript 2.0 (2017-05-22)
- Record Types Enumeration (2017-05-18)
- Reading Text Values from Select Fields (2017-05-17)
- 3 Working with Records in SuiteScript 2.0 (2017-05-15)
- Rubber Stanley-ing (2017-05-11)
- How do I learn about the other 2.0 Modules? (2017-05-11)
- Script Templates for SuiteScript 2.0 (2017-05-10)
- New 2.0 functionality non-existent in 1.0 (2017-05-09)
- 2 SuiteScript 2.0 Modules (2017-05-08)
- Resources for Newbies (2017-05-05)
- Locked doors (2017-05-04)
- 1 How to write your first SuiteScript - for non-developers (2017-05-02)