Personal details

Jens S. - Remote software architect

Jens S.

Timezone: Berlin (UTC+2)

Summary

I'm a software developer with a record in creating reliable, maintainable, and well-performing programs and desktop applications. In more than 10 years I have built a good understanding which qualities matter and which do not. I can see structural issues in the design of a program that only manifest themselves as road blocks much later in development where they are hard to fix.

My specialty would be writing non-distributed programs using only bare essentials, with a no-nonsense straightforward approach. I develop most software using minimal language features and with only few library dependencies. This frugal approach leads to programs that are comprehensible, portable and that will work reliably with little or no changes in decades to come. It also enables later extensions that are often not easily possible with large software dependencies, which put certain constraints on code organization.

I have a good understanding of the inner workings of computers and operating systems (mostly on Unix-likes and some on Windows). I've administered a network of about 120 Debian GNU/Linux systems (desktop clients as well as servers) and created and maintained server applications for them. In the process I have learnt fundamental OS and developer skills that many programmers never learn.

I am an expert in C and bash, and am a proficient Python scripter. I've also worked in most other current mainstream languages, and some less mainstream ones. But I often feel most productive in C since it doesn't presuppose any structure on the data layout and code. I believe that clever language features aren't a net benefit for large programs, since is structure that is encoded with clever features is hard or impossible to access and manipulate. Pre-made features also encourage programmers to solve issues locally using structures that, while available without development cost, are not quite right and so lead to problems later.

I have proven ability to transform poorly written code modules in huge software projects to maintainable ones, typically reducing lines of code by 2x to 10x, and yielding constant runtime speedups of up to 1000x. Although cleaning up old code is a significant effort, often re-writes are not an option because the requirements are buried in the code and assumptions are gone with developers that left the company long ago.

Since 2018 I have been working on my own C-like programming language, including a compiler that can compile several 100K to 1M lines of code per second. It has no dependencies except libc, which means I'm familiar with everything from parsers to intermediate representation to amd64 code generators and ELF and PE/COFF object writers.

Another past project of mine was a GUI application that I created from scratch to meet specific user interface requirements. I approached this by only depending on OpenGL and FreeType. The result was an application that starts extremely fast and that can scale to arbitrary monitor resolutions without blur (contrary to most applications created with a heavy GUI toolkit).

I'm a vetted member of the Toptal network, and elsewhere have proven a solid algorithmic understanding by completing coding challenges that have less than 1% success rates.