I recently needed to be able to take a dynamic text string of arbitrary length and turn it into a fully rendered image that could be saved to GCS. I found plenty of examples of code that showed how to import your own font file, generate a basic image with whatever background color you desired and then draw the text string on top. What I couldn’t find were details on how to handle drawing that string if it was too long or needed to be multiline. Most of the examples assume your string is a constant or already formatted into…

When I transitioned from an IC role to management a few years ago, lots of people gave me lots of advice. That advice ranged from tips on how to manage my calendar and delegate more to navigating the new dynamic with people who I was friends and peers with before. The thing that no one really talked about though was how much longer seeing the results and impact from the work I was doing would now take and how rare the moments of instant gratification would be.

Anyone who has developed anything knows that feeling of instant gratification that is…

Vue.js, Docker and Google Cloud present a solution to deploying and hosting webapps.

Deciding how to host and deploy your frontend webapps is a common question these days. From handling via an existing all-in-one platform like Netlify to hosting the compiled assets in something like S3 and serving via CloudFront there are many options available to choose from.

The method I’m discussing here will outline how to run your app in a Docker container, push the Docker image to the Google Container Registry, deploy the gcr.io image to a Google Cloud GCE VM leveraging instance groups and finally show how to configure a load balancer in front of your webapp.

Vue.js is a…

There was a recent blurb in the Manager Tools newsletter from Wendii that mentioned the concept of Instability Recovery. As the newsletter references it- “Anytime a skydiver gets out of the right position, they begin to tumble, going head over heels or spinning around. If the parachute launches while you’re tumbling, bad things happen. Therefore, “instability recovery”, that is, getting back into the correct position, and then stabilizing yourself is an essential skill.” …

Issues with software engineering interviews are not new or uncommon in the technical world. Here at Bluecore, some of the issues that plagued Bluecore engineers when it came to interviewing happened when we had a normal post-interview sync on a candidate and everyone rated the candidate as a “hire” with no major flags raised, but because no one felt strongly enough about the candidate to rate them as a “strong hire” we ended up passing on actually giving an offer. We found ourselves asking the question: “Why did our rating process no longer match up with the actual qualifications we…

In the world of software today, you can usually find a 3rd party library or existing code for anything you need to do, whether that’s using Moment.js to handle everything that is time related or using react-dnd for drag and drop functionality. A good engineer should be willing to first evaluate that no one has already solved their problem before starting a custom solution -- especially these days when there are so many excellent libraries out there. If you were tasked with using a library or tool to render a tree of nodes and lines, what would you use? In…

Bahar Shah

Software engineer/manager by day. Baker, reader and wannabe film critic by night.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store