What I Learned After 20 Coffee Chats with Diverse Software Engineers
Advice from working developers for newbie coders
Table of contents
- 20 Coffee Chats
- The Basics
- 8 Questions for 20 Developers
- 1. What do you do for work currently?
- 2. What languages do you use for your job?
- 3. What made you want to be a developer? What was that path like?
- 4. What was your experience during boot camp, or learning to code on your own?
- 5. How long did it take you to get a job after you started to seriously apply?
- 6. What is your favorite thing about your current job?
- 7. What do you think are the top areas of need for developer jobs and the most innovative positions?
- 8. What is the best advice you'd give a newbie coder?
20 Coffee Chats
A few months ago, I was (and continue to be) knee-deep in learning the MERN stack. I was very focused on building projects using full-stack web development tools. One of my goals as I gained and shared knowledge by building in public, was to connect with individuals from marginalized communities. These included people we don't usually see very prominently at tech companies: people of color, women, non-binary individuals, and those who identify as LGBTQA+.
In my quest to reach this population, I did what I usually do when I want to share or ask questions to a large community of techies: I tweeted about it!
You can read the tweet and thread on twitter here
I was extremely surprised by the response. Many women, POC, nonbinary, and LGBTQA+ developers reached out offering to speak with me. Of those who reached out, around 25 scheduled a time to meet and 20 made it to the meeting. Below is the advice of these generous Software Engineers of varying backgrounds and experience. I also added some data about the industries they work in, their levels of experience, and the languages they use on the job.
I hope that this article gives women of color like me, and everyone else interested in learning about advice on this topic, a spark of inspiration.
The Basics
My goals for meeting with these diverse individuals in the tech field were to:
- Reach out to developers in underrepresented groups for support
- Gain insight on navigating the tech field and learning how to code as a newbie
- Make meaningful connections with like-minded individuals in the tech field
- Increase my network with individuals I respected and admired
Meeting times ranged from 30 minutes to 2 hours. The average time I spent with each person was 1 hour. Most scheduled 30-minute blocks but we ended up talking longer unless they had an appointment after. I was delightfully surprised at how enthusiastic, helpful, and encouraging everyone I spoke to was.
8 Questions for 20 Developers
Note: The numbers in the data collected may not add up to 20, because not all developers were asked the same questions
1. What do you do for work currently?
Job titles
- Jr Software Engineer (4)
- Software Engineer (5)
- System Engineer(1)
- Senior Software Engineer (5)
- Sr Cloud Engineer (1)
- Developer Relations (1)
- Developer Advocate(1)
- Accessibility Engineer (1)
Company type
- Mid-sized companies (5)
- University (3)
- Startups (1)
- FAANG (1)
- Agency (3)
Industries
- eCommerce (1)
- Software as a Service (7)
- Education (2)
- Government (2)
- Crypto/ Web 3 (1)
- Biotech (1)
- Automotive (1)
- Contract (1)
Countries
- The United States (16)
- Canada (2)
- Norway (1)
- Amsterdam (1)
- Sweden (1)
Notable companies
- NASA!
- Shopify
- GitHub
- Ford
- Microsoft
- NVIDIA
- Duke University
- Mailchimp
Experience Level
- Entry-level [1-2 years] (6)
- Mid-level [3-5 years] (6)
- Senior level [5+ year] (8)
Career Switched from:
- Teaching (3)
- Counseling (2)
- Psychologist (1)
- Physical Therapist (1)
2. What languages do you use for your job?
- Javascript(11)
- Java (3)
- Python(4)
- PHP (11)
- Golang (1)
- C ++ (1)
- C Sharp (1)
- Kotlin (1)
Frameworks: - React(8)
- Vue(1)
- Nodejs (5)
The takeaway here was that many of the SWEs began learning one language (most of them learned JavaScript). Over half of the interviewed developers got their first job working with a language they hadn't learned yet. They stressed focusing on learning to write good pseudo-code, which will allow you to easily learn other languages.
Advice: Do not become married to one language when learning. Know the fundamentals which will transfer into another language. You may get a job opportunity that requires you to learn and use more than one language.
3. What made you want to be a developer? What was that path like?
- Career changer, went to a boot camp (4)
- Career changer, went back to school (2)
- Self Taught (5)
- Traditional CS degree(4)
- Grad school CS degree (1)
Degrees Earned (of any kind): - Highschool (1)
- Bachelors (7)
- Masters (4)
Advice: After doing your research, just dive headfirst into the world of coding. Don't feel bad if money is your only motivator to learn, just know it takes a lot of work and commitment. Don't tell yourself you're going to start next month or next year. Start learning a little when you can, even if it is only 30 minutes on the weekday after work. Stick to one language until you learn it well before moving on to anything else. Commit to one path of learning, whether Coursera, Udemy, or a boot camp, and finish it (unless you'd like to get stuck in tutorial hell).
4. What was your experience during boot camp, or learning to code on your own?
Everyone found it pretty difficult due to the intensity of learning so much information in a compact amount of time. Many thought they wouldn't be able to make it through (but they did!). A lot cried (relatable). Two taught themselves with the help of google and mentors, finding the learning journey challenging in a fun way.
Advice: Create a detailed schedule on your learning path with a timeline and scheduled study time daily. Document your progress in a journal/ blog/ social media account. Build a community to hold you accountable while learning, with people on the same path. Join discord servers, Twitter communities, and find your people.
5. How long did it take you to get a job after you started to seriously apply?
- Offered a job by transferring within a company they were already working at (2)
- Within 3 months (5)
- Within 6 months (4)
- Within 1 year (2)
Advice: Build a project based on your passions that you can talk about during job interviews. Network, network, network. Be someone people want to work with (soft skills are better than technical skills for a lot of people doing the interviewing). Those who networked got their jobs the fastest.
6. What is your favorite thing about your current job?
- "Always solving new problems, always something new to do." -Charlotte, System Engineer
- "Automating things, making processes faster and teaching others how to do it." -Steve, Developer Relations
- “I really love that I can do something and then something happens, and if it doesn't happen then I just need to change it.” - Adrienne, Software Engineer
- "Tech is future-facing, you're always learning something new." -Karen, Software Engineer
- "Helping devs with projects or talking about what could be better." -Fred, Developer Relations
Advice: While you may or may not have the privilege of many choices as a newbie, take into consideration what you desire from a job. Gear your search towards those attributes when applying to positions.
When interviewing, use that time to also interview the company. A few of the devs I spoke to reached out to people who worked at the company they interviewed for to see what their experiences were before accepting job offers. On more than one occasion a dev was given the advice to "run" from the offer, which allowed them to find a job they really loved after.
Be mindful of red flags like:
- Job postings that state they're looking for someone ambitious, hardworking, and that can tackle more than 5+ areas with 6 different languages that require a whole team IRL
- 4+ rounds of technical interviews unless you're committed to the FAANG life
- Over glorification of "hustle culture" and high expectations of regularly going "above and beyond" aka you'll be working after hours and burn out quickly
- They can't clearly define the role or appear uninterested during the job interview
- Interviews where they give you a completely different description than the one they posted; "Oh yeah we are not actually offering work from home haha"
7. What do you think are the top areas of need for developer jobs and the most innovative positions?
- Data science (2)
- Augmented Reality (AR) and Virtual Reality (VR) (3)
- Artificial Intellegence (AI) (2)
- Medical-related tech (2)
- "The Cloud" (2)
- "Software testing is a lot cooler than people think it is"
- Frontend React
- Animation and graphics work
- Need for developers with a high amount of soft skills (leadership, empathy, teamwork, etc)
- Web 3 (this was the most controversial topic when brought up, with most devs reporting not being interested in the development of this area)
8. What is the best advice you'd give a newbie coder?
"Do not be afraid to break things, half of what I learned is because I was trying to figure out how to undo something I did. You learn more when you make mistakes, so keep making them."
-@CMaeMorrison Charlotte, System Engineer, Software Research Engineer"Make stuff before you know how to do it." - @artsycoder533 Natasha, Software Engineer
"Learn to fail and don't set limits on yourself or become your own bottleneck. Be passionately curious." - @jalonen_lauri Lauri, Sr Software Engineer
"We are not paid to know how to do something. We are paid to know how to figure out how to solve it." - @itsthatladydev Kedasha, Developer Advocate
"Be comfortable with walking from the computer without feeling like a failure. Take a break, everyone takes breaks even the most senior person." - @metalandcoffee_ Ebonie, Sotware Engineer
"There is a difference between doing the same thing 10 times and years' worth of information. If you find yourself in 2 years doing the same thing, run for the door. You should be a little bit uncomfortable." - @mrxinu Steve, Sr Cloud Engineer
"Shape your projects into a story arc that you care passionately about." -@ThatAdrienne Adrienne, Software Engineer
"Stop watching tutorials, read books instead, start thinking about a project and just start making it. If you don't know how to do something just google it and figure it out." - @hot_girl_spring Nanami, Backend Software Engineer
"Don't be afraid to copy and paste from stack overflow. Comment everything even if it's the most simple thing that you write." - @ReedCodes Reed, Sr Frontend Engineer
"If you learn how to read a map, even when the cities change, you can still learn your way." - @Sabrina Koumoin Sabrina, Jr Software Engineer
"The idea that you have to be smart, is not true. Stick with it even if you don't understand it. Stick to it and find different ways to learn. Who knows you and what you can do is very important. " - @KLCollins Karen, Software Engineer
"Try to focus on what makes sense for you and will find a job that will be interesting to you. Be aware of what's trending. Connect with people, network." - @fharpe Fred, Developer Relations
"Don't feel like you have to learn everything at once, there is just too much. It's okay if it takes you longer than other people." - @EmmaDawsonDev Emma, Accessibility Engineer
"Don't be afraid to dig into the documents. Contribute to open source or try to create an open source library." -Xavier, Sr Frontend Software Engineer
"Leverage your network. Try things that scare you with coding." -Kendra, Cloud Software Engineer
"Just start and do it regularly. Don't worry about how long it takes." - Hannah, Software Engineer
Special thanks to everyone who agreed to meet with me and allowed me to share their insights with others who may benefit from it. Please check them out on Twitter!
Interested in speaking with newbies about your experience? Got any advice you'd like to share for newbie coders? Leave them in the comments to save a life!