Not only coding

Notes about programming, career, and engineering culture.

Software Engineer Interview: Take-home Assignment

Take-home assignment is the type of interview where you will demonstrate your programming skills on a somewhat close-to-real coding project. Usually, it’s a description of a small project that you need to implement from scratch or a skeleton that you need to extend. It is used mostly by small and medium companies, Big Tech and FAANG/MANGA+ enterprises rarely incorporate it into their processes. In this post, I will share with you how to make the best out of good take-home assignments and how to deal with unfair ones....

June 17, 2022 · 6 min

Software Engineer Interview: Coding

The coding section is almost always present in an SWE interview process. Sometimes even multiple times, for example, for the screening and as one of the technical sections on the onsite interview. Usually, it’s a 30-60 minutes live session. You and the interviewer enter an online editor(CoderPad, HackerRank), or you share your screen. The interviewer gives you a description of the problem and maybe an empty code template or function that you need to complete....

May 28, 2022 · 8 min

Software Engineer Interview: Meta Post

During 2020-2022 I actively searched for my next career step, and I went through a lot of interviews. I want to share my experience with you and help you prepare and improve your interview skills. There will be multiple parts focused on different types of interviews. In this post, I will link them all for faster navigation. Coding: https://smyachenkov.com/posts/swe-interview-p1-coding/. Take-home assignment: https://smyachenkov.com/posts/swe-interview-p2-take-home-assignment/. … Stay tuned.

May 28, 2022 · 1 min

Telegram Image Resize Bot

Some time ago, I’ve had a project where I needed to have sets of images in different sizes. That was the only work with images in this project, and I did not want to bother with a complex image editor setup. So, I’ve decided to create a simple telegram bot for quick image resize. Telegram: https://t.me/resizerbot. Github: https://github.com/smyachenkov/resizer_bot. How it works First, you need to send an image. Both files and compressed images are supported....

October 1, 2021 · 1 min

AWS Lambda And Telegram Bots: A Perfect Match

Sometimes I want to create simple web applications, that automates one aspect of my life, try it and check if I will need it. For this purpose, I often use telegram bots. One-purpose project If you want to test an idea, you want to do it quickly and without extra layers of complexity. The closer implementation is to your pure, raw idea — the better. For simple projects, that are aimed to check if an idea even worth further development, you can safely ditch out staff like authorization, monitoring, or telemetry....

March 24, 2021 · 3 min

Code Presentation Tips

Sometimes, I need to show some code in my slides. It can be an internal presentation for 3-5 developers, an online meetup, or a live event. And many times, I have found myself trying to recover the lost code style configuration or to recreate a color palette from the previous presentation. I’ve decided to save all the templates and share them and some tips about code in slides with you. I hope it will help you to create code slides quicker and better....

August 11, 2020 · 4 min

How To Compare JSON Documents In Java

Lets think about a task, where we want to know the difference between 2 or more JSON documents. We may want to do it to display the history of edits of the document to review, validate, and have a chance to roll back these changes. For example, if we have two documents describing the movie Titanic: { "name": "Titanic", "length": 195, "genres": ["romance"], "cast": { "Jack": "James Cameron" } } and...

June 10, 2020 · 4 min

Cognitive Biases In Software Development

A couple of years ago, I started my first job as a programmer. On the first day, I entered the office, sat in my new chair, turned on the computer, checked out a project from the version control system and opened it in IDE. The first-ever piece of the code I saw looked like that: // TODO it works, but it's ugly, rewrite function init() { // some code } As you may already have guessed, this code remained untouched for a couple of years, until the project became obsolete and was archived and longer used....

March 18, 2020 · 13 min

Flyway Migrations in Multi-Module Maven Projects

Single migration set for multiple projects.

January 24, 2020 · 3 min

Kotlin Static Analysis Tools

Kotlin did an amazing job saving and including into its scope most of all valuable Java libraries, frameworks, and tools. But there is one type of tool that can’t be easily imported and reused — static code analyzers. Java developers have implemented a lot of tools for code analysis, therefore, if you have worked with Java you might be familiar with some of the following projects: PMD, checkstyle, findbugs, spotbugs, etc....

June 16, 2019 · 9 min