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
- Current Job Market for Software Engineers
- Challenges and opportunities in hiring trends.
- Notable hirings at major companies like Google.
- Steps to Become a Great Software Engineer
- Skills and qualities needed: versatility, problem-solving, technical communication.
- Importance of being a full-stack engineer.
- 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.
- 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
- Problem-Solving Skills
- Ability to tackle new and unseen problems using varied tools and approaches.
- Technical Communication
- Convey complex ideas clearly to different stakeholders: teammates, business leads, users, etc.
- Understanding of Software Engineering Principles
- Thorough understanding of design patterns, best practices, and the principles behind code execution.
- Adaptability and Growth Mindset
- Willingness to continuously learn and adapt to new tools and frameworks.
- 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
- Resume and First Impressions
- Clear signal of problem-solving capability and technical communication.
- Specific, detailed examples of engineering challenges tackled.
- 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.
- 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.