<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Arlan</title>
    <description>The latest articles on Forem by Arlan (@lodely).</description>
    <link>https://forem.com/lodely</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2603826%2F6bed58ac-06df-4fa5-b621-3d6152e48e81.jpg</url>
      <title>Forem: Arlan</title>
      <link>https://forem.com/lodely</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lodely"/>
    <language>en</language>
    <item>
      <title>Behavioral Interview Guide for Software Engineers</title>
      <dc:creator>Arlan</dc:creator>
      <pubDate>Sat, 04 Jan 2025 04:52:44 +0000</pubDate>
      <link>https://forem.com/lodely/behavioral-interview-guide-for-software-engineers-4id5</link>
      <guid>https://forem.com/lodely/behavioral-interview-guide-for-software-engineers-4id5</guid>
      <description>&lt;p&gt;So, you’re looking to improve your chances at getting that offer? The fact that you’re searching, already makes you well on your way! You’ve came to the right place. I’ll share everything I know about behavioral interviews here.&lt;/p&gt;

&lt;p&gt;A bit of personal background - I’ve worked in FAANG, startups, mid-sized companies, been in engineering for 7+ years, and done my fair share of interviews. I share everything I know here that I wish someone told me earlier in my career in this blog. (which you can subscribe to btw)&lt;/p&gt;

&lt;p&gt;Disclaimer: the information here is my experience and personal opinions.&lt;/p&gt;

&lt;h2&gt;
  
  
  So What’s the Point Of These Interviews Anyway?
&lt;/h2&gt;

&lt;p&gt;The behavioral interview for software engineers, is just another way for the interviewers to get signal on whether you’ll be a fit for the role. Their aim is to access your career background.&lt;/p&gt;

&lt;p&gt;Also, you can’t really memorize your way into it, similar to grinding LeetCode. Of course, that’s not to say you don’t improve your chances if you prepare.&lt;/p&gt;

&lt;p&gt;At a high level, these interviews let the interviewer access your abilities holistically. They will be looking for signals that you are talking about topics and situations that a person with a similar role would have been through. They are looking to pick up on the nuances of the experiences that you said you have.&lt;/p&gt;

&lt;p&gt;The other agenda of these interviews is to access how you are as a person. Like, will you be pleasant to work with? Do you handle conflict with your potential team mates well? Are you responsible? Do you take initiative?  They’re trying to gauge your emotional intelligence.&lt;/p&gt;

&lt;h2&gt;
  
  
  You’ve Already Been Preparing for This Your Entire Time
&lt;/h2&gt;

&lt;p&gt;Behavioral interviews focus around your career background. So your talking points should be taken from your experience. Since you’ve lived through them, you already have all of the ingredients. Recall all the major projects, initiatives, wins, struggles, and losses that you had. Next, the way you come prepared is to convert them into a STAR (Situation, Task, Action, Result) format. This will help you be light on your feet and, at the right moments, answer from your basket of STARS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fol4vmod77jhc0koybyfs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fol4vmod77jhc0koybyfs.png" alt="STAR method" width="800" height="585"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The STAR System
&lt;/h2&gt;

&lt;p&gt;STAR - situation, task, action result. Is a standardized way that a lot of tech companies expect candidates to answer behavioral interview questions with. The aim of this system is make the answers specific to real life events. It puts the focus on facts vs opinions, and removes any generalization.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Situation - What was the problem at hand or a situation at work that you were part of.&lt;/li&gt;
&lt;li&gt;Task - What were the next steps to address the situation.&lt;/li&gt;
&lt;li&gt;Action - What did you actually do to move the task forward.&lt;/li&gt;
&lt;li&gt;Result - What was the end result.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Situation

&lt;ul&gt;
&lt;li&gt;Our VP called out that there was an issue with the app. Too many teams are building features on top of it, and the app is getting slow. It’s hard to build new things. Users are overwhelmed and losing track of new features coming in.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Task

&lt;ul&gt;
&lt;li&gt;I realized that the problem looks like a natural scope expansion for my team, and took the initiative at addressing the problem. The solution came in the form of a platform where features can be turned on/off per each user. This meets each unique need of the user. It keeps the app lightweight, features are developed in a standardized way by integrating with a framework, and our dedicated surfaces can render updates about new features to the user.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Action

&lt;ul&gt;
&lt;li&gt;I led and took ownership over this initiative.&lt;/li&gt;
&lt;li&gt;Handled engineering design, investigation, estimations, roadmapping, and resource allocation.&lt;/li&gt;
&lt;li&gt;Supported colleague engineers and kept track of the work-stream against milestones.&lt;/li&gt;
&lt;li&gt;Drove product decision alignment discussions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Result

&lt;ul&gt;
&lt;li&gt;Successful Alpha, Beta, General Access roll out.&lt;/li&gt;
&lt;li&gt;Positive metric impact on app time spent and app time to load (ttl).&lt;/li&gt;
&lt;li&gt;This is an example of how the format looks, but the contents themselves vary widely especially based on the role and the expected tenure, so don’t read too much into it.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;This is an example of how the format looks, but the contents themselves vary widely especially based on the role and the expected tenure, so don’t read too much into it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interviewers are People Too
&lt;/h2&gt;

&lt;p&gt;This is a bit of personal take. It helps to keep in mind that on the other side is a person like you. When doing intros, and answering questions, it helps to have a little humor or share some things that you’re into outside of work. For them, these chats are often like a conveyer. So being personable helps them to remember you as a person.&lt;/p&gt;

&lt;h2&gt;
  
  
  If You’re Just Starting Out - Internships
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flqp1q1o8gf5awhc3uq2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flqp1q1o8gf5awhc3uq2y.png" alt="Software engineer intern behavioral interview guide" width="773" height="511"&gt;&lt;/a&gt;&lt;br&gt;
Are you trying to score that software engineer internship and get your foot in the door? Since there’s not a lot of prior experience to pull answers from, think about what things you participated in that demonstrate taking initiative. What will show your natural interest in engineering? This includes competitions, side projects, any research, hackathons, etc. The interviewer’s goal is to see that you’re independently making progress towards engineering excellence, and mostly they’re just gauging whether you’ll make a good team mate.&lt;/p&gt;

&lt;h2&gt;
  
  
  If You’re Already Cooking
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6jwxx845f2o5egmxwz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6jwxx845f2o5egmxwz4.png" alt="Software engineer behavioral interview guide" width="800" height="446"&gt;&lt;/a&gt;&lt;br&gt;
You already have a couple years of experience. You’re doing awesome work and delivering value. Part of the behavioral interview is to validate whether you’re pleasant to work with, professional, and responsible. At this point you also have a good amount of experience to form your project based answers. It will help formatting these using the STAR system ahead of interviews. The expectation here is for the interviewer to pick up on your ability to execute on tasks end-to-end, communicate issues and blockers, communicate proactively with steak holders, on-time execution, taking initiative, engineering excellence.&lt;/p&gt;

&lt;h2&gt;
  
  
  If You’ve Been Around the Block
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbm184jcicygwj88bt0i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbm184jcicygwj88bt0i.png" alt="Senior software engineer behavioral interview guide" width="800" height="464"&gt;&lt;/a&gt;&lt;br&gt;
You’ve been in the industry for a while. Your day to day is more towards dealing with your team’s problems and synthesizing the actual projects that end up on the roadmap, tracking its pace, then keeping everyone aligned though out the process. You’re probably reading this to refresh your memory. Perhaps, reading interview prep materials is a weird hobby of yours? 👀 (no judgement).&lt;/p&gt;

&lt;p&gt;The behavioral interview, in my opinion, swings the most weight for senior positions compared to other interviews. A number of nuances can come up in the discussion because, as a senior software engineer, you’ve been through a number of teams, projects, and situations.&lt;/p&gt;

&lt;p&gt;Things that interviewers look for&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ability to clearly explain complicated technical problems and topics in a non technical way.&lt;/li&gt;
&lt;li&gt;Self agency in your organization to identify gaps and spin up solutions.&lt;/li&gt;
&lt;li&gt;Ownership moves more towards the problem or team need, which is often directional and vague, over being project based.&lt;/li&gt;
&lt;li&gt;Examples of driving decision alignment among steak holders.&lt;/li&gt;
&lt;li&gt;Personal conviction and willingness to pushback.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Software Engineer Behavioral Interview Questions
&lt;/h2&gt;

&lt;p&gt;A good way to prepare is to also review common behavioral questions and form your stories to those. Often, a lot of questions are re-hashes of the same popular ones. Here are the ones I’ve encountered along the way. These should be a good start to get the brain juices flowing!&lt;br&gt;
‍&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Think about your career transitions. What motivated them, what went well, and what could have gone better.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Why do you want to work at X company?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about your largest, most successful, most difficult, least successful projects.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about of how you’ve taken the initiative on teams you’ve been part of. Where have you gone beyond expectations.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider the most difficult work relationships you’ve encountered. How did it go?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a disagreement with your manager.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a disagreement with your team member.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a time when you were not meeting deadlines or expectations from partners. How did you deal with that?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write about what roles you’ve played on recent teams. How did you end up playing those roles? What has worked out well and what hasn’t been the best fit?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a project that you initiated, how did you come up with the project, how did you present it to the team, and how did you convince it was worth it.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a time your project got scrapped, how did it happen, how did you react?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What are your expectations from a PM? What’s your ideal relationship with them like?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a time your broke something?&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What is your weakness.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What is your strength.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about yourself.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about a time you received difficult feedback.&lt;br&gt;
‍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tell me about an ambiguous task you received.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Did This Help?
&lt;/h2&gt;

&lt;p&gt;I hope you found this information helpful. If you want to stay tuned to more engineering content like this, subscribe. It also helps me get the signal that I should write more on the broader topic.&lt;/p&gt;

&lt;p&gt;Cheers! ☕&lt;/p&gt;

</description>
      <category>interview</category>
      <category>career</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>How to Become a Software Engineer: No Experience? No Problem</title>
      <dc:creator>Arlan</dc:creator>
      <pubDate>Mon, 23 Dec 2024 02:59:32 +0000</pubDate>
      <link>https://forem.com/lodely/how-to-become-a-software-engineer-no-experience-no-problem-3npp</link>
      <guid>https://forem.com/lodely/how-to-become-a-software-engineer-no-experience-no-problem-3npp</guid>
      <description>&lt;p&gt;A core profession in the tech industry is software engineering. They are responsible for building the product that gets used by the end customer, moving the business forward.&lt;/p&gt;

&lt;p&gt;We live in the 21st century and “software is eating the world.” Due to relevance of software in all industries and people’s everyday lives, being a software engineer is economically rewarding in these times.&lt;/p&gt;

&lt;p&gt;And that’s not even mentioning the business leverage that comes from the fact that replicating and distributing software has zero marginal cost.&lt;/p&gt;

&lt;p&gt;All this results in 6 figure - 7 figure yearly compensation.&lt;/p&gt;

&lt;p&gt;Meanwhile, the culture of tech is really all about “execution.” Generally, no one cares about your school, certifications, diplomas, etc. What companies look for is a track record of getting work &lt;strong&gt;done&lt;/strong&gt; - tracking, managing a work stream to completion, shipping a new product, fixing a major bottleneck in a company system. So as long as you obtain the necessary skills and experience in any way, you can be part of the club.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Do Software Engineers Do?
&lt;/h2&gt;

&lt;p&gt;Software engineers are technical individual contributors in a company. They execute on technical work streams by building new systems or expanding existing ones that the company owns with the goal to drive positive business outcomes - revenue, engagement, daily actives, etc.&lt;/p&gt;

&lt;p&gt;Main responsibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finishing projects end-to-end.&lt;/li&gt;
&lt;li&gt;Getting code published, reviewed, and shipped to production.&lt;/li&gt;
&lt;li&gt;High standard of code excellence.&lt;/li&gt;
&lt;li&gt;Handling launch + rollouts.&lt;/li&gt;
&lt;li&gt;Project impact.&lt;/li&gt;
&lt;li&gt;Debugging and fixing bugs.&lt;/li&gt;
&lt;li&gt;Effective collaboration and communication.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the bread and butter of software engineering responsibilities, however, your day to day expectations evolve and expand through out your software career path. Want to learn all the &lt;a href="https://www.lodely.com/blog/types-of-software-engineers" rel="noopener noreferrer"&gt;software engineering roles&lt;/a&gt; you’ll be in and their requirements? I wrote a dedicated post just for that. &lt;a href="https://www.lodely.com/blog/types-of-software-engineers" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8xitzqky3dvw1jf9qbo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8xitzqky3dvw1jf9qbo.png" alt="Visual Representation of What Software Engineers Do?" width="800" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Is Computer Science Degree Required? How to Become a Software Engineer Without a Degree
&lt;/h2&gt;

&lt;p&gt;Job descriptions for software engineers write “bachelors or relevant experience.” So, no it’s not a hard rule. However, you have to have something else to show for it. Something that will give the company a strong signal that you can excel in the job and deliver impact.&lt;/p&gt;

&lt;p&gt;In fact, degree requirements serve as a way for the employer to gauge personal qualities - willingness to take responsibility, commitment, and that you will show up everyday. And you can show this in other ways too - with your past working experience.&lt;/p&gt;

&lt;p&gt;While I always saw and heard that a degree is not required from job descriptions and my chats with others in the industry, I never truly believed it. Until it actually happened for me.&lt;/p&gt;

&lt;p&gt;That being said, the bar is high though. Higher than I anticipated. “Relevant experience” should be actual experience in a software engineering role, doing what software engineers do. Also, it’s important for this experience to come from a real business with a trustworthy brand. The more that’s the case, the better for you.&lt;/p&gt;

&lt;p&gt;Real talk, by jumping into software engineering straight, foregoing the popular path, you’re on your own. Getting in that first experience is a slog, it will take time and hustle to get those first opportunities. Even then, you have to be flexible on things like title, or compensation.&lt;/p&gt;

&lt;p&gt;All of this, I’m speaking from my experience. I ended up becoming an engineer without a degree right after high school due to the fact that no college accepted me. &lt;a href="https://www.lodely.com/blog/getting-a-job-at-facebook-after-being-rejected-from-all-colleges" rel="noopener noreferrer"&gt;Read my story here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1ej57drbbukxn2qnlp9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1ej57drbbukxn2qnlp9.jpeg" alt="email" width="800" height="613"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Break Into the Industry (Entry-level)
&lt;/h2&gt;

&lt;p&gt;Interested in entry level software engineer jobs with no experience? There isn’t a single one way to do this. But, generally, in the beginning the most important thing is to get your foot in the door. So that you can start to build experience and let that snowball into more exciting opportunities. That’s how it turned out for me.&lt;/p&gt;

&lt;p&gt;As for getting that first role, it’s really about the hustle - working your network as much as possible, attending meetups and bootcamps, contributing to open source projects. In my opinion, the best way to land a job is through another engineer’s referral who’s already there. Build your network. And don’t be picky about what you get either. Your aim is to get started, you can always move on, down the line.&lt;/p&gt;

&lt;p&gt;I got my start when a person gave me a chance at an informal internship with some pay, even though I was ready to do everything for free. But that starting role made all the difference in the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills Needed for Software Engineer
&lt;/h2&gt;

&lt;p&gt;I list the most foundational skills a software engineer needs to have.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Master a Programming Language
&lt;/h3&gt;

&lt;p&gt;We all know that to do software engineering work, you need to know programming languages. Its an engineer’s main tool. You need to pick a language and go deep. Learning all the ins and outs, from &lt;a href="https://en.m.wikipedia.org/wiki/Syntactic_sugar" rel="noopener noreferrer"&gt;syntactic sugars&lt;/a&gt; to accompanying &lt;a href="https://en.m.wikipedia.org/wiki/Standard_library" rel="noopener noreferrer"&gt;standard libraries&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This foundational experience with a single programming language, will end up helping you read and understand code in many other languages as well, because things tend to follow the same pattern.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Domain Expert - Front end or Back end?
&lt;/h3&gt;

&lt;p&gt;Engineering and software is a vast field. And a lot of different components go into making software work. Several technologies often have to be combined end-to-end, like front end, server, data storage.&lt;/p&gt;

&lt;p&gt;Initially, you start by developing an in-depth expertise in a single domain like &lt;a href="https://en.m.wikipedia.org/wiki/Front-end_web_development" rel="noopener noreferrer"&gt;front end&lt;/a&gt; or &lt;a href="https://en.m.wikipedia.org/wiki/Frontend_and_backend" rel="noopener noreferrer"&gt;back end&lt;/a&gt;. You should know all the appropriate programming languages, frameworks, the process of how code gets shipped, how builds/compilations work, and anything else required to make that area of the product work in production.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Debugging Skills
&lt;/h3&gt;

&lt;p&gt;A lot of times when you’re building software systems, things fall through the cracks. So you end up dealing with bugs, servers going down, crashes, running out of memory, regressions, etc. Aside from writing code, a big part of the job is reading code, digging into the behavior and understanding what exactly went wrong. It’s a combination of interpreting code behavior. Using internal tools, profilers, and loggers. And poking at individual system components, until the issue is found.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Work Stream Execution
&lt;/h3&gt;

&lt;p&gt;This is all about your mindset to deliver on the work steam you own and signed up for. So that in the end everything works end-to-end as designed. It’s a mindset of taking full responsibility and feeling accountable towards your commitments to your team and steak holders.&lt;/p&gt;

&lt;p&gt;Issues always pop up from the unknown. It’s important to embrace flexibility and take ownership of figuring out how to work around obstacles. Whether it be bringing in additional resources, or doing a PM’s work.&lt;/p&gt;

&lt;p&gt;‍&lt;br&gt;
There are far more skills you need to learn and master during your career than this. If you’re interested, all of them are listed in this post. &lt;a href="https://www.lodely.com/blog/software-engineer-skills" rel="noopener noreferrer"&gt;Read here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1dvdcdxy3g3ux8ksjl0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1dvdcdxy3g3ux8ksjl0.png" alt="Key Software Engineer Skills" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Software Engineer Program No Experience
&lt;/h2&gt;

&lt;p&gt;Interested in getting exact steps to become a full fledged software engineer? What’s great is that this skill can be self taught and you can make amazing progress learning online. &lt;strong&gt;Here’s what I would do if I started all over again:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I was in school, I was really active in competitive programming competitions. It was a ton of fun! I didn’t know that it would help me later on in interviewing and do work as an engineer. So for anyone starting out fresh, here’s how I would recommend getting into software engineering, in my biased opinion.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pick a popular language like Python, Javascript, Java, Ruby, C++, C#, etc.&lt;/li&gt;
&lt;li&gt;Learn the basics of the language - there’s a ton of programming language tutorials online.&lt;/li&gt;
&lt;li&gt;Start solving programming problems on &lt;a href="//leetcode.com"&gt;leetcode&lt;/a&gt;, &lt;a href="//codeforces.com"&gt;codeforces&lt;/a&gt;, &lt;a href="//spoj.com"&gt;spoj&lt;/a&gt;, &lt;a href="//hackerrank.com"&gt;hackerrank&lt;/a&gt;, etc. From easy to hard. Try for a ratio of 10 easy / 3 medium / 1 hard. In the beginning only easy and medium.

&lt;ul&gt;
&lt;li&gt;You will develop your CS, coding, and algorithms fundamentals.&lt;/li&gt;
&lt;li&gt;Get comfortable with your programming language of choice.&lt;/li&gt;
&lt;li&gt;Automatic interview preparation.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;After you solve 100+ problems at least, start picking up some side projects. Try to build a desktop app, or mobile app, or a website, or a distributed server system. You can start from picking popular projects, that already have guides online, so the learning curve isn’t too steep. Most importantly, you should learn by overcoming blockers that you encounter in your projects.&lt;/li&gt;

&lt;li&gt;Continue to build, learn, and get in a role at a startup/company, where you can bring value with your engineering skills.&lt;/li&gt;

&lt;li&gt;Get ready for behavioral interviews. I have a guide on that &lt;a href="https://www.lodely.com/blog/behavioral-interview-guide-for-software-engineers" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Be Part of the Community
&lt;/h2&gt;

&lt;p&gt;Support from others in the industry is critical. Great roles are usually taken by those that are brought in via referral. In addition to having the skills to walk the walk, knowing people is equally important. So take the time to meet and get to know those in your tech circle.&lt;/p&gt;

&lt;p&gt;Furthermore, I remember how just being around folks in the industry, I learned a lot about how the hiring process works. This includes hidden away info that gets transferred only through osmosis most of the time. Some of those things I publish here @ &lt;a href="//lodely.com"&gt;lodely&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Cheers! ☕&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>career</category>
    </item>
    <item>
      <title>All 22 Software Engineer Skills to Master</title>
      <dc:creator>Arlan</dc:creator>
      <pubDate>Mon, 23 Dec 2024 02:54:07 +0000</pubDate>
      <link>https://forem.com/lodely/all-22-software-engineer-skills-to-master-13i4</link>
      <guid>https://forem.com/lodely/all-22-software-engineer-skills-to-master-13i4</guid>
      <description>&lt;p&gt;Navigating the path to becoming a top-tier Software Engineer demands a diverse basket of skills and knowledge, which you usually accumulate through experience. However, if I had this software engineer skills list earlier when I was starting out - I would’ve focused on the right things from the beginning. And, as a result, would’ve saved enormous time for myself.&lt;/p&gt;

&lt;p&gt;Some concepts here are very straightforward that everyone would expect a software engineer to know, both technical (hard) and more inter-personal (soft). And some, for the longest time I wasn’t even aware of until I found myself needing them, in a pinch, during project work. Nevertheless, I believe all of the items you find here are critical enough to be aware of, regardless of the type of work you do as a software engineer.&lt;/p&gt;

&lt;p&gt;Also, including couple of these in the resume wouldn’t hurt! My thoughts on &lt;a href="https://www.lodely.com/blog/how-to-craft-the-perfect-software-engineering-resume-in-2024" rel="noopener noreferrer"&gt;swe resumes&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Top Skills Needed For Software Engineer
&lt;/h2&gt;

&lt;p&gt;This section contains key skills for software developers. These are skills that are acquired right from the start and engineers are expected to have in all work situations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53u4ig2q6csdu14d78po.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53u4ig2q6csdu14d78po.png" alt="top software engineer skills" width="748" height="926"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Programming Language Jedi
&lt;/h3&gt;

&lt;p&gt;We all know that to do software engineering work, you need to know programming languages. A programming language to an engineer, is what a brush is to a painter. It all starts from that single language you spend most of your time working in. And that’s the language you would learn all the ins and outs of, from &lt;a href="https://en.m.wikipedia.org/wiki/Syntactic_sugar" rel="noopener noreferrer"&gt;syntactic sugars&lt;/a&gt; to accompanying &lt;a href="https://en.m.wikipedia.org/wiki/Standard_library" rel="noopener noreferrer"&gt;standard libraries&lt;/a&gt;. This foundational experience with a single programming language, ends up helping you read and understand code in many other languages as well, as things tend to follow the same pattern.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Domain Expert - Front End or Back End?
&lt;/h3&gt;

&lt;p&gt;The more time you spend building software, the more there is to know. There’s a lot of work that goes into making the apps we use every day. And several technologies have to be combined end-to-end - front end, server, data storage.&lt;/p&gt;

&lt;p&gt;Initially, you start by developing an in-depth expertise in a single domain like &lt;a href="https://en.m.wikipedia.org/wiki/Front-end_web_development" rel="noopener noreferrer"&gt;front end&lt;/a&gt; or &lt;a href="https://en.m.wikipedia.org/wiki/Frontend_and_backend" rel="noopener noreferrer"&gt;back end&lt;/a&gt; first. You would need to know all the appropriate programming languages, frameworks, the process of how code changes get shipped, how builds/compilations work, and anything else required to make that area of the product work in production.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Debugging Skills
&lt;/h3&gt;

&lt;p&gt;A lot of times when you’re building software systems, especially complicated ones, things fall through the cracks. So you end up dealing with bugs, servers going down, crashes, running out of memory, regressions, etc. Aside from writing code, a big part of the job is reading code, digging into the behavior and understanding what exactly caused the issues. Its a combination of interpreting code behavior. Using internal tools, profilers, and loggers. And poking at individual system components, until the smallest unit at fault is identified.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Work Stream Execution
&lt;/h3&gt;

&lt;p&gt;This is all about your execution to deliver on the work steam you own and signed up for. So that in the end everything works end-to-end as designed. It’s a mindset of taking full responsibility and feeling accountable towards your commitments to your team and steak holders. Issues always pop up from the unknown, it’s important to embrace flexibility and take ownership of figuring out how to work around obstacles. Whether it be bringing in additional resources, or doing a PM’s work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Skills For Software Engineer
&lt;/h2&gt;

&lt;p&gt;This section contains hard skills that a lot of software engineers become familiar with first hand.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Write Your Tests
&lt;/h3&gt;

&lt;p&gt;We all know the classic test driven development! It’s important, especially on complex products, to write and have a suite of tests comprehensively cover the code base. As a result, engineers feel more confident making changes, code is designed in a more modular way, bugs and regressions are caught early.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Code Review and Code Standards
&lt;/h3&gt;

&lt;p&gt;Reviewing code helps your whole team to unblock and move faster with quality. Here’s why it’s important: You provide feedback that the author can use to improve their code. You can catch potential disasters early. And additionally, code reviews enforce coding standards for the team, so that comprehensiveness, cleanliness, performance, and modularity is maintained.&lt;/p&gt;

&lt;p&gt;This also leaves behind a paper trail of context that engineers in the future can find.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Migrations
&lt;/h3&gt;

&lt;p&gt;Many software developers at some point have to handle migrations. In a general sense, it’s taking a system in its current state and moving it into a new one. This could be in the context of data storage, or tech stack, or server infrastructure. Quick tip, there’s a ton of knowledge online on how to approach migrations with different perspectives. Doing a little bit of research goes far, no need to reinvent the wheel.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Refactoring
&lt;/h3&gt;

&lt;p&gt;Developing software is an iterative process. Nothing gets built in its final form right from the beginning. Same thing applies to code. Sometimes it’s rushed, or it’s an early new feature experiment that’s not yet state of the art. Afterwards, it’s on us to think through how to redesign our code to meet the needs of the future situation, as well as keeping everything extendable.&lt;/p&gt;

&lt;p&gt;Something that would’ve helped me do better early on, is to have confidence in my own intuition. If a piece of code is hard to read or an architecture is complicated. Don’t stop there. The problem is not you, it’s the solution. Take it further, and think about how it would look like if this was easy to understand and was intuitive. You’ll get ideas of gold.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Feature Flags and Gating
&lt;/h3&gt;

&lt;p&gt;When you are building new features or products, you have to isolate it from the entire system as you’re making progress on it. Feature flags are your tool for the job. What’s more, they will come super handy for setting up the rules of who gets exposure to your new changes during launch.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Distributed Systems
&lt;/h3&gt;

&lt;p&gt;To build scalable systems, it’s important to know how to design distributed systems. I think that even for specific types of engineers that, for example, spend most of their time on the client, would serve greatly to know the fundamental concepts. Because they do come up in interviews, or in situations requiring to talk to the server infrastructure, or thinking through the product behavior. An awesome book, &lt;a href="https://www.amazon.com/dp/1449373321?ref=cm_sw_r_mwn_dp_KQ796NFW9FDW9TP2QQK6&amp;amp;ref_=cm_sw_r_mwn_dp_KQ796NFW9FDW9TP2QQK6&amp;amp;social_share=cm_sw_r_mwn_dp_KQ796NFW9FDW9TP2QQK6&amp;amp;language=en-US" rel="noopener noreferrer"&gt;Designing Data-Intensive Applications&lt;/a&gt;, comes to mind.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2ennv5tn5p2smblml9r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2ennv5tn5p2smblml9r.png" alt="Designing Data Intensive Applications" width="744" height="1614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  11. Data Bases and Pipelines
&lt;/h3&gt;

&lt;p&gt;Similar to distributed systems, data bases will appear everywhere. It’s one of the core things. It houses all the data and is the source of truth for any system. And where there is data, there’s the need to move them around - the art of writing &lt;a href="https://en.m.wikipedia.org/wiki/Pipeline_(computing)" rel="noopener noreferrer"&gt;pipelines&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There’s a ton of information online on types of data bases from sql to &lt;a href="https://en.m.wikipedia.org/wiki/NoSQL" rel="noopener noreferrer"&gt;no-sql&lt;/a&gt;. On frameworks that leverage &lt;a href="https://en.m.wikipedia.org/wiki/Apache_Spark" rel="noopener noreferrer"&gt;distributed systems to make pipelines work at scale&lt;/a&gt;. On data model design best practices. Research goes a long way.&lt;/p&gt;

&lt;h3&gt;
  
  
  12. APIs
&lt;/h3&gt;

&lt;p&gt;servers-to-servers, components-to-components, servers-to-clients, talk with each other via a standardized protocol - &lt;a href="https://en.m.wikipedia.org/wiki/API" rel="noopener noreferrer"&gt;apis&lt;/a&gt; - that you play a role in defining for your specific system. The concept of logic or business logic also go into this. It’s the series of steps the computer follows after getting that first communication established via api. All software engineers go through the experience of writing countless of apis and business logic code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced Skills For Software Engineer
&lt;/h2&gt;

&lt;p&gt;This section of developer skills are more subtle. They’re things you start to think about further on in your engineering career. Especially, when the question of why build the thing, rather than how, starts to take prevalence.&lt;/p&gt;

&lt;h3&gt;
  
  
  13. Data Analysis and Metric Reading
&lt;/h3&gt;

&lt;p&gt;Correctness is nice and all. But knowing if the system you built, brings you closer to the goal is crucial. After all, all products and features we ship are at the root - guesses. So it’s important to check, afterwards, whether the guess was right or wrong. This is done by establishing metrics with the idea that it’ll show whether you’re closer or further from the goal.&lt;/p&gt;

&lt;p&gt;To feel the pulse of the product, as a doctor would a patient, it’s required to set up &lt;a href="https://en.m.wikipedia.org/wiki/Logging_(computing)" rel="noopener noreferrer"&gt;logging&lt;/a&gt; for data collection, aggregating this data, and finally interpreting from a single place what the data means.&lt;/p&gt;

&lt;h3&gt;
  
  
  14. Experimentation Setup and A/B Tests
&lt;/h3&gt;

&lt;p&gt;On the topic of metrics and data, &lt;a href="https://en.m.wikipedia.org/wiki/A/B_testing" rel="noopener noreferrer"&gt;experimentations/ab tests&lt;/a&gt; fall into the same camp of arming you with evidence of whether your product is bringing you and your team closer to the goal or not.&lt;/p&gt;

&lt;p&gt;Simply speaking, experimentation is the process of identifying an audience, providing the default (control) experience to one half, and the experience containing your changes (test) to the other half. Then, we log what people do in both groups and compare how the behavior differs.&lt;/p&gt;

&lt;p&gt;This is one of the more exact-science based tools that brings to light the impact of your product’s changes compared to other approaches. So it’s important to really become familiar with how to setup experiments and interpret them.&lt;/p&gt;

&lt;p&gt;Since this falls into Statistics territory. There’s a substantial amount of theory that you need to cover, all available online of course. Some things to look out for: &lt;a href="https://en.m.wikipedia.org/wiki/Statistical_significance" rel="noopener noreferrer"&gt;statistical significance&lt;/a&gt;, &lt;a href="https://en.m.wikipedia.org/wiki/P-value" rel="noopener noreferrer"&gt;p values&lt;/a&gt;, &lt;a href="https://en.m.wikipedia.org/wiki/Power_(statistics)" rel="noopener noreferrer"&gt;power analysis&lt;/a&gt;, &lt;a href="https://en.m.wikipedia.org/wiki/Sample_size_determination" rel="noopener noreferrer"&gt;sample sizes&lt;/a&gt;, dilution, over/under/imbalanced exposures, exposure logging, holdouts, &lt;a href="https://en.m.wikipedia.org/wiki/Backtesting" rel="noopener noreferrer"&gt;backtests&lt;/a&gt;, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frvc2xda7rzzzeogz5zah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frvc2xda7rzzzeogz5zah.png" alt="ab test system architecture" width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  15. Architecture Design
&lt;/h3&gt;

&lt;p&gt;This is pretty straightforward and a core practice for many software engineers. In-between jumping into coding and aligning on the problem that needs to be addressed. We start off by kicking off an investigation to understand more in-depth the scope of changes required to build the system. All the while, taking notes and jotting down potential hurdles in an eng document. Finally, compiling everything into an outline of the high level approach, how data will flow, what apis there will be, the data model, etc. All-in-all the architecture of the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  16. Product Led Growth
&lt;/h3&gt;

&lt;p&gt;This falls mostly in the PM camp, but many engineers build products for a living, me included. For us, I think it’s a priority to work on our product sense. While a lot comes just from experience, my personal view on this has been making sure I’m making the time to feel the pulse of the product. i.e. Look at behavior logs and aggregated metrics, read experimentation results and user research reports. I think these are “ammo” for building the next iteration of the product in a data driven way, such that at the end of the work stream, the chance to hit a home run, which metrics should reflect, is maximized.&lt;/p&gt;

&lt;p&gt;Overall, I really believe in the product led growth strategy and constantly look to nudge the flywheel. Where making data driven improvements to the product drives user delight, which drives more user advocacy, which drives more new users, and on and on.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcx8nkwqchoxxtgvx2ii.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcx8nkwqchoxxtgvx2ii.png" alt="product led growth flywheel" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  17. Managing Technical Risks
&lt;/h3&gt;

&lt;p&gt;During project development, there’s always options for different approaches, there’s always hidden issues that pop up, scope creep, delays. Yet, often we end up having strict timelines with downstream dependencies depending on the launch date.&lt;/p&gt;

&lt;p&gt;There’s an art to risk managing a project. It involves consistently going through the exercise of de-risking it from possible derailments. And the approaches vary widely case by case. But some classic ones are - throwing more people at the problem, maximally parallelizing each work item, bring down the scope, setting up contingency plans.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h2&gt;
  
  
  Software Engineer Soft Skills / Leadership
&lt;/h2&gt;

&lt;p&gt;We should all be on the same page that communication trumps all. And effective communication is a powerful tool for getting work done. Here are a list of some soft skills that I consistently observe highly impactful engineers to have.&lt;/p&gt;

&lt;h3&gt;
  
  
  18. Driving Alignment
&lt;/h3&gt;

&lt;p&gt;As an engineer, you keep in mind a bunch of different factors that affect the project. Because often times, you are the one who exists on the interdisciplinary plane and have to consider both the technical and non-technical details. And understand whether they are fitting together nicely. As a result, you often find yourself in situations where there’s multiple point of views that make a lot of sense in the context of their own product area, but it requires skill to understand each view point and put together a holistic path forward that everyone can agree on.&lt;/p&gt;

&lt;h3&gt;
  
  
  19. Personal Conviction
&lt;/h3&gt;

&lt;p&gt;Everyone expects the person in the driver’s seat of a project to have a personal perspective on multiple aspects of the project. Having an opinion and sharing it provides value to the team and the project. While there’s a balance to be had, especially with making sure that listening is also being taken into account. Over time, it is more and more important to be willing to share your point of view.&lt;/p&gt;

&lt;h3&gt;
  
  
  20. Project Tracking
&lt;/h3&gt;

&lt;p&gt;Driving a project with any level of complexity requires tracking. So as a result, gaps are not missed, and major details don’t fall through. Even with extensive tracking, surprises happen. Without it, it’d be a mess. Also, having a way to track a project, acts as a medium letting you align with everyone on the project on what their part of the responsibility is. As a result, keeping everyone on the same page throughout the entire development process.&lt;/p&gt;

&lt;h3&gt;
  
  
  21. Working with Steak Holders
&lt;/h3&gt;

&lt;p&gt;Software engineers work in teams. Which means also working with non software engineering partners - Design, Data, PM, etc. The success of the product does not only depend on getting the thing built. So it’s important to involve other functional partners closely, especially in product decisions. I’ve observed effective engineers be able to communicate clearly technical challenges in a non technical way, bringing every function to alignment. Resulting in an end-to-end solution spanning engineering, design, and product.&lt;/p&gt;

&lt;h3&gt;
  
  
  22. Defining and Setting Up Product Launches
&lt;/h3&gt;

&lt;p&gt;Part of project development is to align with your team on what the launch looks like. There’s a number of factors to consider. Who’s going to get this update? How extensive the rollout will be, does it have to work correctly with every other system out the door? Is this alpha, beta, or general launch? How will external communication look like? Will the launch plan result in getting the data needed to make a call on whether there was success vs not? As the one driving the product, it’s on you to cover this and keep everyone on the same page.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h3&gt;
  
  
  Did I Miss Anything? Comment!
&lt;/h3&gt;

&lt;p&gt;Cheers! ☕&lt;/p&gt;

</description>
      <category>career</category>
      <category>developer</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Get Highest Paying Engineering Jobs in 2024</title>
      <dc:creator>Arlan</dc:creator>
      <pubDate>Mon, 23 Dec 2024 02:12:38 +0000</pubDate>
      <link>https://forem.com/lodely/how-to-get-highest-paying-engineering-jobs-in-2024-pmj</link>
      <guid>https://forem.com/lodely/how-to-get-highest-paying-engineering-jobs-in-2024-pmj</guid>
      <description>&lt;p&gt;I’m getting close to a decade of work in tech. Living in my tech bubble and talking with friends in the industry, you pick up on hidden playbooks of how engineers get best paying engineering jobs.&lt;/p&gt;

&lt;p&gt;And compensation for engineers is a wide spread. Ranging anywhere from low 6 figures to well into 7 figures, in some cases even more. This is because there are multiple levels to compensation within the industry. Plus, there are roles with a lot of asymmetric upside.&lt;/p&gt;

&lt;p&gt;In this blog, I talk about different types of compensation ranges that exist and how to achieve them. As well as how to spot roles with asymmetric upside.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Do Software Engineers Make So Much?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Relevance and Leverage.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software is a giant market and it has a significant place in many people’s every day life from work to play to connection. There’s a saying that “software is eating the world,” and at this point, it’s fair to say, “it already ate it.” So the demand is higher than ever.&lt;/p&gt;

&lt;p&gt;In terms of leverage, software has zero marginal cost of replication. Which means that its fast and cheap to distribute it across the market. One person can deliver the same positive incremental impact to millions with a single action.&lt;/p&gt;

&lt;p&gt;So, the way you set yourself up for maximum wealth generation is to make your financial gains corollate to your company’s leveraged impact. More on that further.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Type of Engineer is Highest Paid?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7285d95yb8dym23nlr7x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7285d95yb8dym23nlr7x.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your pay, as an engineer, is determined by 4 factors - level, demand to fill your type of role, location, and the company you choose. Maximizing them will get you maximum pay.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The most obvious and linear increase in compensation is across the seniority &lt;strong&gt;levels&lt;/strong&gt;. You start from entry-level role and through accumulating experience, shipping products, grow to senior and above. I have a &lt;a href="https://www.lodely.com/blog/types-of-software-engineers" rel="noopener noreferrer"&gt;dedicated post&lt;/a&gt; describing all the different levels, their obvious/non-obvious responsibilities, and compensation - &lt;a href="https://www.lodely.com/blog/types-of-software-engineers" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demand to fill your type of role&lt;/strong&gt; is pure job market dynamics - supply and demand. Engineering is a broad field and there are more niche job families within: Machine Learning, Embedded, etc. The best way to keep tabs on up to date job market compensation, is looking at other people’s offer packages. You could also speculate and anticipate demand for particular roles, like ML engineering for AI hype. Check out my post on different engineering roles &lt;a href="https://www.lodely.com/blog/types-of-software-engineers" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Different &lt;strong&gt;locations&lt;/strong&gt; pay differently. This applies to all jobs. It’s tightly correlated to the region’s cost of living and other broader economic factors. Silicon Valley pays engineers the most, the coasts in the US pay more than the mid west, US pays more than other countries, ad so on.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The company you choose.&lt;/strong&gt; This is the biggest factor to compensation with the biggest variety of options. There are enterprise, mid-market, and startups companies with each segment having unique compensation packages. In addition, no two companies within the same segment are alike. It’s really a case by case thing. This is where you have to put on your investor hat.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Maximize Your Compensation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.prod.website-files.com%2F666c5f35622b650a0361cef6%2F67390fd18179448fb4a09e14_67390f900f3673ecc6fbc39a_nyse.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.prod.website-files.com%2F666c5f35622b650a0361cef6%2F67390fd18179448fb4a09e14_67390f900f3673ecc6fbc39a_nyse.jpeg" alt="nyse" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ll tell you the secret to the Silicon Valley Wealth Machine…&lt;/p&gt;

&lt;p&gt;But first, I’d like to emphasize that there’s a consistent way to hop between pockets of the job market to guarantee higher compensation. Like moving into the US to places like Silicon Valley or New York. Or going from mid market companies to big tech FAANG.&lt;/p&gt;

&lt;p&gt;This way you can go from less than $100k to north of that. And by getting into a particular segment of companies, you can go from low 6 figures to mid-high 6 figures. i.e. $300k, $400k, $500k, $600k, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HOWEVER,&lt;/strong&gt; the true upside is in &lt;strong&gt;EQUITY.&lt;/strong&gt; Using your investor hat and doing your due diligence can lead you to get rewarded multiple times over. Knowing where the ball is going next in tech is the key. And it doesn’t even have to be all or nothing like that. If there’s truly a good case for growth and impact in that company, then that’s enough.&lt;/p&gt;

&lt;p&gt;I’ve had many friends and colleagues that joined high potential companies at a good time and rode the equity appreciation wave going into &lt;strong&gt;millions&lt;/strong&gt; and even occasionally &lt;strong&gt;tens of millions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And all of this - &lt;strong&gt;risk free&lt;/strong&gt;. If you lose, you only incur a marginal opportunity cost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88sg771i0fz2d1ocdoh6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88sg771i0fz2d1ocdoh6.png" alt="10q" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the Most in Demand Engineering Job?
&lt;/h2&gt;

&lt;p&gt;That depends. Demand is dynamic and volatile. It’s all based on tech trends. Right now, I’d probably say AI and ML engineering jobs are most in demand and as a result, they have a lot of leverage in negotiations and compensation discussions. The way to know the most in demand roles at any given time is to do some online research, through tools like &lt;a href="//levels.fyi"&gt;levels.fyi&lt;/a&gt; and &lt;a href="//glassdoor.com"&gt;glassdoor.com&lt;/a&gt;. See what positions are being paid especially well. Also, just by being in the industry, you’ll start to feel what’s in demand intuitively.&lt;/p&gt;

&lt;p&gt;Keep in mind that this does not mean other engineering jobs don’t have high demand. All of tech is incredibly in demand. You just have to bring in relevant experience and expertise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Highest Paid Entry Level Tech Jobs?
&lt;/h2&gt;

&lt;p&gt;As an entry level software engineer. You don’t have a lot of wiggle room in terms of seniority level. But you can set yourself up for success with location and the company you choose. As a someone new to the industry, you should position yourself to be at the bleeding edge - SF bay area. So that you can maximally expose yourself to all the skills and experience you’ll need throughout your career.&lt;/p&gt;

&lt;p&gt;In terms of companies, big techs pay the most in liquid compensation. So if you’re interested in highest paying entry level faang jobs, specifically, checkout the latest info at &lt;a href="//levels.fyi"&gt;levels.fyi&lt;/a&gt;. But even at entry-level you shouldn’t skimp on high potential companies. Because you do have a shot at crazy asymmetric upside with equity too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Software Engineer Salary Across the US
&lt;/h2&gt;

&lt;p&gt;Software engineering salaries vary from location to location based on cost of living, talent density, and other broader economic factors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Software Engineer Salary New York
&lt;/h3&gt;

&lt;p&gt;In New York, software engineers typically earn between $100,000 to $160,000 per year. Salaries can be higher for senior or specialized roles, with cost of living being one of the highest in the country.&lt;/p&gt;

&lt;h3&gt;
  
  
  Software Engineer Salary California
&lt;/h3&gt;

&lt;p&gt;In California, salaries range from $110,000 to $170,000, depending on the region. Silicon Valley, specifically, sees some of the highest compensation packages, often exceeding $200,000 for senior roles, but the high cost of living, especially in the Bay Area, can offset some of that advantage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Software Engineer Salary Seattle
&lt;/h3&gt;

&lt;p&gt;Seattle offers competitive salaries for software engineers, typically ranging from $105,000 to $150,000. While the cost of living is high, it is more affordable than California's major tech cities, making it an attractive option for tech talent.&lt;/p&gt;

&lt;p&gt;Hope this helps you hit a home run with your next engineering role! Cheers!&lt;/p&gt;

</description>
      <category>softwareengineering</category>
      <category>career</category>
    </item>
  </channel>
</rss>
