I started working full-time at Yext about six months ago – right after I graduated from college. In 2014, I interned at Yext, and in the years before that, I interned at two other tech companies you may have heard of. I’ve had the chance to talk to many intern and full-time candidates since I started, and I’ve told them all the same thing – “you want to work at Yext.” Actually, you probably want to work at Yext, too; but rather than just shameless advertising, this article is mainly about my take on the important factors in making a company a place you’d want to work at, based on my experience at Yext and other types of tech companies.

Over my undergraduate career, I worked at two big-name tech giants, in addition to Yext, and attended interviews and sell days for numerous other companies ranging from a startup with twelve engineers to monoliths like Google and Microsoft. This experience has given me a clear idea of the things I look for in a company – in particular, the impact I can have in my position, and the culture and work environment. The following is my advice from my experience.

When it comes to the work experience at a company, size matters.

Well, size makes a difference at least, but specifically, I’ve found that good things come in smaller packages. My preference for smaller companies comes from the role it plays in positively affecting both culture and impact.

Admittedly, what makes a good culture is a bit more subjective, but there’s something to be said for the exciting start-up life, and for a company small enough to know essentially all your engineering coworkers. A company the right size can maintain this feel, but still have enough stability that you won’t worry about still having a job in a year.

On the other hand, the effect of size on impact is a bit more clear-cut. First, at a small company, everyone matters. You’re literally a larger percentage of the company. Engineers are not a limitless resource, and when a team of six or so engineers is in charge of an entire product area, even one person makes a difference. Even as an intern, this was especially clear to me at Yext. At many companies, especially larger ones, interns get an “intern project” to work on over the summer. This is typically some internal tool for your team, which may be useful, but isn’t really crucial to the team’s success. This can be a good learning experience for a young intern as it gives a chance to do something front-to-back; but it doesn’t give a great sense of what working at the company is like, and it certainly doesn’t feel that impactful. On the other hand, interns at Yext are essentially just full-time engineers that are only there for three months. As an intern I worked on the same projects as my teammates, and helped launch a new feature for Yext’s digital asset management system.

At a small company, learning is faster. A smaller company means a smaller codebase, making it more manageable for a new hire to quickly become familiar with the systems at a company. Furthermore, there’s a decent chance you’re sitting near someone who wrote the code you’re working on. When I was at larger companies, my first week or so was essentially all onboarding ramp-up to learn the various technologies and systems of my team. At Yext, however, I pushed code on my first day of work – even as an intern.

Size is a sizeable factor, but what else impacts your impact?

I think to most engineers, one key thing in job satisfaction is solving interesting problems. I also imagine that most companies have at least some interesting problems to solve; otherwise someone else would’ve already done what they do. The question is, who gets to solve the interesting problems? At Yext, I’ve found that there are many opportunities for new employees to work on tasks they find interesting. For example, for me, software design is one of the most interesting aspects of software engineering. In my first six months at Yext, I’ve already designed and built from the ground up a replacement for our old system for hosting tasks that require human processing.

Another thing that can make a difference is a company’s deployment and development cycle. A continuous deployment cycle, like at Yext, allows for more frequent incremental changes and worker independence. A faster workflow also means engineers get the opportunity to work on more things. Rather than working on a drawn-out project for six months to a year, engineers in a more fast-paced environment can impact several things in the same amount of time.

Culture is what will really make you feel like you love your job.

Are you just going to your job, or are you going to code up some neat products with your buddies? Sometimes it’s the little things that make you feel like you’re working at the right place, and make work feel less like, well, work. One of the things I’ve really liked about working at Yext is that I’m friends with many of my coworkers outside of work - for example we frequently hang out after work on Fridays or on weekends. This has been particularly great for me as a young college grad starting work in a new city.

Fortunately for software engineers, the industry is at a point where the demand is high for quality engineers, giving us more freedom to find a place with an environment we like. So if it suits your fancy, find a place with free food, plenty of nerf guns, team liquor stashes, crazy engineering off-sites, company happy hours, coworkers that go out together on Friday nights, etc. Find a place you love where you can make a difference.