Software Engineering According to Hardliner

Detailed - About Me

Steve Biedermann February 05, 2023

Who Am I?

Career

I'm a self-taught software engineer who started programming when I was 15 years old. First I was just playing around with QBasic and then I moved on to VBA in Microsoft Excel and to VB.NET after that. Sadly my first job had nothing to do with programming. I was doing an apprenticeship as a plastics technician.

During my training I still kept learning VB.NET in my free time, but my first chance at a programming job I got years later. I was an intern in a company and overheard them talk about a buggy VBA script they had. I offered my help and managed to fix the bug.

A few days after the company offered me a job, because they needed a VBA programmer for an upcoming project. Using VBA wasn't my dream but it still was a chance that I couldn't afford to miss. Finally a programming job on my cv.

The job was implementing CAD-stuff in VBA, but I could use my VB.NET knowledge as well. I even got the chance to start learning C#. Sadly the company culture was really draining, ending in me having a mental breakdown, which caused me to leave the company.

A few months later, I got scouted for a Delphi job, building customer software for ISPs. I stayed at this company for 7 years, working on everything from desktop software, to architecture, to software interfaces and much more. I also found my love for programming languages and custom tools.

While I worked there I learned D, C++, Go, TypeScript, Rust and a few more. I wrote multiple tools in all of these languages. Logging tools, http api mocks, build automation, simple parsers and more.

After 7 years the company got bought, which resulted in a shift in development I wasn't happy about. After a few colleagues and even our CEO quit, I decided to do the same.

Now I'm working at a company in the solar sector that uses C++ as it's main language.

My Love for Languages

All those languages I mentioned are just the main ones I used for most of my implementations, but I learned many more. In total I learned more than 25 programming languages up to the point, where could do minor projects in them. I did this to broaden my horizon and to see how other languages tackle problems, in order to apply some of those techniques where I saw fit.

I rewrote a central piece of delphi in a part of our product in functional style, which removed a few houndred lines of unnecessary boilerplate and made reasoning about the code and finding bugs a lot easier.

From all the languages I've learned, Rust is currently my favorite, because it let's me focus on what I want to do, instead of focusing about all the accidental complexity that comes with using other languages.

Here are some of my favorite features from all the languages I learned:

FeatureLanguage
First Class FunctionsMost Modern Languages
First Class ModulesOCaml
Pattern MatchingRust
IteratorsRust
Image Based DevelopmentLisp, Smalltalk
Repl Based Development, Live CodingLisp
MacrosLisp
Meta Object ProtocolLisp
HomoiconicityLisp, Red
Dependent TypesIdris
Refinement TypesAda
Contract Driven DevelopmentAda
ActorsErlang, Pony
Term RewritingTXL
System ModelingTLA+, PlusCal, P

Other Hobbies

When I'm not programming I'm spending my time with gaming, reading or DMing for my D&D group.