About Caleb

Who I am, what I care about, what I'm trying to do.

Updated:

My name is Caleb Jay Rogers. I live in Taipei, Taiwan. I'm a software engineer with a skillset primarily in web development, detailed below. I have a degree in Creative Writing from the University of Houston and seven years of professional software engineering experience. Right now I'm growing a software engineering contracting and consultancy firm called 508.dev, doing various volunteer engineering work in Taiwan, operating a southern fried chicken biscuit restaurant and studying Mandarin. While we're managing several projects at 508.dev right now, we have room to grow, and so, I'm actively interested in engineering and project management work, particularly that which would let me leverage the team I've been building. Also, I'm happy to pass along roles to my network. The best way to reach me is by email, and my address is caleb at calebjay dot com. For 508 related inquiries, that would be caleb at 508.dev.

Back to Top

Skills

I'm comfortable in all aspects of modern frontend engineering. I'm professionally experienced in the Javascript frameworks React, Vue.js, Backbone.js, and Angular, as well as the Python framework Django. I'm confident that I can adapt quickly to whatever web framework is thrown at me. I'm also experienced in the CSS frameworks Bootstrap 3 and 4, Materialize, and Google Material Design Components for Web (MDC). For proof, please follow links on my main page to some of my projects, see my Github, or send me an email with more specific questions.

I'm also comfortable in integrations work between software such as Shopify, Wordpress, Medusa.js, Contentful, and various e-commerce, CMS, CRM, and ERP solutions. We've deployed and are actively managing several such solutions at 508.dev.

When building web apps, I prefer Vue.js as a framework, Webpack as a build tool, and deployment via Google App Engine.

That being said, I can and have engineered with the following tools, technologies, and standards:

  • Javascript
  • Node
  • Typescript
  • Python
  • Vue
  • React
  • Next.js
  • 508 Web Accessibility
  • WCAG
  • Webpack
  • Parcel
  • ESbuild
  • HTML
  • CSS
  • LESS
  • SASS
  • SCSS
  • Tailwind
  • Angular
  • jquery
  • Django
  • FastAPI
  • Tailwind
  • Bootstrap
  • Material Design Components (MDC)
  • Canvas
  • Pixi.js
  • WebGL
  • Mocha
  • Chai
  • Jasmine
  • Jest
  • SQL
  • SQLAlchemy
  • Postgresql
  • mysql
  • MJML
  • Mongo
  • Docker
  • AWS
  • AWS Lambda
  • Google Cloud Platform
  • Google App Engine
  • Heroku
  • nginx
  • Ubuntu Server
  • Linux
  • git
  • Gitlab
  • Github
  • Linear
  • Jira
  • Go
  • Lisp
  • Bash
  • C

Back to Top

Professional History

Currently, I'm scaling up my software engineering co-op 508.dev. We've had several successful projects and so I'm looking to develop the business further. Past projects have included a SASS product for Cofactr, mentioned below, as well as projects for an angel investor, a web development e-learning platform, a gender and queer issues e-learning and e-commerce platform, and a web streaming platform.

Before that, I hired and led the Cofactr frontend development team and architected, managed, and built their SaaS frontend, from scratch. Cofactr is a ycombinator company with a hardware parts searching product, and while working with a backend engineer to design the server API, I led the frontend build. This included hiring and managing engineers, creating and assigning tickets, final responsibility for code review, and personally building out a large majority of the app. We built the SaaS as an SPA communicating with a Django server, in Typescript, React, Redux / Redux Toolkit, MUI, and Webpack.

Previously most of my time was devoted to Curative, a medical testing company has delivered over one million Covid-19 vaccines. At Curative, I was focused on making their applications accessible, while developing primarily with technologies such as Javascript, Typescript, React, HTML, CSS, Tailwind, Webpack, and Python 3. In particular, I engineered Curative's Vaccine Landing Page (now defunct as Curative no longer offers vaccines), rebranded almost all of their emails, and after performing a full multi-device accessibility audit, am in the process of getting their application entirely web accessible by meeting W3C Accessibility Standards. I'm passionate about web accessibility.

My previous full time position was at Potato. Potato is a design and engineering firm based in London and San Francisco. I worked on projects for clients such as Google using technologies like Javascript, HTML, CSS, SASS, Webpack, Vue.js, Canvas / WebGL, Python, Django, and other modern web development tools. As of writing, unfortunately the only project that's live is Google Careers.

Before Potato, I was working as a frontend engineer at Electric Imp, on their web-based IoT device management tool. We worked in Javascript, Backbone / Marionette, Vue, and LESS. The build was prepared by Grunt and Gulp, and there were no unit tests (though we had a crazy good QA team for integration testing). While I was there, I spun up a Vue.js app from scratch to act as an admin portal for private cloud customers, and then ported our main app to a Webpack build system, adding capability for unit tests as well as our first unit tests on the frontend. This also allowed us to use ES6 / ES2015. I did this amidst the release of Webpack 4, and thus ended up firing off a bunch of random pull requests for various JS libraries that I regret not keeping better track of so I could brag about it here.

Before Electric Imp, I was at first a student, and then a teacher's assistant, at Makersquare (which became HackReactor, which was then bought by Galvanize). That was an exciting time. I have blogged about the experience in several posts:

Before Hack Reactor, I was an Engineering and Design recruiter at NES Global Talent in Houston. I was exploring a life path I thought I would be good at: sales. Either it didn't work because of the oil price dropping from around 100$ a barrel to around $40 after my first week, or because it's just not the life for me. I'm glad, now, that it didn't work out.

Before my job as a recruiter at Hack Reactor, I was an English as a second language teacher in Taiwan, teaching people from ages 5 to adults. I have also blogged extensively about this:

Before that, I was a kind of product manager, web developer, general English-speaking-dude-to-drag-around-trade-shows at BIG Entertainment, a media distributor based out of Taipei.

Before that, I was head of the technical internship development program at AIESEC Taiwan.

Back to Top

Professional Goals

I've founded a general software engineering LLC, 508.dev, and I'd like to develop this business further to enable my team to reach a level of income that lets us begin spending time developing our own products or platforms.

I'd like to establish a very strong architectural ability in web development, from a systems design standpoint. I've worked on a lot of very well scaled systems over the years, using multiple cloud technologies and scaling strategies, however that was never my primary focus. I'd like to focus more specifically on those tools and strategies. This seems to be happening naturally as I transition to leading software teams.

I'm considering picking up some mobile app development skills. Right now I'm working on adding sync by Google Drive functionality to the Android app Orgzly.

I'd like to learn a great deal about AI from a practical engineering standpoint as well as a scientific research standpoint. In striving for this very long-term goal, I'm filling the gaps of a spotty and weird education by studying a lot of math.

I'd like to learn a lot more "native" engineering, such as embedded systems. I'd like to learn Assembly for some instruction set, it doesn't quite matter which one.

I'm in the process of founding a chocolate factory in Taiwan that exclusively uses Taiwan cacao beans.

I'm 20% of the founding team of a Chicken Biscuit restaurant in Taiwan. I really enjoy digitizing a lot of this business, including our point of sale, vendor management, stock management, and financial analysis.

Back to Top

Values

All people are equal. Systemic racism is real, and harmful. Black Lives Matter. Trans rights are human rights.

People are inherently good.

Taiwan is a sovereign nation.

Information should be free and easily accessed. In fact, it should be actively given to people that could find it useful. So therefore, efforts to hide, obscure, or obfuscate information are bad. This means I support libraries and the taxes that pay for them, the free software movement and the organizations that support it such as GNU, whistle-blowers, journalists, grey-hat hackers, and bio-hackers. This means I don't support efforts to suppress the free flow of information, such as many aspect of international copyright law, big pharma lobbying in the US government, whistle-blower crackdowns, governments that restrict information and harm journalists such as the CCP, or highly expensive scientific publications. This means when I write code, I try to write extensive documentation as I do so, with the objective of my non-technical coworkers being able to read and understand what my code is doing. This means I prefer libre tools to do my work, such as Emacs and Linux. This means I love teaching. This means web accessibility should be first-class consideration when building a web application. This means that I welcome anybody and everybody to email me about anything they think I can help them with understanding better. Also, education should be free.

Climate change is real and is the number one existential threat we face. This means I try to do my small part in avoiding climate-damaging activities. This means I prefer jobs in locations to which I can walk, bike or take public transit. This means I believe cars should be almost entirely banned inside most major cities (among many other reasons). This means I support public transit, bicycle lanes, and the taxes that support these things. This means I probably won't work for, or create applications for, climate-damaging corporations in industries such as Oil and Gas.

People should be good to eachother and support eachother, and violence is almost never an acceptable solution to a problem. This means I support organizations such as the Peace Corps, Red Cross, CERT, and social welfare and the taxes that pay for it. This means that in general I won't do any work for any nation's military or military industrial complex, barring social welfare work. This means I believe all militaries worldwide should be almost completely defunded and disbanded, barring their humanitarian branches.

Self determination is good. Violation of sovereignty is generally bad. This means I support the sovereign nation of Taiwan and reject efforts of the PRC to bring democratic Taiwan under its imperialist rule. It also means I support a free Hong Kong. If you have fallen under the sway of CCP propaganda and believe Taiwan isn't a sovereign nation, email me and I'll help you understand why you're wrong. This means I believe various forms of democracy and rule of the people are the only valid forms of governance. This means I oppose efforts by the American Republican party to prevent Americans from voting. This means I oppose the Russian invasion of sovereign Ukraine.

Life is short and should be enjoyed. This means I reject restrictive dogmas that demonize human tendencies. This means I celebrate good food, friendship, and happiness. This means I reject excessive materialism.

Capitalism isn't working to serve the needs of humans anymore. We should eliminate artificial scarcity, and begin planning today for what we intend for humans to do when we no longer have to justify our existence through labor. I regularly ask politicians what their plan is for their community when the value of their constituents' labor is pennies per hour, and I've never gotten an answer. It seems nobody is planning for this inevitability.

The anarchists probably have it right.

Back to Top

Hobbies

I'm currently obsessed with self hosting, and have deployed a self hosted netflix alternative, Audible alternative, comic book reader, ebook reader and OPDS server, Spotify alternative, events management platform, public polling platform, Google Photos alternative, RSS reader, JIRA alternative, business expense and invoice tracking software, time tracking software and Google Drive alternative. I have more things I want to deploy, and I get new ideas from the really cool Github repo Awesome Self Hosted. I learned a ton about unix and devops doing this, and is why I deploy most personal projects now on a VPS.

I really love photography, and later I'll link to a public portfolio. Right now I crashed my photo server because I forgot to point the docker volume for the software's thumbnail gallery to my zfs pool (64 TB) instead of my root drive (512 GB) and I don't have time to fix it.

I like writing, and I think everyone should write occasionally in a journal, or even just stream of consciousness. I'd like to write sci-fi novels eventually. I'm working on some now, but not with any discipline.

Thus obviously I really like reading, particularly sci-fi novels.

I like cooking and baking, and am really good at both.

I like learning about older tools and technologies. That means I like being the Emacs guy at work. I'm constantly trying to improve my vim skills (I use evil-mode in Emacs). I like learning about various GNU command line tools, though I still have a lot to learn. I prefer building simple, accessible, static webpages whenever the opportunity arises. If I can get away with it, I like to write web applications in plain old Javascript without any frameworks, although this is rarely possible. If I can really get away with it, I like building websites without any Javascript at all, although this typically just leads to me building whatever site in some sort of server-side rendering type tool such as Hugo or Django.

I like playing videogames, sometimes. Mostly lately I just like setting up streaming from my PC to my phone or Steam Deck, or building out a really cool emulation setup that I never use. I have a couple blog posts on the subject.

I'm starting to learn how to produce electronic music in Ableton. I enjoy it but am currently frustratingly bad at it. Here's my Soundcloud.

I like growing plants, and I have a lot at home.

I really like riding motorcycles. I usually rent a motorcycle when I travel. So far I've ridden a motorcycle across Vietnam, around a bit in Japan, around a bit in the French and Italian Riviera, and around a whole lot of Taiwan. I have a lot of riding videos on youtube. I also blog about this.

I like learning languages. I speak a bit of Japanese and a bit more Chinese. Fluency in Mandarin is a 3 year goal for me. At this point I'm pretty good. Here's a video of me giving a presentation in Mandarin at a g0v hackathon.

I love traveling. I can sometimes feel stuck somewhere, and life seems very, very short. Traveling alleviates those feelings. Plus, I love food, and traveling is a great way to eat.

I'm idly into horology and am a slow-burning watch collector. I blog about this, too. I enjoy modding watches. My projects so far have been a crystal swap on a seiko turtle, a bezel and caseback swap on a Vostok, a dial and handswap on a seiko skx007 that ended in disaster, and a failed attempt to repair a broken datewheel on a pagani.

I like meditating.

I like weightlifting.

I love camping, and am always open to backpacking trips!

I'm really getting into chess lately. My username on lichess is komali_2, if you feel like humiliating someone in chess today, challenge me to a game!

Back to Top