Transcript

Finding your first programming jobAn engineer’s guide to evaluating opportunities

Produced by: Sergei and Vadim RevzinFounders, Revz.in

You’re finally ready to start your search for the perfect programming job

You know you want to work on exciting and challenging problems

…what else?

Your day to day job will depend on a lot of factors

This guide will help you understand your options

And, what works for you

What should you ask yourself when looking at opportunities?

• Is there a specific industry I’d like more experience in?

• Do I want more exposure with a certain framework/language?

• Do I wish to be a stronger back end architect?

• Do I want to be an expert at scaling systems?

Learning

• Do I prefer a lot of structure or autonomy?

• Will I work better with a rigid or flexible schedule?

• Would I rather work independently or collaborate with others?

Environment

• Am I mainly motivated by the size of my paycheck?

• Do I need company ownership to do my best work?

• Am I more excited when I’m constantly working on new types of projects ?

Incentive

How do you know where you’ll fit in?

The Anatomy of a Company

…is defined by its…

Size/Stage Business Model

Company Stage*

How the size and stage will affect your job

*To make it easier to analyze, we will assume that company size will grow as it matures in stage

Early Stage:

A company that is less than 5 years old and less than 50 employees

Early Stage Environment:

1. Fast Moving

2. Few Rules

3. Little Structure

4. High Growth Potential

Fast Moving

1. New features weekly or daily

2. Do first ask questions later mentality

3. Business needs change abruptly

4. Nature of your work changes every 6 months*

*This could mean you get more responsibility, or on the flip side that your duties will become more narrow. Small companies must constantly reallocate resources depending on their most immediate goals.

Few Rules

1. Flexible hours (just get the work done mentality)

2. Loosely defined job responsibilities

3. Easy access to executive team

4. More transparency and access to company information

Little Structure*

1. Little to no HR processes and personnel

2. Loose management structure

3. Unscripted day to day

*On the plus side, this means that you get to contribute to creating new processes completely from scratch.

High Growth Potential

1. Junior talent has a lot of responsibility (wear PM hats)

2. Merit based vs. seniority alone

3. You grow with the company (often promoted in <1 year)*

*On the flip side, if the company stagnates your growth opportunities can significantly diminish within the firm

Growth Stage:

A company with 50-500 employees that is either well capitalized or reaching profitability

Growth Stage Environment:

1. Increased competition

2. More Structure

3. Less financial risk

Increased Competition

1. Greater hiring demands lead to internal competition

2. Experienced outside hires may trump loyal insiders

3. Competition results in more politics

4. Only the best talent is kept around*

*This can be a great opportunity to learn from incredibly smart people who know how to scale systems and teams

More Structure

1. More people to report to

2. Engineering decisions depend on more people/teams

3. HR protections in place

4. Solution blueprints exist for common problems

Less Financial Risk

1. Salary on par with market rates

2. Stock options may be worth something

3. Lower risk of layoffs

Late Stage:

A company with over 500 employees that is often either publicly traded or operates internationally

Late Stage Environment:

1. Slow moving

2. Well defined roles

3. High Brand Recognition

Slow Moving

1. Product decisions made by committee

2. Less room for experimentation*

3. Outdated technology stacks/systems are hard to replace

*Some late stage companies are notoriously better at embracing testing/experimentation than others.

Well Defined Roles

1. More specialization required*

2. Fewer changes in direction

3. Less ambiguity in your day to day responsibilities

*You may be required to work only on specific pieces of a product at any given time

High Brand Recognition

1. More brand value for your resume

2. Larger support network for future opportunities

How will your job be different with each business model?

Businesses typically fall into 3 categories

*Businesses that sell to other businesses, and businesses that sell directly to consumers (you and I)

B2B* B2C*Professional

Services

Business to Business (B2B)

• Working with a smaller set of large customers and fewer user numbers

• Exposure to clients and the technical counterparts

• Collaboration with the sales team

• Performance and security are often prioritized over design

Business to Consumer (B2C)

• Products must scale with a large volume of users

• Product decisions are driven by design and data

• Your work has more public visibility

Professional Services

• Project based development environment

• May participate in the sales process as the tech expert

• Must deliver accurate estimates

• Must be comfortable learning new systems and frameworks

Finding the right first job is just one step towards a successful career as a future

engineering leader or entrepreneur

Check out Revz.in for more career advice

OR you can always email us at

[email protected]

and

[email protected]