Finding Your First Programming Job
Transcript of Finding Your First Programming Job
Finding your first programming jobAn engineer’s guide to evaluating opportunities
Produced by: Sergei and Vadim RevzinFounders, Revz.in
• 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
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
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
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
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
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