Hello from a new OCaml learner

Hi everyone,

I’m Adith from India, and I’ve been learning OCaml over the past couple of months.

I started with the NPTEL Functional Programming with OCaml course, worked through Exercism exercises, and recently began building the Build Your Own Shell challenge on CodeCrafters.

Along the way, I’ve also been fortunate to make a couple of small documentation contributions to the OCaml repository, which has been a great introduction to the open-source community.

My long-term goal is to build a career as an OCaml software engineer, so I’m trying to learn by combining:

  • structured learning (NPTEL)
  • practical projects (CodeCrafters)
  • open-source contributions
  • reading Real World OCaml

I’d love to hear from experienced OCaml developers:

If you were starting over today, what one or two things would you focus on that had the biggest impact on becoming a better OCaml engineer?

I’m looking forward to learning from everyone here and hopefully contributing more to the community.

Thanks!

Adith

Hey Adithnk,

Welcome!

In my opinion, the best way to learn (a language) is by using it and getting involved in open-source projects. Learning by doing, basically! Open-source projects are a good way to get feedback from others (e.g. via Pull Requests). Also, you might want to take a look at the source code of some OCaml projects and learn from them.

thank you so much for your valuable comments . i should follow this method

Welcome to OCaml! :two_hump_camel:

OCaml - The OCaml Manual – Reading thru the full manual of a language is surprisingly under-practiced, in my experience, but it is really valuable, even if you just skim some parts that don’t make sense when you’re starting. It will (1) ensure you have a sense for the full breadth of the language and (2) give you landmarks that you can refer back to when you encounter unfamiliar constructs in the wild.

If you’ll forgive the unsolicited advice: OCaml is a lovely language with a nice community, IMO, so nothing wrong with that goal! OCaml is well worth learning as part of a software engineering career. But, FWIW, my personal experience has led me to believe that keeping my parameters open to all manner of interesting techniques and opportunities is good for a career. It’s hard to know where your interests or opportunity will develop over the many decades of a career!