Cover image credits: Calqui - Own work, CC BY-SA 3.0
I will be coming to the San Francisco Bay Area in 2020 (March/April) for a pair-programming tour.
Invite me to join you for a couple of days pairing with you, while working on your current tasks/project.
I'm an enthusiastic software engineer with 10 years of professional experience working in different areas of visual and spatial computing.
I have hands-on experience with delivering high-quality software, but I also like working on prototypes/MVPs for measuring traction before adding unnecessary complexity.
It’s when a programmer briefly visits several companies to join them in their coding work and to learn from each other.
-- Amitai Schleier
Corey Haines coined the term Journeyman Tour, an analogy to the journeyman years of medieval craftsmen (e.g. the German "Walz"), who were visiting several master after their apprenticeship in order to grow professionally and to become a master of their field themselves.
Nowadays, there are similar programs in other industries that offer additional professional experience in exchange for supporting the host in their everyday work. It's probably more common in labor-intensive professions (e.g. organic farming), which surprises because the software engineering discipline is relatively young, the development processes are far from obvious and the variety how we work towards our goals is several orders of magnitude bigger than compared to working on/with physical things. At least, I think that this complexity in our industry has something to do with most of our tools and frameworks being virtual.
Learning on the go, and generating value on the way is crucial in order to balance priorities between business and engineering, except if there is a huge research budget.
The idea is simple: You provide room and board. I pair with you for a couple of days. We do it because we both expect to gain.
Exactly. I am offering to share my knowledge and provide new insights for free. Why I am doing this?
Because I don't want to miss interesting pair-programming opportunities because of troubles getting the budget approved. The risks and costs should be as low as possible. I will invest time and energy, but I should not have to invest my own money.
An absolute requirement is that we set goals so that we both can expect to gain value from my visit. Besides my learning from you, you will learn from me as well, and probably (depending on the goals) receive a direct contribution from me to your work.
I have hands-on experience in the following areas:
- C++20, CMake, Make
- C# and Java
- Object-oriented and functional programming
- Clean Code, Refactoring, Loose coupled architecture
- Unit, Integration, Acceptance and UI Testing
- Creating tests for legacy applications
- Performance profiling and memory leak analysis
- Open source license compliance
- Diving into new technologies/languages really quickly!
- Unity3D, OGRE3D
- 3D scanning and scan processing (hole filling, volume computation, etc.)
- 3D cloud rendering service
- OpenGL, DirectX
- Augmented and virtual reality
- Video processing and streaming
- Image processing and analysis
- Medical visualization (radiology image data)
- Volume rendering
- SIMD, SSE, AVX, Arm Neon
- Advanced GIT (Git LFS, Submodules, etc.)
- CI/CD Tools like Gitlab CI, Jenkins, TeamCity, Azure DevOps, Travis CI, CircleCI
- Docker, Docker Compose
- Cloud technologies (Google Cloud, Firebase, AWS, Azure, etc.)
- Bash scripting, Batch scripting, PowerShell
I like refactoring, eliminating code smells, decouple components, discuss architecture pros and cons, automate everything, improve team development experience, single-action build and test workflows, improve docs, find out almost everything the involved tools have to offer functionality wise. We won't run out of ideas about how I can support you.
Also, if we discover topics of general interest I am happy to give talks or workshops to the whole team.
Harald is a fun coworker and downright team player who always tries to improve his and the team's performance by encouraging regular code reviews and practicing pair programming. He always strives to find a clean and elegant solution to the problem that integrates well with the existing codebase.
-- Ferdinand Pilz
Harald's eagerness to grow as a developer in order to perfect coding skills, as well as his willingness to share knowlede make him a first class software craftsman. His strong enthusiasm for software development and collaboration among developers are an inspiration to me.
-- Alexander Hörmandinger
I love Harald's passion to explore new things and to share his skills with others. He always strives for the best practices, instead of the quick, "naive" solution. I worked with him for over 2 years. He definitely made me a better programmer!
-- Robi Hammerle
Let's do a 1-hour remote pairing session. Send me a request with your preferred date+time. See the contact details on the end of this article.
There are several software craftsmen who did similar tours and inspired me a lot:
Journeyman Tour by Corey Haines
Code Cop Tour by Peter "Code Cop" Kofler
Coding Tour by Amitai Schleier
Craftsman Swap by Nicole Rauch
and many more crafters...
It takes a lot of courage and effort planning and implementing such a tour, also it bears a risk when two parties who barely know each other agree to work together. My admiration for all the hosts and touring crafters who saw that the potential benefit is greater than the risks required to overcome.
I am not interested in your customer or the project itself, just the learning and sharing. I will sign any NDA. If you do not want to be mentioned, I will not use your company's name in any posts or tweets. I will blog about my experiences during the tour. If a post covers my visit at your company I will show it to you before I publish it.
Reach out to me, and let me figure out how I can create value for you:
Twitter: @Harald3DCV or
Email: harald.reingruber AT gmail.com
Leave your questions in the comments section, or contact me directly.