What I Learned from 10 Coffee Chats with Software Engineers
Advice for Code Newbies from Experienced Developers in the Field
Table of contents
- 8 Questions for 10 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?
In my quest to dive deeper into learning about the Software Engineering field, I reached out to some friends I knew who graduated from a full-stack web development boot camp. I also reached out to everyone I knew in the tech field IRL. This included devs on Twitter who were offering their time to chat over the past few months.
My goals for meeting with individuals in the tech field were to:
- Reach out to developers in underrepresented groups (women, BIPOC, LGBTQ) for support
- Gain insight on navigating the tech field and learning how to code as a newbie
- Explore my own network of friends and family to see who was currently working in tech
- Make meaningful connections with like-minded (or other minded) individuals in the tech field
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.
I had a little over 10 coffee chats, but 10 developers are represented in the below data. There are some questions in which only 7 developers were asked, which is reflected in the numbers provided. Below are my
8 Questions for 10 Developers
1. What do you do for work currently?
The job titles ranged from
- Senior Software Engineering Manager (2)
- Senior Software Engineer (2)
- Software Engineer (4)
- Developer Relations (1)
- Developer Advocate(1)
- Product Owner (1)
Company type
- Mid-sized tech companies (5)
- Startups (4)
- FAANG (1)
Industries
- Social media (1)
- Health tech (2)
- Contracting (2)
- eCommerce (2)
- Software as a Service (3)
Experience Level
- Entry-level [1-2 years] (2)
- Mid-level [3-5 years] (5)
- Senior level [5+ year] (3)
All but one worked with writing code daily as part of their jobs.
2. What languages do you use for your job?
- Javascript(5)
- Java (2)
- Swift (1)
- Ruby on Rails (1)
- PHP + Python(1)
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?
- Early career changers interested in coding who went to a web dev boot camp (2)
- Late career changers that were unsatisfied/ ready for a change with their job, enjoyed tech, and went to an SWE boot camp (3)
- Enjoyed tinkering with tech and solved technical problems in an unrelated role, promoted into a technical role internally, and learned to code on the job (2)
- Went to school for electrical engineering, worked for a few years and didn't enjoy it, switched over to software engineering via a boot camp (1)
Advice: After doing your research, just dive headfirst into the world of coding. 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 that be 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 few had to start, stop and start again. 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 before graduating boot camp (2)
- Offered a job by transferring within a company they were already working at (2)
- Within 6 months (2)
- Within 1 year (1)
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?
- Problem-solving and building logic
- Working with developers to support their needs
- Building things and breaking things
- The flexibility to work from home
- Casual atmosphere and upward mobility
- The perks and pay
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 overstate multiple times 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?
- Updating/ converting old legacy code to modern programming language
- Need for developers with a high amount of soft skills (leadership, empathy, team work, etc)
- Web 3 (this was the most controversial topic when brought up)
- QA (as a foot in the door because "older devs don't want to do it")
- Developer relations
- Ethical Artificial Intelligence
- Building API's
8. What is the best advice you'd give a newbie coder?
"Don't get caught up in mentorship, find a community. Work on projects you love. Don't be afraid to fail. Try to solve the problem first, then ask questions." - @stephondoestech, Software Engineering Manager
"Be prepared to be ok with not knowing everything" - @codergirlchan , Senior Software Engineer
"Get involved in your local tech community, join meetups and make connections" - @SteveChenDC, Software Engineer, DevRel
"Learn through repetition. Programming requires you to look for solutions. Instead of getting stuck on not knowing how to do something, overcome the mental hurdle and start building the logic to solve the problem." - @zwhitfielddev, Software Engineer
"Only compare yourself to yourself. Are you making progress? Don't compete. Also, CSS is hell even for experienced programmers, don't feel bad for finding it hard." - Ben, Backend Software Engineer
"Find what you are good at, what you really like to do, what drives you. Think about whether you want to work on innovation/ road-mapping ideas/ advocating for others/ the business side, etc, and create a step-by-step plan of action to learn what’s needed for that area." - Leighton, Product Owner
" Take breaks, honor your body, and don't push yourself to learn quickly. Let things marinate." - @sainaadiradev, Software Engineer
"KEEP GOING! YOU BELONG IN TECH! YOU ARE ENOUGH! YOU BRING HELLA NECESSARY SKILLS TO THE TABLE! IT’S OK TO MAKE MISTAKES! IT’S OK TO ASK FOR HELP!" - @elliedelaluna, Software Engineer, Developer Advocate
Special thanks to everyone who agreed to meet with me and allowed me to share their insights with others who may benefit from it. 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!