keinsell

Paid Programming

July 31, 2024

I’ve had a very little to none formal education in IT or CS, and I’ve not beenn much into reading books either yet still managed to gain fundamentals, on the run (with a lot of re-learning when needed). I had to face a lot of problems to which I wasn’t aware of accepably flawed solution and had to put effort in order to make sure to avoid solutions which are fundamentally flawed.

I’ve been solving problems by (eventually) writting down code for some years and never could settle for a single set of responsibilities which have been usually going through design, product, code, testing and management. In other words, I never had responsibilities inside my role, rather I’ve been in a company and did what I could and never been afraid to try myself out of what I been assigned to.

I’ve never needed to be “assigned” to anything, as when there been published stories which given me abstract map of what system is and for what it is and what should be done - I could contribute to learn a system and ingest feedback people who might’ve beared a domain knowledge.

I’ve had a beef with Leetcode because every problem listed had a known solution which been easy searchable when problem could be recognized and solution could be implemented and for me it mattered to see a problem as it was and find a solution which covered for what problem have standed for. I’ve been somewhat a “glue developer” which not been afraid to rip code out of public when it’s been possible.

I’ve contributed to a StackOverflow when I’ve had ideas which been struggling me and could always be open to discuss them with other programmers or even write about them to myself when I’ve solved them.

I’ve always moved top to bottom when operating within unceranity which made me identifing a big picture and later on comming into small details for each of steps from a bigger picture, I’ve sometimes used analogies to domains outside programming and mixed them with plans.

I’ve always been somewhat unable to solve mathematical equations and a formal specifications of computational problems were challenging to grasp for me. I’ve been doing what I could to follow through complex dependencies and “match” a solution of which I am aware or not into a problem of which I’ve been aware or when I’ve had a feeling something been off it’s place.

I’ve been doing what I could to follow through complex dependencies within codebases, separate concerns and maintain a bendable rules which have shaped how codebase been evolving.

I’ve anthropomorphized systems on which I’ve been working, seeing production as a living organism which have own processes which shouldn’t be disrupted and treated it gracefully if not carefully compared to a development environment which been my playground where breaking things and going fast been rewarding.

I’ve been pretty bad at reading code and been into idea of writting code in a way I wouldn’t be supposed to read it but rather navigate through it by symbolism and abstractions. I’ve never had a problem to understand what code represents depending on a context and level of abstraction which been necessary for me to know about. There’s no value in knowing operation codes for a CPU architecture when I could be building web application in interpreted language, it’s just seems like a inefficient and in some context useless information.

When I’ve been trying to learn programming I’ve disliked verbosity of C and have decided to use a TypeScript which been a less shitty superset of JavaScript from other ones and it’s been probably around 2021. I’ve tried to learn a Rust and Haskell to have a fun with type systems and it’s been somewhat fun to try something fresh after more than 5 years with TypeScript.

I’ve depended a lot on community and ecosystem of my programming language, and try to keep a healthy balance between external dependencies and inviting public code into codebase for which I’ve been responsible. I’ve been open to learn about libraries which I use by trying to reproduce them on my own in free time.

I design modules with clear APIs (by my own taste) by using public/private exports in order to hide what’s unnecesssary to a other module, and almost never extract them into microservices until it’s absolute necessary.

I skipped the lessons about SQL and always been prefering ORMs and QBs rather than plain untyped queries which were not aware of their corectness relative to database schema. I apply basic resilience patterns like timeouts, circuit breakers, and backpressure.

I’ve been revieving code which been written by not me and always tried to put a lot of effort into explaination why I would do things other way as I’ve been aware (as for a senior) other collaborators of repository might not hold up same understanding of a existing system as I did. It’s been somewhat important to me collaborators would hold similar assumptions to ones which been behind existing codebase unless assumptions weren’t fundamentally flawed.

I try to use as few software components as possible. Ideally, just the application itself which would be self-contained in executable binary. I solve deployments with set of basic shell scripts and containers when there’s a need to do such.

I’ve once wanted to explore what programming languages are about and decided to stay at a level of knowledge where I am aware of that code is parsed down to AST which is later on interpreted or compiled, and I am aware that I don’t know all the details which goes all the way down up to machine code and further.

I’ve built a software used by users which have served business (or myself) well.

I’ve had a feeling only people which have liked me been CTOs and eventually coworkers been not a fan of me. I’ve been avoiding a talks at all costs because I would rather write a documentation than jump on individual calls.

When I’ve had a break from software engineering I’ve thought about an potential future directions in formal verification but my own lack of grounding I sorta give up and decided to do a little of writing about life.

So being stupid kind of worked out for me, at it’s own time.

Fucking kindergarten.

← Back to all posts