a Junior Software Engineer’s note to self after 3 months in the industry

2 Spidermans pointing at each other
2 Spidermans pointing at each other

I graduated from Flatiron’s immersive software development program at the end of January 2021 and started at an incredible company in the middle of April. As I’ve wrapped up the first 3 months of my first software engineering role (how has a quarter of a year gone by already??), I’ve been thinking a lot about some of the non-technical things I’ve learned and somehow still need constant reminders of. If you’re entering the industry, maybe this will be helpful to you too!

  1. Don’t be afraid to make mistakes. I’m certainly not implying that you should go out looking for them…

“You don’t know what you don’t know”

I found out about some stuff I did not know I didn’t know this week, and was pretty appalled at this gap in my basic knowledge. I started researching furiously and will share my key takeaways. (I’ll assume you have a basic understanding of HTML in general.)

What is Semantic HTML?

The word “semantic” means:

relating to meaning in language or logic

So Semantic HTML is the concept of writing markup that actually has meaning, as opposed to being used solely for creating a specific look or design. Here’s an example to demonstrate what I mean:



A quick how-to!

You want to use TypeScript in React but you’re not sure how to start. You’ve come to the right place! (We won’t be talking about TS syntax this time around — just getting up and running.)

react logo next to typescript logo
react logo next to typescript logo
Like peanut butter and jelly

New App from Scratch

If you’re building a new app and using create-react-app, the Create React App docs are great:

You can start a new TypeScript app using templates. To use our provided TypeScript template, append --template typescript to the creation command.

npx create-react-app my-app --template typescript

It compiles beautifully with no special settings to enable or packages to download. All the files that would have been .js

…and how to solve “Calculating With Functions” on Codewars

Ahhh, scope and closures: 2 favorite tech interview questions that trip up devs of all ages!

Let’s talk scope. What is it?

Scope is access. That’s the easiest way to think about it. It allows you, as a developer, to limit access to certain variables to specific contexts. It has two benefits:

  • security — variables that are not accessible from outside the specified scope won’t accidentally get changed later on
  • naming — allows you to use the same variable name in different scopes (you know this is helpful if you’ve used let i = 0 in separate for loops in the same function 🙋‍♀️)

Scope is…

an image of Russian nesting dolls
an image of Russian nesting dolls

I’d encountered recursion in passing through casual discussions, mentioned in articles, etc. It seemed like the big bad wolf of programming. A function that calls itself? Confusing! I knew I’d tackle understanding it eventually, and that fine day finally arrived this week.

I’m currently working through Colt Steele’s Udemy course on Data Structures and Algorithms (couldn’t recommend it more highly) and Recursion is one of the first topics. He broke it down in a way that cleared away the cobwebs of confusion and made it extremely manageable to understand.

There are a few key pieces to recursion that you need…

If you’re in the software world, you’ve heard of stacks. Stackoverflow, anyone? If you’ve always wondered what that actually means, you’re in the right place.

In broad terms: what is a stack?

I happen to be intimately familiar with pancake stacks, which is the first thing that comes to mind when I hear the word “stack.” Luckily, it is a fitting visual description for a software stack.

A stack of pancakes meant to represent a call stack
A stack of pancakes meant to represent a call stack
~ this looks like a sticky situation ~

It is a data type similar to an array that behaves as a collection of elements. In this visual example, each pancake represents some element, which has been added to the top of the stack, and can also only be…

Plunging into Javascript after spending time with Ruby feels like diving into the deep end of a pool after splashing around the kiddie section with floaties on. Gone are the expressive errors I’ve come to love and the minimalistic curly-less method definitions.

With Javascript came a handful of concepts that either didn’t exist in Ruby, or I somehow had not previously found confusing. One such concept is that of callback functions.

In theory, callback functions are very straightforward if you have some basic knowledge of writing code. …

You’re new to web development, and you want to build a web app. You might start with Ruby on Rails, which is an established framework for building websites. Technically, it’s a software library of a LOT of Ruby code that others have written — making it a gem! See my post on gems to learn more about neatly packaged Ruby code.

When getting a good sense of how Rails works, I think it helps to understand the basics of the big picture, so let’s back up a level and talk about how the web works. And I do mean web…

If you’re learning Ruby, you have definitely heard of (and have probably unknowingly used) Ruby gems. If they are as much a mystery to you as they were to me about a week ago (which is to say, the word “gem” only conjures up the image of a glimmering stone and has nothing to do with coding), come along for the ride as we explore them together.

For starters, open your terminal and type:

gem list
How they sparkle!

Can it be?? That is a very long list of gems that (if you’re anything like me) you didn’t even know…

Julia Zolotarev

Software Engineer; hospitality enthusiast; lover of ice cream.

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