Eric J Ma's Website

« 3 4 5 6 7 »

Shape Up and Data Science: A Match Closer to Agile Than You Think

written by Eric J. Ma on 2023-10-05 | tags: data science agile scrum shape up software methodologies product development deep work team autonomy adaptability

In this blog post, I explore the limitations of Scrum for data science. I introduce Shape Up as a potential alternative. I discussed how Shape Up's ways of working align better with the unique needs of data science, such as deep domain specialization and varied feedback durations. I also highlighted how Shape Up embodies Agile's core values while suggesting modifications to suit data science projects better. Ultimately, I emphasized the importance of adaptability and delivering value, staying true to Agile's core principles.

Read on... (1940 words, approximately 10 minutes reading time)
How automating git workflows improves data scientists

written by Eric J. Ma on 2023-09-30 | tags: automation git commit messages release notes data workflow data science jupyter notebook lab notebook

In this blog post, I discuss the importance of commit messages for data scientists and how automated commit message writers can improve their workflows. I highlight the psychological barrier of committing in-progress work and the benefits of having informative commit logs. By using automatic commit message generation, data scientists can create a digital lab notebook that summarizes their work and aids in resuming tasks. This blog post emphasizes the value of good commit logs in maximizing productivity for data scientists.

Read on... (474 words, approximately 3 minutes reading time)
How to crisp up your resume with ChatGPT

written by Eric J. Ma on 2023-09-26 | tags: resume career development gpt large language models chatgpt

In this blog post, I share my discovery of using ChatGPT and GPT4 to enhance a PhD student's resume. By utilizing the prompt and interactive process, you can efficiently condense bullet points without losing important information. I explain how the AI model suggests rephrasing and offer tips on how to further shorten bullet points.

Read on... (118 words, approximately 1 minute reading time)
How to automatically write git commit messages

written by Eric J. Ma on 2023-09-23 | tags: commit messages conventional commits git workflow git llamabot python pre-commit software development data science

In this blog post, I discuss how I used LlamaBot, a Pythonic interface to Large Language Models (LLMs), to automatically write git commit messages following the Conventional Commits specification. By feeding the git diff into the LlamaBot SimpleBot, I was able to generate informative commit messages that make it easy to track project history and create accurate change logs. I also explain how to install the prepare-commit-msg hook to run the LlamaBot after pre-commit hooks and before editing the commit message. Interacting with LLMs requires precision and clarity in thinking to effectively utilize their capabilities.

Read on... (1320 words, approximately 7 minutes reading time)
Centaurs and Cyborgs: Interacting with Artificial Intelligence Tooling

written by Eric J. Ma on 2023-09-17 | tags: artificial intelligence centaurs cyborgs ai tooling integration biotech research ml models automation

In this blog post, I discuss the concept of Centaurs and Cyborgs in relation to how consultants interact with AI tooling. Centaurs have a clear division of labor between humans and AI, while Cyborgs deeply integrate the two. I explain how I personally work in Centaur mode for tasks like writing blog posts, delegating certain aspects to AI, and in Cyborg mode for modeling work. I also explore how this framework can be applied to integrating ML tooling into biotech research. Overall, the two modes are not mutually exclusive and can be further refined.

Read on... (518 words, approximately 3 minutes reading time)
How to extract query params from FastAPI

written by Eric J. Ma on 2023-09-17 | tags: til htmx fastapi web development programming frontend backend python requests

In this blog post, I learned how to extract query parameters from FastAPI. I discovered how to access key-value pairs from a GET request using the request.query_params dictionary. Additionally, I found a solution to properly format URLs by using the urllib.parse submodule. This information was crucial in developing a blog writing assistant with a frontend in HTMX and a backend in FastAPI. Overall, it was a valuable learning experience that I hope will be useful to others as well.

Read on... (370 words, approximately 2 minutes reading time)
Article Review: 4 Skills the Next Generation of Data Scientists Needs to Develop

written by Eric J. Ma on 2023-09-09 | tags: data science biotech research machine learning problem spotting problem scoping problem shepherding solution translating laboratory science protein engineering antibody therapies

In this blog post, I reflect on the importance of four key skills for data scientists in the biotech field: problem spotting, problem scoping, problem shepherding, and solution translating. These came from an article in the Harvard Business Review. I show by example the need to understand the real issues faced by our collaborators, ask probing questions, maintain regular communication, and speak the language of the audience -- the last one being crucial. These skills are crucial in building trust, understanding the underlying science, and developing effective solutions.

Read on... (958 words, approximately 5 minutes reading time)
Interviewing Data Science Candidates with Code Reviews

written by Eric J. Ma on 2023-09-06 | tags: data science hiring interviewing code review coding skills candidate assessment documentation design choices machine learning

In this blog post, I discuss a different approach to evaluating a candidate's coding skills during an interview. I ask them to bring a piece of code they're proud of and conduct a code-review style discussion. This method reveals their standards of excellence, their ability to explain and defend their work, and their thought process behind their design choices. I also share a rubric for assessing coding skills, which includes factors like code organization, documentation, and the candidate's response to feedback.

Read on... (692 words, approximately 4 minutes reading time)
Promotions vs. Bonuses

written by Eric J. Ma on 2023-09-04 | tags: career growth promotion bonus peter principle work rewards motivation morale professional development incentives

In this blog post, I debunk the misconception that promotions are rewards for excellent work at your current level. Instead, I share a framework I learned before that promotions should be rewards for demonstrating sustained excellence at a higher level. Bonuses, on the other hand, are the appropriate reward for outstanding work at your current level. But are promotions and bonuses enough as a motivator?

Read on... (710 words, approximately 4 minutes reading time)
What's the difference between `setup.cfg`, `pyproject.toml`, and `setup.py`?

written by Eric J. Ma on 2023-08-31 | tags: packaging setup.py setup.cfg python pyproject.toml enhancement proposal project configuration dependencies package management conda project structure

In this blog post, I explored the differences between setup.cfg, pyproject.toml, and setup.py in Python packaging. I explained their historical context and usage, and recommended using pyproject.toml as the setup configuration file for Python packages in 2023. I also discussed the importance of Python packaging for data scientists, and the distinction between environment.yml and pyproject.toml. The former defines a project's development environment, while the latter provides pip with installation and usage information for a Python package that I might be working on.

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