In a large skillet over medium-low heat, heat butter and olive oil until butter is melted. Add potatoes.
Cook potatoes, stirring every few minutes, for about 15 minutes, or until potatoes are soft and sides are brown and crispy. Unless you have the world's largest frying pan, the potatoes won't be able to be in just one layer so they won't brown evenly. Part of the deliciousness of German fries is that some are crunchy and some are fluffy soft. Go with it.
Once potatoes are done, remove from pan and place on a paper towel-lined plate. Set aside.
In hot skillet, add onions and cook until just softened and beginning to caramelize, about 5 minutes.
Add back in the potatoes, mix well and heat until potatoes are re-warmed. Remove from heat and season liberally with salt and pepper.