How We Transfer (Software) Risk Using Serverless
This post is adapted from a talk I gave at a 2020 CTO Summit event on emerging trends in technology.
8 min read
Leah Miller : Mar 8, 2021 7:14:42 PM
Perusing the #startuplife topic on social media, one is likely to find a variety of anecdotes for what makes this life so special, stressful, rewarding, annoying, anxiety-inducing, and magical. The opportunity to wear many hats and have a day-to-day that varies substantially can be appealing to engineers and product folks looking for a new or different pace. For those newly minted engineers coming from a bootcamp, however, startups may initially seem like the wrong choice. The potential lack of structure, high likelihood for change, and murkiness of problem space may seem like warning signs or entry barriers. While someone on the job hunt fresh from bootcamp should regard true red flags with care, some of these areas of concern can turn into areas of growth and foster long-term success for a software bootcamp grad.
The analogy of "drinking from the firehose" is common to both the startup and bootcamp worlds. When bringing on a recent bootcamp graduate, it's more accurate to think of supporting them as "watering the lawn with a firehose" (the environmental ethics/effectiveness of such practices will not be discussed in this article). The goal is growth, both of the individual and the business. The pressure and speed at which the business operates might be unlikely to change; however, there are actionable steps managers and grads can take to minimize shock and maximize absorption.
To limit stress, improve communication, and increase the likelihood of success for both the new grad and the new grad’s manager (or other senior-level engineers wanting to mentor or support), the following is a list of five strategies that each should consider for a happy #startuplife.
For the grad:
External: Your new company is attempting to fill an unmet need or solve a problem better than anyone else out there. In order to be an effective employee, you should understand what hole in the market your business is trying to fill. At a basic level, you should know how your organization makes money (even if your company is a nonprofit, funds to exist must come from somewhere). Do your best to understand how your organization helps or plans to help its clients, whether that’s monetarily or otherwise. The product will make more sense and you’ll stay more engaged when you have a sense of your company’s direction
Internal: Lean on your experience. Think about what you enjoyed from your prior career, education, or bootcamp itself. If there are ways to derive similar happiness or satisfaction in your new gig, do your best to implement those. Let your manager or your teammates know what brings you joy or brought you joy in the past. Even if there isn’t much they can do to implement what makes you happy, through the process of verbalizing, you may be able to figure out how to implement it for yourself.
For the manager:
External: Similar to the advice for the grad, you’ll be a more effective manager if you have a sense for the future of your startup and can discuss that vision with the person you’re managing. Combine this with your understanding of your grad’s level of expertise, and you’ll be on a clear path for success. Our brains retain more information when we can attach new concepts to something else we understand. You can accelerate the growth of individuals on your team if you understand their backgrounds and what they already know. This connection and context will make it easier to spot opportunities to present new concepts. You will have a big-picture context they might not be able to see yet.
Internal: Do a self-assessment to understand your preferred communication style and how you’d like for your meetings with your new grad to go. Reflect on what has worked well for you with past managers and what you wish would have gone differently. With this in mind, have a conversation with the new grad to understand their preferences and try to develop a meeting cadence and style that’s optimal for both of you.
One of the best ways to learn about your grad and create channels for good communication is regular one-on-ones (1:1s). In her book Radical Candor, Kim Scott encourages managers to "care personally." This is an essential first step. The sooner manager and grad establish a trusting relationship, the sooner you can remove some of the natural defenses that interfere with an honest communication flow. An open and candid relationship frequently leads to an intuition around what the other person needs and when they might need it. Consistent 1:1s keep pathways for communication open and help avoid infrequent sudden bursts of information. Make it a priority to schedule a 1:1 their first week and maintain a weekly cadence if at all possible. You'll be in a better position to connect your big-picture understanding to what they already know in a way that lands less harshly. Think of it like pointing the fire hose nozzle in the air instead of straight at the ground. The force from the hose is the same, but the reception will be very different.
For the grad:
Learning doesn’t stop after bootcamp. It is unlikely that your manager will expect you to know how every piece of your codebase works right away. Your team is probably using some technology or tool that you are seeing for the first time. There will be a learning curve and tutorials or practice exercises may be helpful. The tech stack at your startup may be different from what you learned in bootcamp, and it’s likely worth it to try to keep both sets of skills sharp. Work with your manager to figure out an amount of time each week that is reasonable for your own continuous education that’s separate from specific problem solving. The next step is to block out that time on your calendar and stick to it. (Please don’t actually elbow anyone.)
For the manager:
It will be easier for the person you manage to implement self-study or continuous education if they see you doing the same thing. If you want this to be a priority for the new grad, then make sure it’s a priority for you. Carve out time for a new tutorial or a side project to help you stay energized and focused each week, and do your best to guard that time. If self-improvement is a priority for your organization, make sure there are funds available to help offset the cost of continuing education for those courses that aren’t free.
For the grad:
Ask for help, space, or exposure when you believe you need it. There will be some challenges that leave you stumped or otherwise blocked. Get into the habit of at least attempting problems on your own first. Timebox your struggles (usually not more than an hour) and then ask for help if you haven’t made any progress in that time. No one will think you’re a fraud. If you wait too long to ask for help, you might catch some flack for wasting time struggling when reaching out could have solved the issue much more quickly. Once you gain more experience, striking the balance between struggling and requesting help will be clearer.
Asking for space and/or exposure is equally important. It will be difficult for you to improve as a developer unless you have real-world chances to solve problems. Speak with your manager about your desire to tackle complex problems as you grow in your skillset. Try your hand at a more challenging problem or do some research and try to offer a potential directional solution. Some high-level architectural or system decisions may be above your current level of understanding, but there can be a benefit to both you and your organization if you have exposure to these discussions. Over time, the discussion topics may make more sense and allow you to contribute in a more meaningful way and until then, you can make notes of the terms to look up in order to participate more fully next time.
For the manager:
Working to become a successful manager instead of an absentee manager or a micromanager can be tricky. Allow your new grad to struggle some, but let them know you are available to pair, rubber duck, or otherwise help if they need it. Your new grad may feel insecure given the freshness of their skillset or newness to the team, so you may find that some degree of probing at the start is necessary. If you believe there are articles or tutorials that might be useful to the grad, share them, but understand that your grad may need time to digest, especially if the vocabulary is new or the explanatory embedded links seem infinite. They likely do not need or want you to regurgitate the article verbatim. Again, communicate with your grad and try to understand where they are in their understanding of a particular topic. Do your best to avoid over-explaining if it’s unnecessary, as this can feel patronizing.
For the grad:
“We’ve always done it this way,” is unlikely to be the answer for any long-term decision at a startup. Trust that the leaders of your organization have done their homework and are making decisions that will benefit the company the most long term. Your CEO/CTO/C... want the company to succeed just as much, if not more, than you do. The senior leaders on your team are also growing in their understanding of the marketplace and how your startup can thrive there, and 100% of the product’s solutions may not be readily apparent at the outset.
It’s easy to feel some hesitance toward accepting certain changes to your codebase. Sometimes change directly affects or even negates something on which you toiled. Other times change can be confusing, require learning a new language or a new process, or seem scary simply because it’s hard. Embracing change and learning to ask appropriate questions can help you develop as an engineer and may even give you a better picture of your product as a whole. It’s okay to question decisions made by your leaders; their responses may help everyone make better decisions in the future.
For the manager:
Communicate early and often with the person (or people) you manage and do it honestly. You can express discomfort with a decision or process without sowing doubt about the organization. If something is new to you both, it can be a great opportunity to learn together. Don’t be afraid to ask open-ended questions about how your grad is feeling about the pace or process of learning, creating, or working at your startup, and don’t forget to ask yourself these questions as well. Both of your answers may lead to insights from which your entire team might benefit.
For the grad: Be excited about learning something new or implementing something challenging. You did it! That’s awesome! If your company’s culture isn’t one where successes are shared publicly, find a buddy, maybe someone from your bootcamp, or a family member who will cheer you on and be willing to listen or pat you on the back as you give yourself a shoutout. If all else fails, use the #startuplife hashtag to announce your victory, but try not to worry too much if the general population doesn’t smash that like button as often as your win deserves.
Bootcamp was hard. Navigating a new codebase is hard. Self-improvement is hard. Don’t forget to celebrate how far you’ve come and be excited about how much more there is out there for you to learn.
For the manager:
Help your grad understand their piece of the puzzle, and if there’s a team win to celebrate, include them. From the grad’s perspective, day-to-day work may often feel like a slog and it can become challenging to see their own progress. Try to help them take a step back and see just how far they’ve come. Don’t forget to recognize your own wins too. Helping someone else have an “ah-ha” moment is no small feat, and you never know how many doors you helped unlock with that one small win, so be sure to celebrate it.
Learning within a startup feels chaotic, but everyone is likely learning more than they realize. Both sides need to understand this. If you've previously worked for a startup, you're probably used to it, but this pace or type of learning could be a shock for a recent grad, and they might interpret the resultant feelings as failures. Be sure to celebrate wins and take the opportunity to look back at growth regularly. What feels like chaos might be the most accelerated part of their career. Help them to recognize this
Thanks for following along with us! If you have feedback or would like to share your own experiences, please do. We would love to celebrate wins with you at Highwing. Check out our careers page and let us know if you could see yourself here.
This article was written by Leah Miller and Josh Mejia with contributions from Jay Zeschin and Jed Schneider.
This post is adapted from a talk I gave at a 2020 CTO Summit event on emerging trends in technology.
At Highwing, we're building a data platform for the insurance industry using an entirely serverless architecture. We've learned many lessons from...