Eric J Ma's Website

« 4 5 6 7 8 »

Classes? Functions? Both?

written by Eric J. Ma on 2023-12-12 | tags: data science programming style function-based programming class-based programming data processing object-oriented data structures neural network data transformation callable objects

In this blog post, I discuss the choice between class- or function-based programming for data scientists. I argue that objects are best for grouping data, while functions are ideal for processing data. However, configurable functions that need to be reused can be implemented both ways. I lean towards a functional programming style, using classes to organize related data. But sometimes, like with callable objects, I adopt a different approach. Curious about when to use each style in your data science projects? Read on!

Read on... (1177 words, approximately 6 minutes reading time)
Elevating Team Performance: Feedback Strategies for Data Science Leaders

written by Eric J. Ma on 2023-12-11 | tags: data science team management culture feedback coaching code review asynchronous feedback technical feedback team morale continuous improvement

In this blog post, I share my experiences and insights on providing effective feedback in a data science team. I discuss the importance of positivity, specificity, self-reflection, effusiveness, in situ technical feedback, connecting accomplishments to broader impacts, and uplifting when mistakes occur. These strategies foster a supportive environment, promote continuous improvement, and align team members with the broader mission. How can these feedback strategies improve your team's dynamics and performance? I hope my experiences shared here can give you inspiration!

Read on... (1773 words, approximately 9 minutes reading time)
Embracing Leadership: My Journey at Moderna

written by Eric J. Ma on 2023-12-03 | tags: leadership podcast hesitation coding perfectionism team power environment technical credibility bayesian network deep learning llms growth moderna skiplevels feedback psychological safety google mistakes graduation development obama humility servant

In this blog post, I explore my thoughts on leadership as a data science team lead. I discuss the power of leadership, the importance of technical skill and credibility, encouraging independent growth, fostering psychological safety, embracing graduation, sharing credit, and the challenge of humility. I conclude with my belief in servant leadership. What does leadership mean to you and how do you navigate its challenges?

Read on... (723 words, approximately 4 minutes reading time)
Speeding up CI Pipelines with Micromamba: A LlamaBot Case Study

written by Eric J. Ma on 2023-11-26 | tags: continuous integration python micromamba llamabot conda yaml mambaforge caching

In this blog post, I experimented with speeding up LlamaBot's CI system by switching from Miniconda to micromamba. The results were impressive, with more consistent timings and a significant reduction in build and test times. The primary advantage was the built-in, turnkey caching of the entire environment. This change made a noticeable difference, especially when testing against bleeding-edge packages. Could micromamba be the solution to your CI delays? Read on to find out!

Read on... (402 words, approximately 3 minutes reading time)
Zephyr vs. GPT4: What's your verdict?

written by Eric J. Ma on 2023-11-19 | tags: huggingface zephyr gpt4 benchmarking gitbot llm language models code summarization prompt engineering machine learning

In this blog post, I benchmarked Zephyr, a new language model by HuggingFace, against GPT-4 using GitBot. I found that while Zephyr shows promise, GPT-4 seems to offer a more out-of-the-box solution for accurately interpreting and summarizing code changes. However, different models may require different prompts to perform optimally. Curious about how these language models could change up your coding workflow?

Read on... (2045 words, approximately 11 minutes reading time)
Navigating the Hiring Process: What to Expect and When to Expect It

written by Eric J. Ma on 2023-11-12 | tags: job hunt hiring process career advice application tips interview preparation talent acquisition job offer negotiation tips career development job seeking

In this blog post, I share insights from my experience as both a job candidate and a hiring manager. I break down the hiring process into five stages: application submission, TA phone screen, hiring manager phone screen, onsite interview, and offer negotiation. Each stage has its own expectations and timelines, which can help you plan your job-seeking journey. Patience is key, and remember, each step is an opportunity to showcase your skills. Curious about what to expect at each stage and how long it might take? Read on!

Read on... (991 words, approximately 5 minutes reading time)
Navigating the Transition from Academia to Industry in Biomedical Data Science

written by Eric J. Ma on 2023-11-05 | tags: professional transition public profile skill adaptation networking phd careers masters careers career strategies career development career advice

In this blog post, I share strategies to bridge the gap between academia and industry. I discuss enhancing your public profile, adapting your academic skills for industry, networking effectively, and communicating your value. These strategies can help PhDs, Master's grads, and those considering their academic future navigate their career more confidently. Curious about how to translate your academic achievements into industry value? Read on!

Read on... (957 words, approximately 5 minutes reading time)
How to debug a ModuleNotFoundError in the interrogate pre-commit hook

written by Eric J. Ma on 2023-10-29 | tags: pre-commit hooks code quality debugging python version setuptools dependency management github actions code style checks

In this blog post, I discuss a ModuleNotFoundError I encountered while using the pre-commit hook, interrogate, in Python 3.12. The issue arose due to a missing package, setuptools, which is no longer included by default in Python 3.12's virtual environments. I proposed a solution and provided a workaround by using Python<3.12 for pre-commit installation. This experience highlights the importance of tracking dependencies and adapting to language and library updates. Have you ever faced similar issues in your development workflow? Read on to find out more about my debugging journey.

Read on... (505 words, approximately 3 minutes reading time)
The importance of skip-level 1:1s

written by Eric J. Ma on 2023-10-24 | tags: work relationships feedback conflict resolution meetings organizational dynamics team building career development transparency professional growth

In this blog post, I discuss the importance of regular 1:1 meetings and the benefits of 'skip-level' 1:1s, where you meet with your direct manager's manager. These meetings provide a broader perspective, facilitate understanding of organizational dynamics, and contribute to a culture of transparency and mutual respect. They are beneficial for both individual contributors and managers, fostering personal and organizational growth. If you're a team lead, encouraging your team members to engage in skip-level 1:1s demonstrates great leadership. Curious about how these meetings could transform your work routine and relationships?

Read on... (605 words, approximately 4 minutes reading time)
How to run Ollama with LlamaBot

written by Eric J. Ma on 2023-10-22 | tags: python large language models llms gitbot zotero local llms ollama langchain openai gpt-4 prompt engineering llamabot

In this blog post, I explore the integration of local Large Language Models (LLMs) with my LlamaBot project using Ollama. I discuss how Ollama simplifies the setup of local LLMs and demonstrate how to use Ollama models with LlamaBot. I also share a quick demo with Zotero chat using Ollama models. While OpenAI's GPT-4 remains the benchmark, local models offer cost-free alternatives. Curious to read more?

Read on... (517 words, approximately 3 minutes reading time)
« 4 5 6 7 8 »