You might be graduating soon in Computer Science Fri May 16 2025 As a new graduate there are still opportunities to start a STEM career. You ought to know what hiring managers look for and how to stand out among your peers. -------------------------------------------------------------------------------- You might be graduating soon in Computer Science ================================================ Published May 16, 2025 - 47 min read /------------------ Table of contents -----------------\ | Table of contents | | * As a graduate with a bachelor's… | | * About that Grade Point Average of yours | | * As a boot camp graduate… | | * As a self-taught individual… | | * As a vibe coder… | | * Certifications | | * Applying for a job | | * The interview | | * The next interview… | | * Reference checks | | * When to get a job | | * What kind of job should you get? | | * Case Study: Amazon / Amazon Web Services | | * Case Study: Medical technology | | * Case Study: Military technology | | * Case Study: State government technology | | * Case Study: University technology | | * Case Study: Business-to-Customer startups | | * Case Study: Business-to-Business startups | | * Case Study: Embedded software development | | * Case Study: Technology consultancy firm | | * Master's degree and Ph.D. | | * Salary ranges | | * What is HR thinking? | | * Tuning your resume | | * About those cover letters | | * The questions you should ask during the interviews | | * On using AI tools | | * Final words | \------------------------------------------------------/ You may be feeling fear, uncertainty, and doubt in your future career. With everyone pushing the hype that "AI" is going to replace jobs and displace developers, how are you going to get your first job to get that critical experience to stay in the field? /[cendyne: yay-murica]---------------------------------------------------------\ | This article is tailored towards a United States audience given the | | education system here and the perspective many employers have across this | | nation. You may disagree with these points. You may have different | | priorities and perspectives. | \------------------------------------------------------------------------------/ Employers have a bias against hiring Gen Z candidates [L1] (archived [L2]) where hiring managers cite concern for work ethic and dedication towards jobs that do not reciprocate loyalty or care in this age of constant layoffs and restructuring. During the pandemic, the job market got so hot that software developers' and engineers' pay rose dramatically, candidates could choose from multiple job offers, and the perceived shortage led to many "boot camp" programs to instill the essential technical skills to get hired. Yet now, some internal hiring requirements now exclude anyone from boot camps [L3]. We're back to filtering candidates by requiring a bachelor's degree even if the candidate has fifteen to twenty years of experience in the software field. Why should you listen to me on this topic? I am a hiring manager. I have hired individuals with an associates in computer science, bachelor's in computer science, a boot camp graduate, and have mentored multiple interns who completed their bachelor's degree. I myself am self-taught with a bachelor's of computer science, have worked contract, part-time, interned, and have had several full- time software development jobs. /------------------------------------------------------------------------------\ | Disclosure | |------------------------------------------------------------------------------| | I am not your financial advisor, nor am I your career advisor. I do not know | | you, your circumstances, your work history, nor your education. I am not | | here to consult your life decisions. This document is a perspective that may | | help you make your own decisions. You are responsible for what happens in | | your life. | | | | Please do not contact me for career or financial advice. I am unlikely to | | reply to direct solicitations for career or financial advice; your existing | | contacts — teachers, friends, and family — will have a far better | | understanding of the specific context that is relevant to you. | \------------------------------------------------------------------------------/ As a graduate with a bachelor's… -------------------------------- If you have a bachelor's in computer science, here's what you're bringing: * You have skill in producing code. * You should have knowledge of concepts that were once historically relevant. * You've demonstrated that you can consistently grind away at problems. * You check a box that someone can filter out candidates by. * You're interested in continued employment now that you have accrued student debt. If you've graduated without doing any personal projects, you likely have little skill in these areas: * Gathering product requirements * Designing solutions * Planning your own workload * A deeper understanding of the technologies you've used in your projects These skills are essential to demonstrate ownership and operate in an environment where some self-sufficiency is required. I would argue that any "Senior" software developer or engineer should have these softer skills. The self-taught also have these skills, in addition to the capability to grind and teach themselves new things. As a hiring manager, I would first look for any personal projects to assess what passion you have in this field and whether these projects hint that you are a curious and inventive person. Candidates that I have hired without any personal projects have not demonstrated that they can learn and perform to meet the job requirements after their initial ramp-up time. I suspect they received "help" and never learned what they were doing in school. I regret hiring those candidates. What's ramp-up time? It takes time for you to learn what tools we have, what our processes are, and who you can reach out to in our team for help. You aren't expected to save the world by the first Friday on the job. Ideally, you have at least one commit in the codebase fixing something low hanging like updating the language in a marketing page within a week or two. About that Grade Point Average of yours ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Like a degree, it is a checkbox to be filtered by. I did not have a 4.0 GPA. I worked as an intern for three years, had many side projects that I used to challenge and build myself, and struggled greatly in calculus. I was filtered by GPA and recall how staff treated me once they learned I did not have a perfect score. They became disinterested and tried to shift their focus to other possible candidates, despite the rest of my history: existing work experience and impact. There's nothing you can do if that is their hiring policy. It may be an internal requirement not listed on the job description. If you have several years of post -graduate work experience, then your GPA should become irrelevant to any HR person worth their weight in salt. [I1: A search result showing that 180 pounds of salt can be purchased for about 15 US Dollars] As a boot camp graduate… ------------------------ If you come from a boot camp background, this really varies by the program and how involved you were in the process. There's no standard of what a boot camp means or brings to a hiring manager unless they have experience with someone from the same boot camp. Some boot camps are programs that folks pay for to go through the motions of a course that ideally introduces the concepts and technical tools needed to signal usefulness in the first few weeks of employment. Other boot camps are self-driven and are otherwise like MIT OpenCourseWare [L4], where anyone can review lessons for free or for a fee on their own time. And then, through an automated or self-evaluated means, complete projects that demonstrate an understanding of the skills the program teaches. Personally, I favor the second and have hired the second. If someone can teach themselves a skill and successfully practice it, I find that a better fit in today's constantly shifting world of technologies and changing business requirements. /[cendyne: the-naga-book]------------------------------------------------------\ | Within a year, the project this individual was hired for lost priority, and | | they had to re-skill to continue working with me. This is normal in a | | startup environment. Business needs change and we must pivot to the new | | reality rapidly. Thankfully, the skill to teach yourself a new skill will | | always be in demand. | \------------------------------------------------------------------------------/ As a self-taught individual… ---------------------------- Your portfolio has to convince someone you have skills and passion to offer, that you are independently capable and resourceful, and that the risk of hiring you is minimal. Without any relevant job experience, you will have to create your own portfolio. Solve interesting, nuanced problems that show you can produce a product and share it with the world. Here's an example from my own history: I developed a service that recorded watering times for a botanist so they could manage the schedule of routinely caring for their plants on a cadence specific to each plant's species. This solved a monotonous problem for someone and saved them thirty minutes every day for paperwork that kept their three-hundred plants alive, healthy, and without mold or wilting. /[cendyne: pokeballs-send-help]------------------------------------------------\ | What could require so much meticulous watering? | | | | Cacti. Hundreds of distinct cacti. | \------------------------------------------------------------------------------/ Your portfolio should convince someone that you can examine other domains and solve problems that aren't specific to you. If any examples in the portfolio are publicly accessible, make sure to share that too. Focus on the specific situation, the task at hand, the actions you took, and the result of your actions. See also the STAR method [L5]. Every item in the portfolio needs to be something you can confidently talk about as if it were yesterday during an interview. This advice also applies to any university or boot camp graduates who have less than four years of consistent work experience. As a vibe coder… ---------------- I would not hire you. The systems we develop and maintain need you to remember what you did last week and maybe what you did a month ago. You should know where things are and where things should be. If you're delegating all this to an LLM agent, then you aren't making these decisions, or learning these attributes of an existing product. We need people that understand what they're producing. The same issue applies to university graduates without personal projects and to boot camp grads that only took a course and went through the motions. Unlike decades ago where folks could go through on-the-job training courses, I as a hiring manager do not have the resources to develop and execute my own course to train you while also delivering products to the organization. I will provide resources that I trust to reference. I will give some time to run through self-directed courses and resources. I will give feedback and mentor with several thirty-to-ninety minute sessions. I do not have the resources to go beyond that. We need people that can help themselves understand what they're supposed to produce. This isn't a factory — it is a creative process with computers. You will not bring that if all you can do is prompt or borrow solutions from a classmate. Certifications -------------- Like bootcamps, certifications might not mean anything to a hiring manager – unless the certification is listed on the job description. Cybersecurity and IT certifications [L6] that the government cares about are a strong signal that you are interested in the field if you lack relevant job experience, though they may signal that you as the candidate are flailing for opportunities when the certificate is not relevant. Alternatively, cloud certifications like AWS Certified Developer and others [L7] could be a positive signal if the role lists AWS in their recommended experience list. Applying for a job ------------------ Cold applications through aggregators like Indeed, LinkedIn, or Glassdoor still get people jobs, but what really gets people through the first filter are referrals. Whether you are in university or elsewhere in life, you need to network with people that have the skills you also want to exercise in your preferred position. I highly recommend going to local meetups. Whether Clojure, Haskell, Ruby on Rails, or some other kind of monthly or bi-monthly meetup, these events give you a chance to meet people that can refer you to a hiring manager. Your peers in university can't refer you to anything for several years, unless they have work concurrent to their education. Stay in touch, but network with people that already have a position. /[cendyne: youtube]------------------------------------------------------------\ | You may have heard the relentless advice to "network, network, network" | | (like Steve Balmer's "Developers Developers Developers" [L8]) without any | | accompanying advice on how to network. Talk to people! Get involved in | | things that support your future goals. Consider starting with open-source | | contributions and internships. | \------------------------------------------------------------------------------/ /[cendyne: holding-photo-of-self]----------------------------------------------\ | If you can whip out your phone and demo something you made to someone and | | look proud and passionate while doing so, you'll be more memorable in their | | minds and come across as someone they'd like to work with. | \------------------------------------------------------------------------------/ The interview ------------- There's almost always an interview from an HR or internal recruiter that seeks to check off some boxes and to lightly assess cultural fit. There are technical interviews which vary incredibly by employer. Some interviews will pose questions specific to their domain, they may even ask hypothetically how you'd solve something they already have solved. For example, how would you solve the plant watering problem? You should ask lots of clarifying questions. Communicate the assumptions you're making so the interviewer can follow along with your thought process. That's the vital ingredient to these technical interviews. Can you go through a problem and solve it mostly the right way at every step and come to an adequate answer at the end? Design and code reviews exist for a reason: you're not expected to always have perfect code every time you enhance or fix a product. A favorite interview question I have is about identifying and resolving bottlenecks in a parking lot reserved for a sports event. If we have a Ruby on Rails server that takes 20 seconds to process every payment transaction on someone's mobile terminal at the entrance, how many cars can we enter into the Parking lot per minute? We need to get 8000 cars in within 60 minutes, what's the rate we need to receive cars? Okay, but now that rate isn't enough, traffic is backing up around the corner, what can we do? We only have 20 minutes to solve this problem, what can we do? No, we can't hire ten more people and put them on payroll in 20 minutes, and even if we did, their mobile terminals would be locked up while others are processing transactions. It takes 10 minutes to build the application and deploy it, are you confident you can speed up this server in less than 10 minutes and not break anything? The pressure can ramp up in these questions as the situation evolves. No university interns have independently communicated "What if I add more servers?", while those experienced in cloud services immediately consider horizontal scaling. Although I am fishing for the correct answer, I do try to hint towards what the underlying issue is and to see how the candidate responds in the moment to new or clarifying information. Given the amount of cheating going on by relying on LLMs instead of exercising one's own mind and skill, remote take-home-exercises are less trustworthy in assessing whether someone has the skill to independently function in the organization. Even so, I don't expect remote-only roles to forego this evaluation. The next interview… ------------------- After the initial HR interview, most employers will have at least two technical interviews. In my case, the first interview is to assess whether a candidate can think and communicate about the problems I present to them. If I want to continue, I may then share a take-home assignment. Contrary to what commenters on reddit suppose in general, any work done on my take-home assessment is disposable and will not contribute to the workings of my team. I carefully distill issues that other engineers in my organization struggled to solve into a simulation that can be launched with docker compose and a dev container. As a hiring manager, I'm not looking for a superhero. I'm looking for someone who can cover the gaps the rest of my team has so that I can focus on my role. /[cendyne: i-request-your-assistance]------------------------------------------\ | One of my best hires had difficulty with the simulation because he used VS | | Codium [L9] instead of VS Code. As you might have heard with the debacle | | around Cursor [L10], forks of VS Code do not have access to Microsoft's | | extension platform. Thankfully, Microsoft now has an independent dev | | container CLI [L11], which should make it easier for anyone using other | | editors and environments. | \------------------------------------------------------------------------------/ The second interview is my chance to ask: "Why did you do (this)?" and, "Have you considered (something else)?" or "What if (this happened)?". It is my chance to assess whether the candidate flailed around and somehow got a working solution at the end, or if they demonstrated true knowledge and understanding. Clearly, I'm looking for the latter, while the former is indicative of anyone that scrapes by with Stack Overflow, Google, vibe coding, frequently asking an LLM, or are otherwise not fit for this creative field. Finally, there's the third "technical interview". In truth, the goal of that interview is to determine if the candidate is a match for the team. While technical questions are asked, we're actually assessing how well they will operate in our specific team environment. In other words, are they culturally aligned? Do I and my reports also want to work with them? Once more, my experiences are specific to my employers and will not reflect the processes and styles of other employers. Though, I think the patterns described have similarities in how others hire and assess candidates. Reference checks ---------------- I hope you have someone that will constructively support you if asked over the phone. Should you not have relevant references through work history, lean on those you've impacted through your personal projects. The caller may ask things where I would honestly have to say "(Candidate) is able to perform well if I keep the concurrent task load to at most two tasks. I found that they had trouble if we ever had to juggle four or more things at once." They may inquire about what was going on. The answer would be something like "(Candidate) was responsible for an integration with another vendor and that vendor was unresponsive. They were instructed to continue with another integration until it was unblocked. Once this compounded a few times, it became clear that they worked best with at most one externally blocking activity while otherwise directed to work that is unlikely to get blocked." Your reference should be prepared to answer deeper questions that involve stories that you can corroborate and reveal both your strengths and weaknesses that you have. Most reference checks end with a common question: "Would you hire this person?" Hopefully, your reference's answer is: "Yes." When to get a job ----------------- Get a relevant job to your intended field as soon as possible. Time spent doing irrelevant work after graduation or some boot camp is a signal to me, whether based in truth or not, that you were not qualified to have a job like the one I have to fill, so why are you qualified now to get one with me? What kind of job should you get? -------------------------------- I hope you get a job that is stimulating, affords you some pleasures in life, and challenges you enough to help you grow in skill and depth. Not every role out there offers this. I'll share a mix of personal and secondhand experiences in the form of war stories comparisons. Without identifying any of the individuals, or how many individuals (including or not including myself) are synthesized into each example, consider the following more like profiles in what you'll experience should you be hired in that environment. Case Study: Amazon / Amazon Web Services ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ As one of the biggest employers in the United States with an emphasis on technology, Amazon and its functionally separate arm Amazon Web Services constantly has job openings, even during their 10,000+ layoffs [L12] (archived [L13]). Given their return to office mandate, you should expect to relocate to have a job with Amazon. The Seattle area is where most positions are available and given the housing costs of the area, most of your paycheck will go to rent. Buying a home is not feasible, even with a top tech salary in that area. Should you stay for four years, you'll get enough spending money to make the time there feel worth it. Amazon's stock has been consistently reliable, making it quite the cash advance in your career. As an Amazon or AWS tech employee, your first job will be on a team of five to eight people [L14] (archived [L15]) and your scope will be small. You will go through orientation and training for the first few weeks and begin with a few small tasks on the product you work on. You'll be trained to bend over backwards to satisfy and support your customers, which for many teams will be other internal teams. One such example: Amazon Ion [L16] is their own flavor of serialization. A team manages the implementation of Ion, while other teams use Ion in their products to log information. There will even be a team dedicated to aggregating Ion logs for analysis and billing. While working at Amazon, the knowledge and technical skills you develop will be so pigeon-holed that they may not be directly applicable in any other job. Sure, you may get experience with Java, Python, or Go, but the way these languages are used and what packages are available to use will not be the same as what people outside have access to. If you work on a product that involves AWS Lambda, you might never have the opportunity to set up an API Gateway to expose the Lambda for others to use. Despite years of working at Amazon or AWS, you may never learn know-how to use the publicly available products on your own for a personal project. A job at Amazon says to another hiring manager, "This person knows how to work in a tough and grueling environment." Your technical skillset will be tied too closely to Amazon's bespoke internal tooling to raise the bar at my organization. If you last two years at Amazon, I can believe you have a decent work ethic and can re-skill on my team. Case Study: Medical technology ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unlike most technical jobs, the big Health Information System providers know you 're coming in with only brains and no transferable skills. You'll get trained in their technologies, you'll be made aware of the regulations involved, and your ramp up time will be 2–4 months long before you even contribute to the product. They will have few third-party dependencies. For compliance and control over their team's ability to iterate on their products, just about everything except printer drivers will be developed in-house on an old technology like MUMPS or Perl and MySQL 5.0. If you work at a big healthcare tech vendor, you'll work on a small feature of a greater application. For example, you might be responsible for the functionality and customization of assigning inpatients to rooms. Unlike Amazon, the teams will not be cleanly centered around areas of responsibility and functionality. To survive you need to get good at interpreting the comments written over the last forty years in the code base or across the many acquired products that were never meant to be glued together by freshly graduated new hires. Any assistance from your peers sabotages their performance metrics and your team lead has no margin of time to mentor you as the team size is too large to adequately support. If you work at a small healthcare tech vendor, it'll be crunch mode all the time. In order to make sales, your employer will make promises that exceed the team's capabilities, and that pressure will fall down onto you. While you're new, your opinion will not matter. You will be terminated for trying to convince the team to move towards TypeScript when all their existing code is in JavaScript. They do not have time for frivolous suggestions when they cannot predict what the sales team or new regulations will throw at them in the next two months. In both cases, there will be high pressure and high turnover. You are dealing with human lives, after all. Also, you're expected to fit yourself into a cog that fits into their machine. At least your pay will be competitive for the area. Layoffs are rare and they'd rather put you on a performance improvement plan to pressure a resignation than deal with severance. Afterwards, you'll never forget your favorite ICD-10 code, like V97.33: sucked into a jet engine [L17]. Similar to Amazon, your technical skills are tied to bespoke technologies and cannot be used in your next role. As a hiring manager, I'd think you worked harder than the candidate at Amazon and have greater capacity to learn and re- skill as needed when you start on my team. Should the role I'm looking to fill involve integrating distributed systems, this kind of experience improves my confidence that you can work on my products. Case Study: Military technology ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can't talk about the specifics of what projects you go into. You'll likely go through a government clearance check to even participate in anything that touches real world objectives and information. However, government clearance can take months to complete, so if there's no unclassified work to work on, you'll be in limbo. Because of the inherent insulation this kind of job requires, you may find it difficult to network within the job. You'll make it difficult for hardware vendors to help you because you can't share things like stack traces or memory dumps when hardware acts contrary to its documentation. External problems will take months to navigate because of this restriction. Your job may sponsor your certifications and renewals, so those costs should be less of an issue once you're employed. If you're looking to install a third-party dependency or tool, there may be a weeks-long process to get this approved. And once approved, you'll have to burn a write-once DVD with all the assets you want to bring into a secure area. There is no public internet in the secure area. You cannot extract information outside the secure area except through paper, which is reviewed on exit. Once you finish using that DVD, it is shredded. It isn't useful anymore and you cannot take any data out of the secure area. Your customer is the military. When your employer commits to a timeline, you better deliver it then. Some implementation tweaking is acceptable, but not a "We need two more weeks" response. Worst case, your timeline is set by a competitor who lost the bid for this project. You need to deliver something in a time you don't believe is possible. If your product manager is experienced and effective, it should be a comfortably paced job. Otherwise, expect projects to have focused periods of crunching to meet deadlines. Your pay will not be as competitive as a startup provides. But you won't have to worry about layoffs when the military budget goes up every year. Your benefits should be decent. It would be improper of the government to indirectly stiff you on healthcare for contributing to any military efforts. Do not expect to work from home at this category of employer. As a hiring manager, I would have difficulty hiring you for the things you did on the job, since you're not allowed to share any details. Interviewing you would be a pain and take a lot of my time, as I would have to ask many small questions to get an abstract sense of your experience. A reference would go a long way for you in this situation. Case Study: State government technology ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To get into an experienced role you'll need multiple references to vouch for your qualifications and work history. Already hired and trying to get a promotion? They'll need to call references again, even if you've been there for over five years. Merely getting hired will be your introduction to their inane processes. Get to love the Java language. Java 8 from 2014 will be your only language of choice. You'll be deploying software with a vulnerable version of Apache Struts that has since been deprecated in 2008. As you try to improve things, you run into bureaucracy and red tape. It may even be a union environment with the American Federation of State, County and Municipal Employees. You won't be allowed to unblock yourself, because that's someone else's job. You'll have to wait weeks to get a dependency approved, and once it is, they'll forget to download and cache it on the internal Maven repository. Once you finally get that in, it won't be on the other repository that CI builds use. Or, the CI build process has been broken for weeks already. The environment will be so frustrating that your drive to be productive dwindles, until like your peers, you are nearly dead weight. If you stay around long enough, you'll hear about contracting teams being brought in to do what you suggested years ago, except at the time your ideas were denied. At least you'll be paid enough for food and rent. Layoffs don't happen unless the state congress does something drastic. Some states offer student loan forgiveness if you work for them for 10 years. /[cendyne: well-yes-but-actually-no]-------------------------------------------\ | Though, I think a job that lets you pay off such loans and develop useful | | skills is better. | \------------------------------------------------------------------------------/ You will not develop strong transferable skills here. It is a job. It pays you and pensions still exist in this sector to take care of you when you're retired. As a hiring manager I would be dissuaded from entertaining your application without any external projects. If you made something to automate Eve Online events with a clan, I could talk to you about that. Unfortunately, your experience is with dated technologies and cannot be directly applied in my role. I need something that tells me you can skill-up and make something interesting on your own. Like military technology, a reference would go a long way in bringing you to the interview table. Case Study: University technology ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ It varies by university. Like government, you will not get a competitive salary. What you work on might be replaced by a product that SAP, Oracle, or Microsoft bundled into a contract renewal. Even so, your skills will develop at a university job, as they dream larger than their budget can support. Unlike government, there's less tolerance for those who sit in a room to get a paycheck. The people you work with will be more effective and timelier with unblocking you. The velocity of your work is high enough to remain motivated and effective despite the red tape and union-like separation of duties. Product and project managers will be less in touch with reality as they approve and plan for things beyond the team's means. They have not done this role outside the university setting with the pressures of a real business that has to deliver. Consequently, they underestimate the difficulty and depth that some projects entail. This reckless product management has a benefit for you: it will challenge you and allow you to develop your skillset with a fair amount of design autonomy. If there's a reorganization, it is likely that you'll find another team to work with, rather than risk being laid off every two years like in other tech jobs. While interviewing you, I should be able to hear about the projects you've done and the impact they've had on either faculty or the student population. While your impact might at most touch 50,000 people's lives, the challenges you solved are no less important to your personal skillset. You'll come off much like a start-up employee but with extra guard rails. Case Study: Business-to-Customer startups ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Startups are rife with risk. An honest recruiter will say to anyone who asks "Is there any job security" with "No." Given that Google, Meta, Microsoft, Amazon, Intel, and plenty of other big-stock brands have done layoff after layoff, even they have mediocre job security these days. Any business targeting end consumers wins when the economy is good and loses when the economy is bad. During recessions and fears of recessions (like now), small businesses may not have enough capital to weather the storm and have to reduce their workforce (layoffs) or close or be acquired and consolidated. If the startup is still early in its life, a job offer may come with "stock options" tied to it. These only have value if the company sells within a few years. Should the company lose its appraised value over time, these stock options may become worthless. Should you resign and switch jobs, you forfeit these stock options. In most cases, very few receive the benefits of stock options from a startup. I do not recommend including options in your long-term calculations for compensation. Unlike big tech companies, startup environments offer a lot more autonomy. Like university jobs, leadership will dream big while being more realistic and focused on what you can work on and deliver. They don't have time to spend on wasteful projects; everything needs to matter to the bottom line in succeeding or being sold. Some startups involve a lot of grinding. Fifty-to-sixty hour work weeks might be the norm. You'll have to fish this information out during the interviews. If you had little motivation to do projects outside of required coursework, you will struggle in a startup environment. There are few to no safety rails to return you to a productive path. You are responsible for your success! You may have a good manager that can guide you, but they're being asked to contribute too. The longer you stay at a startup, the more hats you'll wear. Your responsibilities will grow and it will be up to you to learn how to grow into those responsibilities. You might fail at a certain point. Those above and around you will be more understanding if you have a track record of being successful, and in these cases, a new position might be created where you can hand off the less impactful responsibilities to a newcomer. As a business targeting end customers, you will never know peace and relaxation. You will have competitors and as the market changes, leadership may suddenly redirect your focus on a different project before it finishes. Be emotionally ready for project management whiplash as your employer re-prioritizes to compete in the market every month. Startups may have competitive pay relative to other startups. It is unlikely that you'll make as much money at a startup as you would with Google. Don't work for a startup with equity-only compensation when you need to pay for rent and food. Hiring managers of startups are more likely to entertain candidates with less experience when the job market is hot. While it is cool, they'll prefer to hire those with experience. Like a university, startups do not have time or funds to give second chances to a new unproductive employee. While there is a greater risk of layoffs, these events are performed with more care towards the organization's goals. The calculus involves both the compensation of existing employees towards meeting the new budget ceiling and the operational impact of terminating individuals. As a hiring manager, I would look forward to what you worked on and what technologies you used. Your experience with recent technologies is something I can count on and I need an iOS App developer with Swift experience now. If you get laid off from a startup, you're more likely to find success at another startup which shops for developers with as little technical ramp-up time as possible. Case Study: Business-to-Business startups ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Business-to-business startups are quite similar to business-to-customer startups, except their customers are large and come with a lot of long-term money. Your job will be far more secure at this kind of startup, as long as it is profitable, unless it is acquired. B2B startups are more likely to acquire others or be acquired. Acquisitions can be messy and roles will be removed. If a startup acquires another startup, they're more likely to find other positions for the affected staff than big tech would. Unlike end-customer facing startups, your priorities will be shaped by what sales agrees to when signing up another whale of a customer. If Adobe needs single sign-on and you don't have it, then guess what your next project is? Sales may make promises that are infeasible or insecure. You will need to develop effective communication skills to understand what is being asked and to push back when something is not possible or reasonable. Leadership above may try to pressure you to compromise in some way or to bend over backwards to make a deal work out. Except, a year later, that customer disappears — rendering all that work moot as no other customers can use the bespoke functionality. /[cendyne: thinking-coffee]----------------------------------------------------\ | This happens in medical technology too. When mergers happen, the bespoke | | functionality made for them may no longer apply under the new customer's | | organization. | \------------------------------------------------------------------------------/ Try not to get attached to the functionality you produce. Instead, enjoy the journey that you've had along the way. As a B2B employee, you may be asked to do sales-like demos at a public event. For example, AWS Summit [L18] is a free event for AWS customers to attend with presentations and vendor booths. You may give a high-level presentation or staff a booth for the event. You'll be interacting with non-developers during these events, so you'll need to communicate without jargon and focus on impact and application when talking with potential customers. I believe hiring managers will have a similar perception for work history across B2B and B2C startups. Case Study: Embedded software development ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Several factors will affect your experience in embedded software development. Where is your hardware made? Do you have teams overseas that do the hardware design when you write the software? Or are you making something that's cloud- connected and yet have no input to the hardware design? Are your customers end users or businesses? Is the device networked? Is it wireless? Is it battery powered? Can the device be updated? Is the device in the field? Is it in space? In all cases, you will experience code size, compute time, memory, communication, and even power draw constraints. Unlike the modern desktop app dev that writes TypeScript in a Chrome wrapper, your software must be frugal with device resources. Relevant documentation will be closed behind non-disclosure agreements. Your employer will have to pay the ISO for a license for you to reference specifications. If you're blocked on something, internet searches will be less useful. /[cendyne: disapprove]---------------------------------------------------------\ | I consider the International Organization for Standardization [L19] to be a | | detriment to society with their regressive participation in standards | | forming and adoption. | \------------------------------------------------------------------------------/ You will need a very scientific mind to resolve issues. Like a good regression tester, you'll have to reduce the problem to its essentials to reproduce the finding with slight tweaks to attack and defend a theory for what's actually going on. It is unlikely that you'll have access to the firmware of other components you use in the target device and the documentation might be incomplete or wrong. It is likely that you'll work with C, C++, or if you're lucky: Rust. You'll come to learn the hard way that electromagnetic interference is a real problem. When you're communicating over SPI [L20], some other component might attenuate or tweak the signals received at the other end. It might be too late or too costly to redesign the hardware board, so workarounds must be implemented for prior hardware versions to hide the defects. Now imagine your device is in space and the defects are discovered while in operation. Unlike a measurement device on an oil pipeline or another on a radio tower, no one can physically or feasibly go up to modify it once it is deployed. Once in space, every experiment you perform might cost a few hundred dollars in communication bandwidth, merely to isolate and identify the issue. For this reason, you spend significant time coming up with multiple tests to assess several theories in parallel. You might come to the evidently correct conclusion that a certain instruction with a specific register is, for lack of another explanation, burned out in space. To work around this, you must create an automated reprocessing stage for the compiled artifact destined to this device to accommodate its unit-specific errata. Alternatively, you may be working with a hardware team that opts not to include a crystal oscillator, making it infeasible to establish TLS sessions as the device cannot reliably keep its own time. Why? Apparently $0.06 per component in bulk is too costly to include in hardware sold for $60,000 MSRP [L21] to enterprise customers. Here's another example, instead of writing the serial number into the device as expected, the factory would write the same serial number into the firmware across batches of 1000 units. These units are then sold to different customers. This leads to customer data being commingled and subsequently sales incorrectly bills customers using counts that include other customers' units in their enterprise support subscriptions. If solving unnecessarily frustrating puzzles with moderate job security is your style, look for an embedded software role. As a hiring manager, I can appreciate your persistence in solving problems requiring you to model how components work internally. While your experience may not be transferable, you have the mental skills I need to help diagnose what's going on in my cloud environment. Case Study: Technology consultancy firm ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You need healthcare benefits but get crickets from every job you've applied to. Great news, consultant firms half the size of Amazon have benefits! From month to month you'll be assigned to customers across all sorts of industries. You'll learn how to say yes to everything and then learn how to explain why you couldn't deliver your commitments on time. If the customer isn't satisfied with you specifically, the firm will reassign another consultant in your place to appease the customer. If you're somewhat lucky, you'll work with a customer for over a year. During that time, their team will feel more like your own than your peers at the firm you're employed by. Through the networking you made throughout your contracts, you could get hired at a customer you assisted. It may be against your contract with the firm to try any sooner than two years after you've left the contracting firm, though. /-------------------------------------------------------------[jacobi: pick-me]\ | Didn't the FTC announce that non-competes are banned? [L22] (archived [L23] | | .) | \------------------------------------------------------------------------------/ /[cendyne: throw-phone-window]-------------------------------------------------\ | Yes. But, that doesn't mean your previous employer will play nice with your | | new one. They can choose to deprioritize your new employer as a customer, | | give the silent treatment, or otherwise go against the spirit of their | | contractual agreement until you lose your job. This also happens in the | | medical technology field. | \------------------------------------------------------------------------------/ If you end up at a firm that has no benefits, your work will be sparse and hourly. You choose your hours which allows you to work from noon to five and spend time outdoors. With a good mobile plan, you take the opportunity to work in the shade under a tree and continue hiking once you've done your piece. Occasionally you'll learn about a task that pays five times the rate that others do and drop all the plans you had for the next two weeks. You forwent Thanksgiving with family and friends to confidently pay for rent in December. Your friends wonder where you went since you were offline. You were at home, working 80 hours a week to maximize the opportunity — and that's why your firm lets you have first dibs at the high paying tasks. As a hiring manager outside of a contracting firm, I will be cautious when interviewing you. Your work history will be in patches, and I have less confidence in your ability to maintain or commit to a product for the long-term. You will not come across as someone that demonstrates ownership, which I value in my team members. During interviews, you might be asked what motivated you to take on certain projects. While you were monetarily motivated in the moment, answering so is unwise. Especially if you say so when describing your ascension in ranks in the firm. I am not in a position to offer differing monetary rewards for the work I and the product manager request. I need someone that enjoys the challenge for the sake of it while receiving a paycheck. Master's degree and Ph.D. ------------------------- Either you really want to further research in computer science or computer engineering, or want to delay your entry into the job market, or the job opportunity you are chasing requires that credential. If your grades were good, you'll get a scholarship that not only provides financial relief to your existing student debt and you'll also get a stipend that affords you Taco Bell once a month. The further you go, the higher you'll be ranked to HR and the more "overqualified" you'll be perceived by clueless hiring managers. You'll come across as expecting a higher pay for the same role, even without previous relevant work experience. This will dissuade anyone with a slim salary range from moving forward with you as a candidate. Hiring managers that are aware of what these greater degrees entail will know that the degree does not necessarily imply greater skillsets going into the job. An embedded software developer with experience will come across as more scientifically skilled than one with a master's degree, in my eyes at least. Greater degrees are evidence of improvement within a controlled and mentored environment while work experience supports improvement in a self-directed environment. /[cendyne: snake-money]--------------------------------------------------------\ | I suppose this can be compared to developing a credit rating by using credit | | cards instead of debit cards. While using a debit card, the bank enforces | | self-control over your balance in the moment. On the other hand, a credit | | card lets you control your spending over a period of time with greater risk | | to the lender. | \------------------------------------------------------------------------------/ /[cendyne: graduate]-----------------------------------------------------------\ | A postgraduate program involves another party that guides you to your degree | | 's completion in a controlled environment. At salaried or contracted jobs, | | you are far more responsible for your own success than your manager. | \------------------------------------------------------------------------------/ If you're going into data science or machine learning, greater degrees will highlight you as a candidate. Delivering a research project is evidence that you have the skill to persist and come to a conclusion about something in a high- detail environment. Similarly, your ability to communicate the findings of your work and the theories on why things work the way they do will be essential to your contributions in these specialties. Salary ranges ------------- Before a position is published, a budget for it is agreed upon with Human Resources. Whether or not that compensation is competitive or aligned with the position requirements is outside of HR's comprehension. They can compare salaries in the market for positions with a similar title, though the description of the position might as well be in an alien language and will not be considered for comparisons. For example, your organization may decide that a "Software Developer", not junior or senior, should have a salary range in the market of $90,000 to $120,000. It is dangerous for you to specify a specific number. If you outright say you're looking for $150,000, they know you're out of their range immediately and you'll close out that opportunity without the chance to accept $120,000. Calmly respond that you're looking for a competitive offer in their area or across similar positions available remotely. If you give a low number, they could very well take advantage of your request and provide an offer under their budgeted range. Once hired, your salary range will change by percentages with respect to your performance and the employer's financial performance. After a year or two, you might learn that new hires with less experience are being paid more than you. This happens everywhere, even Amazon. California, Colorado, and Connecticut legally require that positions listed include the salary range to discourage this behavior and to give employees leverage in renegotiating their compensation. You could request a market compensation adjustment to your manager. They might take you seriously; they might make excuses and say they'll address it at the next end-of-year performance review. If that is their response, go look for another job. The likelihood that they'll respond to your compensation concern months later is negligible. Raises for established staff are also budget constrained, so there is some truth to waiting until when the budget is reevaluated. Even so, you receive no back- pay for getting a raise a year later. Either pressure for them to evaluate your compensation now, or explain that your current compensation is no longer competitive with a strong hint that this incentivizes you to leave. Never communicate an ultimatum to get a raise. What is HR thinking? -------------------- As Human Resources review applicants, they do not understand what the hiring manager actually wants from the job description. Do they know what "5 years of Erlang experience" entails or whether "Erlang" experience can translate to "Elixir" experience? No. They do not have the knowledge to make qualified decisions on candidates. This kind of information has to come from a supplementary internal document that clarifies any details or explains any alternatives that make a candidate appealing in the application review stage. They tend to think "All knowledge comes from college." A horribly incorrect assumption in this field that leads them to think that ratcheting up education requirements is effective when this field is built on experience through implementation. They also don't hire unlucky people [L24] (archived [L25]). > Ernestine asked, “I have hundreds of resumés, how do I whittle them down to a > handful of calls and a few interviews?” > > Bertram smiled. He grabbed a pile of resumés from his desk, then started > dealing the resumés out, first one back onto his desk, second into the recycle > bin, third onto his desk, fourth into the recycle bin. When he was finished, > he had thrown half of the resumés away. “It’s simple.” Bertram told Ernestine. > “Just don’t hire anybody who’s unlucky.” Like any human, HR employees don't want to do a monotonous grind. Yet that's what the influx of job applications requires them to process. Modern Applicant Tracking System (ATS)s [L26] parse uploaded resumes to do keyword matching to cut down on the quantity of reviewed applications. It has become even more important than ever to customize your resume to highlight the same words mentioned in the job description. Your qualifications may be deemed irrelevant by an automated system that looks for details like degree, GPA, and an internal list of keywords. Any instant decline responses you receive are a result of these automated systems. Now in the age of "AI", competitive ATSs are enhanced to assess candidates more thoroughly with LLMs — reducing how often human eyes actually see a resume. /[cendyne: i-do-not-vibe-with-this-universe-1]---------------------------------\ | My opinion: this is irresponsible. And there's nothing you can do about it. | | Except… | \------------------------------------------------------------------------------/ Take your resume and the job description and put them all in at once to a large language model and have it pretend to be a recruiter that assesses whether a candidate is a match or not and ask it why. In other words, simulate what the ATS might be doing with the information it has and ask why you might not fit. You can adjust your resume by focusing on the details they're looking for, as long as you are truthful. Tuning your resume ------------------ The less experience you have, the more important it is to customize your resume for each application you have. You should be truthful in how you represent yourself, but you should also put the effort in to pass through any ATS filters to appear qualified for contact with a human on the other side. Use the same vocabulary the job description includes when explaining how you've applied yourself to the things they care about. [I2: A picture of a realtor sign with someone's face confidently smiling] You might be tempted to include a photo of yourself on the resume like a realtor would on the sale sign for a property. Any organization that cares about diversity, equity, inclusion, and merit will find it harder to process your resume with an image that promotes hiring bias. I recommend not including your photo for this reason. Similarly, your name should not be the largest text on the page. Please, do not blindly follow every tweak and suggestion an "AI tool" gives you for your resume. Hiring teams can tell when your resume is slop. About those cover letters ------------------------- I read them, my accompanying HR associate also read them, but we didn't discount anyone for omitting them. However, if I ever suspected an LLM wrote your cover letter, I would find it very difficult to consider your resume authentic. /[cendyne: thats-not-how-this-works-thats-not-how-any-of-this-works]-----------\ | The problem is so rampant, you might even stand out if your cover letter | | doesn't feel like LLM-slop. | \------------------------------------------------------------------------------/ Be short and to the point. Convey how you fit into the employer's vision in building a solid product for its customers. Express interest in the functionality you suspect that team is responsible for after researching the employer, their customers, and the team you're applying for. The questions you should ask during the interviews -------------------------------------------------- It is your job to interview them as much as it is for them to interview you. Do you want to work at this place? Is it offering what you want in your future? How they portray themselves is just as crafted as your own performance in front of them. The interview environment is unlike the work environment, which you can only find out through internships, probationary employment, or secured full-time employment. Try not to project your hopes and ideals onto the employers you interview with. You might have to wait until later interviews to ask, but if a hiring manager or Human Resources associate dismisses important questions like "What is your PTO policy, what are your 401k match benefits, what can you share about your healthcare benefits?" — then they are not an organization that cares about your compensation. You are there to work, you are there to be compensated. It is a two-way relationship. If that's not something they understand or respect, that job isn't for you and that's their loss. Ask about on-call. Most positions with an on-call expectation do not list it as a requirement. For some organizations, on-call is a ceremonial role where nothing happens 9 out of 10 shifts. But the one shift where it does, you need to wake up to restore database operations before customers complain at 8 AM. At other organizations, including many teams at Amazon and AWS, it is a toxic hot potato where the problems from last week's on-call shift remain unresolved and you cannot make progress on your assigned projects during your time with the on-call baton. If you have the autonomy to implement long-term solutions to systemic problems, you can reduce the burden from losing sleep to not worrying. On using AI tools ----------------- I suggest figuring out how to use and apply these tools on your own time. Learn where they produce tolerable results and when to act on your own to solve problems. Throughout the process, you must be certain that you understand the solution as if you wrote it yourself. Just… Don't use its output directly in representing you and your skills to another person. That is demeaning to the hiring manager and will not represent you faithfully. No machine can know or explain what you are capable of. Final words ----------- Without much work experience it will be challenging to break into the job market. It will be difficult to establish yourself until you get relevant job experience. They're taking a risk on relocating and hiring you, which is why the process is intimidating and takes time to resolve. With less employers giving offers these days, the chance of you having multiple offers to compare and negotiate with is unrealistic. It is fine to decline a job offer if you are confident others are going well. Though, in a cooling job market, take what you can get. It is important to show how invested you are in this field. Among a population of inexperienced and equally educated candidates, a hiring manager will prefer the eager and invested candidate. Don't expect top dollars on your first STEM [L27] job in the first month you're hired. Without the experience and capability to deliver today, you are a drag on the team and company until you are productive. A probationary period with reduced pay with respect to the job offer is normal for entry-level STEM positions. Should you ever go through a probationary period and they make excuses for not graduating your employment to a full status after you complete the probation requirements, look for a new job immediately! Employers abuse the probationary phase to save on costs. For those that have experience and have been laid off repeatedly over the last few years, reconsider the employers you're looking at and be ready to relocate or do contract work until you have something more aligned with your interests. Some employers will hire people with experience into a probationary state. These employers are more likely to abuse this process to deny benefits, pay, and long- term commitment. While I've shared all these perspectives, I am not your financial advisor, I do not know your specific circumstances. Your future is your responsibility and any communication and action you perform is on you. I hope you land a stable job that you find satisfactory which allows for some comfort in your life. -------------------------------------------------------------------------------- [L1]: https://www.newsweek.com/companies-avoid-hiring-gen-z-workplace-1884613 [L2]: https://archive.is/Ph9vR [L3]: https://www.youtube.com/watch?v=a8N1mshSgXc [L4]: https://ocw.mit.edu/ [L5]: https://en.wikipedia.org/wiki/Situation,_task,_action,_result [L6]: https://niccs.cisa.gov/education-training/cybersecurity-certifications [L7]: https://aws.amazon.com/certification/ [L8]: https://www.youtube.com/watch?v=KMU0tzLwhbE [L9]: https://vscodium.com [L10]: https://www.youtube.com/watch?v=vEQ07-p8ZDE [L11]: https://github.com/devcontainers/cli [L12]: https://www.msn.com/en-in/lifestyle/smart-living/amazon-laying-off-14000- people-in-name-of-efficiency-heres-what-we-know/ar-AA1BapCK [L13]: https://archive.is/kEGtu [L14]: https://aws.amazon.com/executive-insights/content/amazon-two-pizza-team/ [L15]: https://archive.is/qaCbo [L16]: https://github.com/amazon-ion [L17]: https://www.aapc.com/codes/icd-10-codes/V97.33 [L18]: https://aws.amazon.com/events/summits/ [L19]: https://www.iso.org/ [L20]: https://en.wikipedia.org/wiki/Serial_Peripheral_Interface [L21]: https://en.wikipedia.org/wiki/List_price [L22]: https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces -rule-banning-noncompetes [L23]: https://archive.is/dkAy0 [L24]: https://braythwayt.com/posterous/2014/10/04/i-dont-hire-unlucky- people.html [L25]: https://archive.is/s863j [L26]: https://en.wikipedia.org/wiki/Applicant_tracking_system [L27]: https://en.wikipedia.org/wiki/Science,_technology,_engineering,_and_ mathematics [I1]: https://c.cdyn.dev/K0TS02zh [I2]: https://c.cdyn.dev/PUjfH8Cr