top of page

Help Your Developers say “Hello World!”


“Hello world!” – it’s more than just a developer’s favourite cliche and traditional string they output when trying a new language. It’s one of the most critical touchpoints in your developer marketing outreach, sitting right at the precipice of the Learn and Build stages of the developer’s journey. This is the point at which developers transition from evaluating your product to learning more about it in depth and, to ultimately trying it out.


In fact, hello world is so important, it can make or break the developer’s impression of your product. Get it right and you have a much better chance of convincing developers to evaluate and ultimately adopt your product.

Did you know?


As per the Hello World Wikipedia article, the process of outputting “hello world” goes back to the early 1970’s. It’s often attributed to Brian Kernighan, who used it in an internal 1974 memo while at Bell Labs, and later included it in his 1978 book: “The C Programming Language”.

As Easy as 1,2,3…. and 4

So what exactly makes for a good hello world? From our observations, this requires four key ingredients:


  1. Ownership: Someone to proactively own it so that:

    1. Your organization actually has a hello world for developers to try out; and

    2. It balances enough simplicity and complexity for developers to prove out and understand the basics of your product. 

  2. Ease of Use: A task that’s reasonably easy to build within a short amount of time and effort, so developers can quickly see success.

  3. Supporting Docs: A quick start guide and subsequent tutorials built around that task to guide the developer towards success. 

  4. Regular Reviews: Don’t forget to frequently review, test, and keep these assets up to date. Nothing drives developers away faster than broken or outdated code samples and tutorials.


Whilst perhaps an oversimplification, ensuring these pieces are in place forms a key part of your customer-facing developer experience.

An Interesting Metric


Time to Hello World is a common metric to measure how quickly developers can get up and running with your product.

Hello Worlds for a new World

While the hello worlds of yesteryear were generally only used for learning programming languages, much has changed since then.




New frameworks, platforms, and other technologies now drive new variations to satisfy developers’ continuing crave to get set up quickly.


Here we present several variations of hello world to consider for different domains:


  • APIs and SDKs

  • Web Apps and REST API Communications

  • Containerization

  • Hardware Development Kits and Dev Boards


APIs and SDKs

An API or SDK represents a type of programming framework or paradigm, and therefore hello worlds for this domain, most closely resemble classic programming hello worlds.


Here, developers want to:


  • Ensure they have the right tools in place

  • Ensure they can locate, install, and reference all dependencies – be it packages, libs, etc.

  • Successfully compile and build their app after integrating the API or SDK

  • Invoke something to produce a simple output


There are many ways to approach this, but your first goal should be to help developers invoke the first endpoint or function that has the fewest dependencies. If an endpoint or function first requires a developer to create several entities and dependencies before they can invoke it, then it’s probably not a good hello world candidate.


Instead, find one that returns something simple like version information, system date, etc. – anything that the developer can try quickly. Or, take things a step further and add a function to your SDK or API that literally returns the words: “hello world”. It might sound cheesy, but developers will really appreciate it, especially if your installation or build process is complex.


Web Apps and REST API Communications

Today’s web apps consist of frontends, backends, and integrations with other systems via REST requests. In addition to fulfilling the aforementioned goals, there are a couple more milestones web app developers often want to hit:


  • Set up a basic local client server and verify that frontends and backends can speak, before introducing remote communications to the mix.

  • Replicate round-trip communication between remote systems.


Your solution must therefore be tooled appropriately so that developers have a fighting chance at fulfilling these goals. This means your internal development team needs to think about your target developer experience as they architect the system. They’ll need to consider aspects like: 


  • Making and packaging components available for download.

  • Having a friendly installer and overall installation process.

  • Providing support resources like common troubleshooting steps.


More generally, both your internal development team, and indeed your whole organization, need to align your developer journey – something we advocate in any organization – with the goal of signposting developers towards successfully proving that they can build hello world with your product.


Containerization

Building on the previous section, we throw containerization into the mix. With containers and web service technology in general, developers need to understand an additional layer of complexity including:


  • Container technologies (e.g., Docker, Kubernetes, etc.) and how to encapsulate and expose different types of services. 

  • How cloud services (e.g., AWS) work. 


If your solution involves containers, one of the best ways to help developers is to not only provide sample containers, but also a sandbox or playground where they can try it out. A great example for inspiration is Docker Hub’s hello-world container, which outputs a message indicating successful container installation. And if you’ve ever tinkered with a cloud solution like AWS, you know how daunting it can be to navigate all the services available, never mind all the dashboards with endless knobs and dials to adjust. This is where a tutorial like AWS’s Serverless Application Model tutorial that provides a simple hello world application can be invaluable.


Since environment setup can be complex, your sandbox needs to be free (i.e., no access cost), involve minimal sign up, and pre-provisioned with all of the data needed to get started. Likewise, your sample container needs to be as simple as possible – think, can I make one that literally returns “hello world”, similar to Docker Hub’s?


These resources must be developed in concert with the simplest quick start possible, after which, you can augment it with tutorials that build up more complex container scenarios.


Hardware Development Kits and Dev Boards

Developers starting with a new hardware development kit (HDK) have special concerns, such as ensuring they can correctly launch the system, gain access, and avoid accidentally bricking it.


A hello world for an HDK must therefore cover several prerequisite steps, including:


  • Powering up and understanding the boot process.

  • Setting up the device’s network or internet connectivity.

  • Accessing the OS or basic developer functionality via JTAG, SSH, etc.


The actual output is then dictated by the hardware’s capabilities. Here are just a few examples you might consider for your hardware modules in different verticals:


  • IoT: Read a value from a port or sensor and display it on a screen.

  • Robotics: Invoke a function or command that causes a servo to move.

  • Game Console: Initialize the graphics system and display a shape. In a 2D system a pixel or line will suffice, while in a 3D system, a triangle may be the simplest primitive.

  • Automotive: Read a value from the CAN bus network or OBDII port and display it on a screen.


As with other types of hello worlds, there’s a lot for hardware developers to unpack just to get to an output, but hopefully these simple examples provide inspiration for your next HDK project.


Conclusion

The importance of hello world as a key touchpoint in your developer journey cannot be understated. Above are just a few examples to help inspire your next hello world, and you might even mix and match suggestions from the different categories.


Regardless of what you come up with, proper planning and implementation for this touchpoint, backed by regular reviews, will help developers more easily say “hello world” with your solution. 


Need Help? We are adept at helping organizations develop hello worlds, code samples, and developer documentation that can ultimately lead to more developer adoption. Contact us today to learn more about how we can help you create or evolve your hello world and other developer touchpoints.






 
 
bottom of page