This is how the cookie crumbles

From a young age Peter wanted to fix things, and where the opportunities arose whether it was pulling apart old electronics or computer systems, this intuitive young boy would become a well observed man with a passion to travel far and wide whilst remaining true to his childhood roots. Knowing how to balance your work and what you do for fun is a key point in Peter's life which has allowed for him to produce work that is both filling a gap in the market but also providing valuable tools to not only clients but also the community he has immersed himself in. So grab a cookie or three and learn how Peter has taken his passion for the field and turned it into a well-oiled craft.

...
Peter Thaleikis
Bangkok, Thailand

Who are you? Where are you from and what is your backstory?

 

I’m Peter aka "Spekulatius" or "cookie man 🍪️”. I grew up in collapsing Eastern Germany. School was more boring than challenging. Being a kid, roaming through the remains of industrial complexes and playing with the abandoned machines was way more exciting than school. The other side of my childhood was taking things apart. I found old TVs, VHS players, ... and took all them apart - to see what they are made off 🔌️ My dad on the other hand was an engineer by trade and put the things back together to fix them. Although my attitude towards school didn’t improve until later in my educational career I ended up receiving a scholarship in electrical engineering 👨‍🎓️

 

After finishing university I became a “professional software engineer” but I had things that I still wanted to do so after a year and a half in my job I decided to move to Asia (2011), then I moved to New Zealand 🌏️💗️ and a bit over three years later back to Asia 😁️  Here I moved around a bit and got stuck in Bangkok 🔥️ I’m working mostly as a contractor and when I get some down time I like to build stuff “on the side”.

 

 

What made you get into programming?

 

I’ve dreamed about becoming a developer pretty much since my dad brought home a used 286 Intel computer. I must have been around 12 or 13. At the time it was already outdated but the machine was more than enough to fascinate me - even without an internet connection. I was excited to play around, looking into files, changing stuff and find out what broke it. I must have reinstalled Windows 3.1 a million times. A bit later I started learning C and played around with it for a while. But something was missing: it all felt a bit “useless”. Making another calculator didn’t give me a lot of satisfaction. That missing link came when my dad got an old 14.4 kBit modem and we installed dial-up internet. For those who have never had the experience of dial up internet check this out: https://www.youtube.com/watch?v=AgqEIp2YmtE

 

I started playing around with the web. Inspecting the source code of websites. I started building my own sites and learned Perl as a backend language. This was pre-GitHub, even pre-Google. Learning stuff was much more challenging. I loved figuring out how it works and making stuff work. The little exciting moment when you found a way to make it work is what got it me and still keeps me going.

 

What made you want to create?

 

While being employed I helped out on many ends to “make it work” and this often led to very high workloads. I noticed my natural desire to code disappeared and my energy to push forward dropped more and more. I guess that's partly due to the project management, partly caused by clients having unrealistic expectations and for a share by myself of course.

 

Besides the workload issue, being an (employed) software engineer always with the downside of not being able to create what you want and how you want. There was constantly your boss or manager telling you what and (even worse) how to do stuff. Not a very good recipe for being fulfilled.  

 

At some point I decided to leave work and gave another approach a try. I moved back to Asia, took a break and later started spending more time discovering new technologies and coding for fun. Ideas for little projects constantly jumped into my mind and I noticed that researching names and titles wasn't done the way I would do it. I ended up coding a little project, startupnamecheck.com and launched it as a learning exercise for new tech, SEO and marketing.

 

What does your process for learning to code look like?

 

I'm interested in a wide range of things. But I also don't think you can be a great developer in every aspect of technology. To address this conundrum I started excluding certain areas. One of them being native mobile apps for example. I don’t develop mobile apps and even decline considering it as client and personal projects. Plain and simple because I need to draw a line in the sand. For “the rest” I’m trying to have an understanding of basics and principles first. This helps putting things into clearer context. Usually, I start by learn the basic technologies rather than the framework. So “JavaScript” comes over React/Vue/Angular/you name it. I think if you are great with Plain JavaScript, for example, you will be able to use it everywhere and can jump into new frameworks easily. On the opposite, if you know how to build stuff efficiently in React you will only be able to use this in React. Some principals are transferable, but at the end you become a “React developer” instead of a “JavaScript developer” (or even better a “developer”). So much for my learning philosophy!

 

I learn better by example. That probably makes me a bad example for a good learner. In German you would say “Everyone is good for something, even if it’s just as a bad example” 😅  Often this is combined with a goal: usually solving a problem or building a little project.

 

Let me try explaining this more using my latest project. I've built a browser extension called “which login” to remember which social media site you used to sign-in on a particular site. This was my first browser extension and makes a good example for my learning process. I had already worked with VanillaJS, ES5 and ES6 (modern JavaScript versions) and was able to build the functionality itself before starting. The challenges were more about finding out how to get the right information from the browser and store information in the browser. So I dug into examples to see how other extensions access it. For this I found the Mozilla web extension examples very useful. The examples show ways to access the different Browser APIs in one simple add-on. Like with the old TVs I started playing around with the examples and tweaked them to see how they worked. This way, I managed to get a basic understanding of the way it worked. This allowed me to build the first version and later versions of the same browser extension got more sophisticated and I implemented more and more of the understanding I gained from the basic examples.

 

 

What does your process for building apps look like?

This depends on the type and size of the project. Super small stuff I get going on without much thinking. This could be a new blog site for example. It takes no genius to use a template, deploy it to Netlify and tweak the design a bit.

 

For anything out of the category or super small I try to force myself into doing some research & planning. Research is an important phase I tend to cut short too much so I’ve started asking myself these questions:

  • Does it exist? If yes, what would I do differently to make it worth the effort? If not, why not? Has anyone tried? Are there abandoned similar projects?

  • Next step is getting an idea on involvement: Is this a one week job or one month job? Do I have the time?

  • What technologies are needed? Do I have the knowledge to do it completely myself? What do I need to learn?

  • Do I have a plan to market the idea? No project is worth being built if you can’t get anyone to use it at the end.

 

These questions are key to making an informed decision for me. If i’m still getting a feeling this is worth it I start planning it out more.

 

That starts with scoping: What should it be able to do? What streams of work are there? For which login would this have been an extension on a simple website. If the project is more sizeable I split things up: usually along the lines of front-end (presentation) / backend (core functionality). Depending on my workload I might outsource a part of the work like the front-end implementation. With a demanding contracting business it just makes more sense financially.

 

All just for one thing: At the end nothing beats the moment when you click refresh and it works 😍️

 

Do you face any particular challenges when building over a period of time?

I do find that with long term projects I suffer often from a loss of motivation. I had multiple ideas being implemented while I worked on something very similar. That isn’t a great feeling really. On top of that, very often client work comes up and distracts me from continuing on my side projects. These are “now problems”. I’ve started doing smaller projects with clear, limited scope. This alone hasn’t resolved the issue but it has helped a great deal. I keep working on solutions for this - if I stumble across a golden recipe I’ll share it on Twitter 😄️

 

Are you currently learning anything new?

Not completely new but VueJS is a hot topic for me. It’s a killer in combination with Laravel. Both are very easy to get started with and the learning curves are really flat. Vue and Laravel have great documentations online, tutorials and communities - exactly what a newbie dev needs to get started. To dip your toe into Vue you need not much more than an hour or two.

 

Otherwise, I like browser extensions. It’s a concept people get and the market is mature enough. I’m hoping to develop more small and big extensions over the next year. I’m learning a lot of new things here at the moment.

 

Advice for those learning to code?

I think it’s mostly the things I’ve mentioned throughout the article already. Here a quick summary and some more thoughts:

 

  • Learn the basics first, don’t jump into a framework because it’s trendy or “everyone seems to use it now”.

  • When you are choosing technology choose by having quality material to learn with: up to date documentation with examples, maybe video tutorials or courses and of course a big and helpful community.

  • When it comes to coding itself: Set yourself small goals and find ways to work towards these. Don’t start off with trying to build the next Amazon or Netlify.

  • Document your progress on a blog or makerlog. This keeps you accountable to continue and makes it easier for others to help you out.

  • Spend time off screen thinking on the issues you face: What is making it hard for me? Is it the coding itself or is it not knowing how to approach the problem? Is it PHP or Laravel?

  • Ask questions: People are happy to help out generally. Just don’t expect them to solve your problems - that’s what coding is. You will need to do it yourself.

 

 

What’s your tech stack?

 

As you might have guessed: Lots of PHP stuff like Laravel, SilverStripe for business/government projects and VanillaJS.

 

I’m keen to keep my development environment simple. No IDE or whatsoever. Just Sublime Text and a few packages (git, syntax highlighting).

 

What have been influential books, resources and links that have helped you?

One book left a permanent impression on me. I stumbled across it when I was 14 or 15 in a book store I strolled through. It was on sale for 1 DM (German Mark, the old currency before the Euro. 1 DM is roughly half of 1 Euro). I bought one because the back of the book sounded interesting. When I read it I got drawn in more and more. I ended up reading it again every few years until today.

 

It’s not about coding at all - it’s actually about business. But no worries, it’s not one of these boring & dry business books. It’s comparing the advantages of starting a business with the advantages of the great explorers in the past. They faced similar challenges as they chartered unexplored seas, same as you when you start your first business or get into something totally new like coding. Have a look at The Venture Adventure by Daryl Bernstein.

 

Where can people learn more about you and your work?

 

There is my blog where I talk about freelancing, coding and making stuff. It just launched and has still very little content, but that will change over time.

 

My projects are Startup Name Check and Which Login. I’m always happy to see people using my software. If you find any bugs send me message on Twitter please. If you are keen to follow my maker progress you should follow my on makerlog.

 

On the more serious side: My business can be found under Bring Your Own Ideas. The site is also rather thin on content atm but I’m always happy to welcome visitors to it. I’m providing development services for pretty much everything I’ve talked above.

 

What makes Spekulatius the ‘best’ cookie?

 

Spekulatius is the best cookie in the world because it got me through so many cold nights in front of my computer coding. It’s the perfect balance between sweet and tasty to keep me going during all nighters. It comes in big packs at almost no cost (like 0,50 - 0,70 Euro per big pack). Also works as a replacement for meals if you can’t stop coding. Depending on your addiction level this will last you between a day and a few weeks. I’m rather at the lower end, but it got better. But it comes with downsides: The stuff is highly addictive and I’ve been told it contains too much sugar. Here is my disclaimer: I won’t be responsible for any diabetes, sticky keyboards or similar. Consume responsibly 🍪️