Jim Mcdonald is a seasoned technology leader and advisor with 14 years of hands-on engineering experience and a career spanning senior technical and executive roles from Goldman Sachs to multiple CTO positions. He combines strategic leadership—founding Cognis and guiding early-stage firms through Weald Technology—with deep backend expertise in Go and Ethereum protocol stacks, contributing fixes and features to high-profile projects like go-ethereum, Erigon, and Prysm. Jim has shipped both backend and full-stack work, including payments and domain-sale integrations for MyEtherWallet and resilience improvements in proof-of-stake beacon nodes. His recent advisory role at Bitwise Asset Management reflects a shift toward crypto-native investment and governance, while his history of mentoring and investing underscores a strong operator-investor mindset. Notably, he has implemented protocol-level improvements such as EIP55-compliant formatting and network ID handling, showing attention to both usability and protocol correctness. Educated in computer science at the University of Edinburgh, he blends academic foundations with pragmatic, production-focused engineering.
14 years of coding experience
23 years of employment as a software developer
BSc Computer Science, BSc Computer Science at The University of Edinburgh
Contributions:1 review, 106 commits, 128 PRs in 3 years 1 month
Contributions summary:Jim primarily focused on improving the functionality of the beacon node. They addressed issues related to node shutdown and potential panics, as well as comment and logging improvements within the validator. Significant changes were made to logging within the validator client, including outputting the full public key and improving clarity, and to the main logic of the node as well, and improving logging within deposit handling. They worked with Go in the context of Ethereum proof-of-stake.
Contributions:4 reviews, 9 commits, 16 PRs in 6 months
Contributions summary:Jim contributed to the `go-ethereum` project by fixing a bug related to the `TransactionByHash` function in the `ethclient` package. They implemented EIP55-compliant address string formatting and added corresponding tests within the `common` package. The user updated tests in the `cmd/geth` package to reflect these changes. Furthermore, the user added a method to retrieve the network ID using the `net_version` JSON-RPC call and addressed a bug in the transaction pool concerning price bumps.
golanggethethereump2pblockchain
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Jim Mcdonald - Advisor at Bitwise Asset Management