• Home
  • Testimonials
  • Blog
  • Contact Us

At a Glance of a Key

Crafting Dreams into Ventures, Code into Excellence: Your Journey to Success

  • Home
  • Testimonials
  • Blog
  • Contact Us

Hit the Ground Running

2022-07-13 Career Growth 3 Comments 3 minute read

I joined AWS around 4.5 years ago and had the good fortune to be a founding member of a brand-new service. It was tough and interesting to build it from the ground up, and it put me in an excellent position to know practically everything about the requirements, architecture, different design decisions, reasons for those decisions, and what known issues (and their workarounds) we have and keep dragging with us as technical debt.

Recently, I decided to move on and joined a startup. The company already had a team working on the product for many months, and I had to step in and pick things up quickly. Furthermore, the product is written in a programming language that I never worked with, so the question is how do I set myself up for success?

Any change can be scary, especially if it takes you far outside your comfort zone, but if you adhere to a few general guidelines, I truly believe you can succeed and hit the ground running.

  1. Get a basic understanding of the problem we are solving, the current product and the short-term (and possibly long-term) roadmap.
  2. Understand the current architecture and high-level design, and most importantly – the reasons behind it. For example:
    • Why do we need micro-service X ?
    • Looks like this micro-service is a bottle-neck and a single point of failure. Are we planning to change it? How ?
    • This flow is part of the API path and might cause high latency. Why didn’t we build some of it as a background service ?

    Note: Sometimes there is not much documentation of the current design. In that case, I would strongly recommend building one. Talk with team members, write down notes, and then draw an architecture diagram with all the services, their responsibilities and input/output objects. You will gain three things: 1/ You will have it in front of you for future reference. 2/ Other people can review it and correct you in case you didn’t capture something right. 3/ New folks who are joining the company will benefit from it.

  3. Get to know the existing processes in the company, and how things are done. How do we review the code? How do we merge to production? How do we test locally?
  4. Spend some time reading about the new programming language and the tools that are used. There are plenty of books and online resources on everything. Watch some videos on advanced topics, and most importantly play with them. Consuming information is great, but you need to go, write some code, and make sure you understand what you learned.
  5. Take on simple tasks that require you to read a bunch of code and make small changes. You will start making connections between what you have learned from others (about the product, architecture, and design) and by making changes, you will see things break. Spending time reviewing and fixing unit tests, running the application locally, accessing APIs and observing the results can help you test your comprehension, boost your confidence, and eventually allow you to start taking on more complex tasks.
  6. Don’t be afraid to ask questions! When I don’t know something, I don’t have any problem admitting it. Trying to position yourself as a know-it-all will cause you to lose “points” in the long run, as people will stop trusting the information you give them. Instead, be confident in yourself and in your skills to learn whatever you need – by asking questions, and following up by looking at online resources. As a bonus, by asking “basic” questions other people might catch things that were missed ๐Ÿ™‚
  7. If you work remotely, there is no way to meet face-to-face with everyone and go for a coffee or a beer. Instead, I would recommend setting up 30 minutes with other folks on the team, turning on your cameras, getting some coffee and talking with each other. Building personal relationships is the key to success. Don’t be hesitant to say hello and introduce yourself.
  8. When participating in meetings, don’t hesitate to express your thoughts. Everyone brings a different perspective to the table, and everyone has a different prior experience that is valuable. Always remember that you were hired not only for your coding skills, but also for your thought process, experience, and many other skills.

Have any other recommendations?
Please drop a comment and share your thoughts!

– Alexander

Oh hi there ๐Ÿ‘‹
Itโ€™s nice to meet you.

Sign up to receive a notification when new posts are published!

We donโ€™t spam!

Check your inbox or spam folder to confirm your subscription.

Storing large items with DDB and S3

To Go or not to Go

3 thoughts on “Hit the Ground Running”
  1. Ilya
    2022-07-13 at 11:29 AM

    Love it! Asking questions is a really important point, especially for new folks. Some of the best engineers I worked with drove everyone crazy with their questions in the first few months. The outcome? Some of the most knowledgeable folks I have ever worked with. Asking questions also helps raising points which even existing members might not know the answer for. The entire experience will ultimately drive team’s knowledge up and will benefit the entire group. Good article Alexander. BTW I am hiring ๐Ÿ™‚

    Reply
  2. Danil
    2022-07-13 at 12:12 PM

    Wow, I really enjoyed reading from the beginning till the end. A lot of excellent ideas that I will try in my new position at Texas. Good luck to you with a new challenge.
    ื›ืœ ื”ื›ื‘ื•ื“
    Danil

    Reply
  3. Tony
    2022-07-25 at 3:09 PM

    You got most of the them Alex, I enjoyed the read

    Reply
Leave a Reply Cancel reply

About Me

Principal Software Engineer and an industry leader with startup and FAANG experience. I specialize in distributed systems, storage, data protection services and payment processors.

Beyond technical expertise, I am passionate about supporting fellow engineers in their careers. Through approachable blogs and hands-on guidance, I help navigate the ever-evolving landscape of technology, empowering individuals to thrive in their professional journeys.

Open LinkedIn

Recent Posts

  • Building a Delayed Message System with Redis and FastAPI
  • Go Concurrency, Practical Example
  • Using GORM – Part 3: Models and Idempotency
  • Using GORM – Part 2: Transactions and Save Points
  • Using GORM – Part 1: Introduction

Archives

  • January 2025
  • December 2024
  • March 2023
  • February 2023
  • September 2022
  • July 2022
  • July 2021
  • June 2021
  • February 2021
  • April 2018
  • March 2018
  • January 2018
  • July 2017
  • June 2017
  • May 2017

Categories

  • AWS
  • Career Growth
  • Cyber Security
  • Debugging
  • Development
  • Storage
  • Tips & Tricks

Tags

API AWS Azure Bash Brainfuck C++ Challenge Cloud Cloud Bursting Concurrency Database DevOps Disassembly DLL Documentation DynamoDB Go Golang Guice Java Jenkins Mossad NoSQL OOP Performance Programming Python Redis Security Serverless Singleton Streams Testing Unit Tests WebService

All Rights Reserved 2025 ยฉ Sirotin Enterprises Inc.
Proudly powered by WordPress | Theme: Doo by ThemeVS.