Getting Hired as a Software Engineer

Jul 10, 2024

Getting Hired as a Software Engineer

Introduction

  • Camera On: Encouraged for questions and engagement.
  • Introduction of Participants: Several participants greeted and encouraged to share their backgrounds.
  • Chat and Participants: Opened chat for introductions, locations, and current status in software engineering journeys.

Main Topic: How to Get Hired

  • Insights from Codesmith, the coding school sponsoring the workshop.
  • Nester Cayanan: Alumni advisor and co-host with a theology background and experience at SRC Inc.
  • Objective: Discussing hiring, the skills required, and how to effectively present oneself to employers.

Key Points Discussed

  1. Current Job Market for Software Engineers
    • Challenges and opportunities in hiring trends.
    • Notable hirings at major companies like Google.
  2. Steps to Become a Great Software Engineer
    • Skills and qualities needed: versatility, problem-solving, technical communication.
    • Importance of being a full-stack engineer.
  3. Effective Hiring Strategies
    • Problem Solving: Core competency for engineers; ability to tackle complex problems.
    • Technical Communication: Ability to explain and teach technical concepts clearly.
    • Hands-on Experience: Importance of contributing to open-source projects and real-world problem-solving.
  4. Insights from Industry Professionals
    • Brandy Richardson: Emphasis on technical communication and problem-solving at Google and Microsoft.
    • Brian Holt: Importance of technical writing and communication in various engineering roles.

Key Qualities of Great Engineers

  1. Problem-Solving Skills
    • Ability to tackle new and unseen problems using varied tools and approaches.
  2. Technical Communication
    • Convey complex ideas clearly to different stakeholders: teammates, business leads, users, etc.
  3. Understanding of Software Engineering Principles
    • Thorough understanding of design patterns, best practices, and the principles behind code execution.
  4. Adaptability and Growth Mindset
    • Willingness to continuously learn and adapt to new tools and frameworks.
  5. Passion and Dedication
    • Genuine interest in the field and dedication to solving real-world problems.

Full-Stack Engineering Breakdown

  • Front-end: State management and view synchronization (React, JS, TypeScript, etc.).
  • Back-end: Servers, databases, and API development (Node.js, Express, etc.).
  • Infrastructure: Tools for deploying and scaling applications (Docker, Kubernetes, etc.).
  • Developer Tooling: Automation and efficiency tools for developers.
  • ML and AI: Incorporating machine learning models and AI into applications (TensorFlow, TensorFlow.js).

Where to Focus Job Searches

  • Industries Hiring: Finance, healthcare, biotech, automotive, aerospace, media, and entertainment.
  • Role Varieties: Beyond traditional software engineering roles, include hybrid and specialized positions (e.g., product engineer).
  • Remote and Hybrid Work: Trends in hiring for remote and hybrid roles.

Communicating Your Worth

  • Detailed Resume/Portfolio: Highlight significant projects and specific problem-solving instances.
  • Cover Letter and Applications: Show genuine interest and effort in learning about the company.
  • Networking: Engage with industry professionals and gather insights into company cultures.

Specific Strategies for Job Application Process

  1. Resume and First Impressions
    • Clear signal of problem-solving capability and technical communication.
    • Specific, detailed examples of engineering challenges tackled.
  2. Phone Screens and Interviews
    • Prepare stories and examples showcasing problem-solving and communication skills.
    • Research and mention specific details about the company to show dedication.
  3. Onsite Interviews
    • Demonstrate problem-solving in real-time scenarios.
    • Continued emphasis on why you are passionate about joining their team.

Tools and Techniques

  • Open Source Contributions: Active participation in projects and communities like OS Labs.
  • Technical Blogging: Documenting engineering decisions and problem-solving approaches.
  • Scripts and Automation: Using tools like AppleScript, Google Script for small tasks to demonstrate engineering thought processes.
  • Utilizing AI Tools: Leveraging ChatGPT and others to automate routine tasks and enhance learning.

Final Reminders

  • Practice Explaining Engineering Choices: Build the ability to convey decisions behind the code.
  • Show Persistent Effort: Continuous small efforts lead to significant outcomes.
  • Engage and Network Regularly: Keep in touch with professionals and expand your network.

Questions and Further Advice

  • Best Places to Find Roles: LinkedIn, Indeed, Dice, AngelList (Wellfound).
  • Portfolios and Projects: Importance of detailing engineering decisions and problem-solving.
  • Non-Technical Experience: Value in demonstrating problem-solving through personal projects and everyday scripts.

Contact Information Provided: Encouragement to stay in touch via LinkedIn, Twitter, and email for further questions and networking.