Hello! My name is Lada Kesseler and I’m a Lead Developer at Logic 20/20 in our Digital Transformation practice. I spent the last few years designing and developing custom software for one of our biggest clients, a major US telecom service provider.
My typical day
Usually, I start my day around 7:30 with a hot cup of tea and a quick scan through my emails and calendar, then go through my notes from the previous day and define my daily priorities.
I have a daily stand-up meeting with my team at 9:30. The couple of hours before stand-up in the morning are usually the quietest time of the day for me, so I use that time to do some coding and often manage to get a lot done, which is a nice way to start the day.
Our 15 minute daily stand-up meeting is a great way to sync up with the team: we discuss the progress each member of the team made the previous day as well as their goals for the day and bring up any blockers. Any discussions that have a potential to last longer than a minute are postponed and put into a “parking lot”, and then discussed immediately after stand-up in a smaller group.
The rest of my day is split between meetings, design sessions, development work, and helping team members when they need my assistance.
I often spend my evenings after work playing with new technologies and learning new skills.
Meetings fall into several categories. My team follows an Agile process, and we have some regular meetings with the client that we usually hold once or twice during the two-week sprint – for example, sprint planning and grooming. Each sprint ends with a demo session, where teams show what they have accomplished during the sprint and discuss plans for the following two weeks.
I’m often asked by the client to give estimates for some piece of future work. Those discussions are usually with the product owner and a few representatives from the client’s team.
Technical design discussions are held when needed. Most of them are less formal and involve just the developers who are working on a specific feature.
We hold weekly Dev-to-Dev sessions, which are a technical version of Lunch & Learns that are held at Logic. I suggested those as a way for developers across several smaller teams within our bigger team to share their knowledge and experience, and they have proven quite useful for the team.
Additionally, there are some Logic meetings that I attend. We hold a weekly Logic Leads meeting to facilitate communication between the bigger Logic team and the Logic team on the client’s side. I also attend a bi-weekly Digital Transformation Practice Leads meetup and the Logic Leads technical meeting, which is held once a month, where we discuss best practices and share technical experience across various projects.
Most of the product that my team develops consists of Spring Boot microservices written in Java 11. We have a few Node.js projects that integrate with third-party components. We use Maven to build Java code, and Git as a versioning tool. The code is stored in Bitbucket, and we have a Jenkins pipeline written in Groovy which pushes the built jars to Artifactory and then deploys applications to Kubernetes. Applications are run in Docker containers on EC2 instances in AWS. We use Kafka and Kafka Steams heavily on the project. We also use a lot of AWS services, which include DynamoDb, S3, KMS, Secret Manager, etc.
Here are some of the common tools that I use daily:
- Most of my coding time during the day is spent writing code in Intellij Idea, which is my all-time favorite IDE. I also use some Intellij plugins: static code analyzers that help me avoid missing bugs, log coloring tool that makes reading logs easier, code coverage tools, and so on.
- I use Notepad++ for keeping notes and TODO lists. I store those using plain text files in markdown format, and I have my own coloring scheme for my notes.
- I use PlantUML for creating UML architecture diagrams from plain text language.
- We use Splunk to analyze logs and dig into production issues.
- My team uses Slack and Microsoft teams for communication.
- We use Jira to track stories and storyboard and Confluence to keep and share notes online.
- I often use Pomodoro technique when I code, so Pomodoro app on my phone is one of the tools that I use often. I found that it works very well for me, allowing me to get into the flow zone faster by helping me fight distractions, which makes me more productive.
What I like about Logic20/20
I enjoy the people and the culture that we have at Logic, as well as the project I’m on and the exciting work that I get to do. I appreciate how open Logic leadership is in internal communications, and that it genuinely cares about the well-being of people in the company.
I also like that Logic provides lots of opportunities to grow and learn – I check out books and partake in online training using our Safari Books Online subscription, and I’m preparing for an AWS certification, which Logic encourages and reimburses.
Things I’m looking forward to at work
I’m passionate about building quality systems that are easy to change and support. In the last few years, I helped design and built several completely new systems for the client.
My current work is focused on improving our authentication system and the messaging engine that we have. Those have been ambitious projects that are both fun and challenging. I found myself enjoying both redesigning the existing authentication system and planning and testing out directions that I want to explore with our messaging engine, and I’m really looking forward to seeing this work through.
I also really like my team, and often look forward to seeing them and working closely with them, be it during pair programming sessions (which I wish I could do more often), or design sessions where we brainstorm technical solutions.
Overall, I love my work and care about what I do very much. I try to hold myself to high standards and follow the Boy Scout rule (the software engineer edition: “Always check-in a piece of code cleaner than you checked it out”), and I want to always stay hands-on, learning, and growing.