Maritime Professionals: How to get Started In Python

Jordan Taylor
5 min readMay 6, 2024

--

As a maritime professional, I often get asked how to start coding. This article explores recommended routes to become proficient in Python.

Background

My Journey

In 2014 I attended a coding bootcamp at General Assembly in San Francisco. It was a three-month, full-time immersion into Swift, a mobile development language for Apple. By the end of the class I made a fully functional mobile app, with a user interface, back-end, and a database.

After I graduated I transitioned to Python. Python was human readable and there was a large amount of libraries available that appealed to me. For example, Python is excellent at natural language processing, working with spatial-temporal data, and managing large data: a perfect fit for the maritime industry.

Why Code?

In my opinion, a basic understanding of code is highly beneficial for maritime professionals. Systems management and development is an inevitable task of a junior/mid/upper-level manager within shipping. In order to bridge the gap between information technology specialists and maritime professionals, an understanding of information systems on the part of the maritime professional will reduce costs and produce a better product. By comparison, poor information systems management will cause excessive training, workarounds, disaffection, etc. will cause costs to go up within an organization — thereby increasing overall organizational risk. I dare say we’ve all been there.

Why Python?

As maritime professionals we don’t want to spend too much time coding. We have problems to solve. Python code is typically 3–5 times shorter than Java code, another popular coding language. Python is human readable, and it is my experience that learning Python is not particularly difficult.

Python is the most popular coding language, is growing, and continuing to take over overall market share which stands at 85%. One current catalyst is that Python is being used to work with large language models (LLMs). Libraries within Python are being built to work directly with LLMs, such as LangChain. In fact, LLMs themselves use Python to obtain outcomes!

Lastly, you don’t need to be a software engineer to develop a proof-of-concept using Python. However the ability to develop a POC will help out engineers immensely and will speed up the development process. As a rule, software engineers need requirements that are explicit, and how better to communicate concepts in an explicit manner then rendering solutions in Python?

How to Get Started

The expensive but worthwhile option.

Coding bootcamps. When I attended General Assembly (GA) in person in San Francisco I was able to immerse myself in coding with the support of my classmates and a very talented teacher who was working at Twitter at the time.

Generally with these programs you will produce an artifact. This can be a hook into jobs such as quality assurance or writing software documentation, which are entry level jobs in information technology.

You will also be able to network in-person. At General Assembly they had a job board, and some students were placed in entry level roles out of GA.

Depending on where you live, you may have to do some outside research on coding bootcamps. They are prolific, and if you live in an urban area you most likely have access to some sort of short, accelerated coding program.

Many are not full-time, but rather online or conduct evening sessions: a path manageable for those working full time.

The less expensive option.

I find Udemy to be excellent. I frequently take classes on Udemy, and what I like about the classes is the instructors quickly get to the point.

There are likely hundreds if not thousands of Python courses on Udemy, ranging anywhere from $10 to hundreds of dollars. Start by vetting some of the top courses by first watching the introductory video. After you finish an introductory course, specialize. For example specialites with maritime are geospatial analysis, machine learning, or (as I am doing now) working with large language models.

The free option!

Coding with Mosh. Mosh is an outstanding instructor. Accessible, and gets straight to the point.

Integrated Development Environment

An IDE is how you run Python code. Per GPT: “An IDE, or Integrated Development Environment, is software that provides comprehensive facilities to computer programmers for software development.”

Some recommendations:

Pycharm

I personally use Pycharm and love it. There is a free community edition.

Google Colab

I do not use Google Colab, but I see it being used in training videos and beginning Python courses. The IDE is browser-based, which is an advantage. I hesitate to recommend it as I have not used it, but I see it enough to give it a shout out.

Jupyter Notebook

Jupyter Notebook is the platform that I had wished I had started on. The advantage of Jupyter Notebook is that you can iteratively work on problem solving and data / information management, rather than working with an arguably more complex IDE that may be set up for software engineers and not casual coders.

Helpful Advice

❤️ Do what you love.

The best way to start coding is to engage with a project that you have interest in. For me, it was demurrage analysis and combinatorial optimization of chemical tanker cargoes.

Do something you are interested in even if it is outside of maritime. You can always circle back to maritime at a later time.

⚓️ Join groups and network.

Python Meetups are a great way to network with other Pythonistas. PyCon is an annual event that attracts thousands of participants. These sort of conferences also provide inspiration and new knowledge that you can actively apply to problem solving. In my experience people that you meet at these gatherings will be overwhelmingly interested in your maritime background, so be sure to flaunt it.

👾 Use GPT as a co-pilot.

Don’t forget to use ChatGPT or a large language model to help you with coding. If you get stuck, simply apply the code to GPT to polish the code. Some IDEs now have AI-assist. I set up my OpenAI system settings to only render ChatGPT output in Python code, which is helpful.

👵 It is not too late!

Masako Wakamiya was 82-years old with no prior coding experience and wrote a mobile app that has now garnered 53,000 downloads on the Apple Store with a five-star rating.

It is never too late. For myself, at age 50, it is a welcome outlet and enjoyable. I expect I will code well into retirement.

Conclusion

Python is worth diving into as a maritime professional. Using Python enables problem solving, quicker development time with outside developers, and-in my case-an enjoyable hobby. The key is to start with projects that capture your interest, making the learning process engaging. The journey is totally worth it.

--

--

Jordan Taylor

Merchant marine officer with a B.S. in Marine Transportation and a M.S. in Transportation Management.