About the shed dweller
Hi there 👋
My name is Fyodor.
I call myself a software craftsman. And this site is my digital shed (aka digital garden, but I'm not into plants). I aspire to be a full-stack developer but mostly do front-end work these days. My main area of interest is developer tools, and currently I help to build one of the greatest DevSecOps ecosystems around with other awesome folks at 42Crunch.
TL;DR: I have a long boring history of life and craft experiences behind, so if you're not into it, feel free to just pass by. But if you are...
I started to learn programming in primary school. I was fascinated with computers though I got my first personal one only when I went to university.
It were the years of floppy discs, mostly 3½-inch. My high school teacher used punch cards for her class notes and our test assignments.
My main motivation first was the communication with the computers. Then later, when I got deeper into maths and physics, the challenges, and problem solving were keeping my blood burning.
As I mentioned already, I didn't have a machine to practice programming at, so I did that only in classes, or on a paper sheet at home. Probably this enigmatic format of learning allowed me to do things that were boring for others and win school programming competitions for high-schoolers when I went to middle school yet.
The languages were Basic and Turbo Pascal, of course. The first was a magic creature. The second was a powerful beast. I never did something really cool with them, as I see it now, but I solved numerous puzzles and applied mathematical tests.
So I never had a doubt about what kind of degree should I pursue. But destiny shifted my way from CS to the dark side of more hardcode engineering. But on this wrong (as I understood later) road I met with my old passion very often: CS course, applied programming and scripting for 3D modelling, macros for spreadsheet data processing, hobbyist websites, and so on.
When the number of times a day I nostalgically thought about programming at my job became too high, I decided to come back to this guilty pleasure of mine.
I started freelancing part-time, and doing occasional side hustles for my growing network of software acquaintances. And fell deeper and deeper in love with software development, and the GUI part of it specifically.
At some point I said to myself it worth the risk and changed my petroleum engineering career (mostly did 3D modelling and data processing at this time) to software engineering. And never looked back.
I always loved computers and treated them with respect. By the time I got my first one, I was able to disassemble and assemble it back with my eyes shut, because I loved reading books about PCs and PC magazines (it was a thing these days). And during my engineering days I always set up my working machine so as I was able to go to the moon with it installed on my ship. I had a lot of shell scripts for automation, several Linux distros installed simultaneously (on top of Windows of course). But funny how software development taught me to value seamless experience and focus on things that you do instead of what you do it with. So at some day I tried my wife's MacBook and understood that maybe I'm getting old, but I love the experience of using the machine just to work and not to set thing up, fix and fine-tune the system behaviour. That's when I probably became a professional software developer instead of a computer geek.
As I love the visual part of software, I was always engaged in UI/UX development more than anything else which means HTML, CSS, JS, TS and everything that's in between and around. I even practiced CSS art and animation and loved the creative part of it a lot. But at the same time, at different stages of my career I played with Java, C#, C, Objective-C and Swift, Elm, Lua, Lisps, and much more. I still plan to come back to developing my own bootstrap C compiler...
But no matter what people say, front-end development is quite complex and sophisticated in itself, I never fail at finding new challenges at my job and new ways to improve my craft. Some funny things I participated in are:
- ERP for Pentagon with business-modelling and whiteboarding modules inside
- Swiss-army-knife-like marketing tool for SME with all the conventional bells and whistles and even profile picture cropping
- Slack and Jira killer (which eventually committed suicide)
- And many other decent citizens of the software world along with weird outcasts and heathens
Currently, I practice my craft of full-stack web development with focus on UI/UX and smooth BE/FE interactions.
I love to:
- Enhance DX with modern tools and practices including sane automation flows
- Develop slick micro animations and micro interactions for web applications seamlessly enriching user experience
- Refactor complex codebases to make them simpler and easier to work with
- Build things from scratch with minimal set of tools
- Get deeper into the way things work and write comprehensive documentation about it
- Learn new ways of solving problems and practice new approaches to software development (which actually always come back to old good practices under the hood)
- Mentor younger folks when I can be useful
In the nearest future I plan to:
- Build my own developer tool allowing to seamlessly protect software from internal and external vulnerabilities (which is a huge pain these days both for enterprise development and for OSS)
- Build a 2D game with my sons to learn this side of development world a bit more, teach kids to code, and just to have some family fun
- Build this shed in a way that will be welcoming both for myself (to meditate in my own practical way) and for accidental visitors
Long story short, I was always (and I am now, and I hope I will be) constantly building something and constantly learning something, and I like both processes very much.
This shed is the best place to find out everything I'm engaged with currently, but if you need some more networking and interactions, don't hesitate to reach out.
Cover photo by Clark Young from Unsplash