For Good First Issue is a curated list of open source projects that are also digital public goods and need the help of developers.
There are lots of resources to help you land your first tech job, from technical training to interview preparation. But once you’re in, it’s harder to find advice on navigating the industry and staying fulfilled, leaving many tech workers feeling stuck.
In fact, research published by TalentLMS and Workable found that in 2022, 72% of IT workers were considering leaving their jobs. Among the most common complaints was limited career progression (41%). Most (75%) said their organizations focus more on attracting new talent instead of investing in existing staff. Meanwhile, as technology occupies more of our time, it’s easy to fantasize about moving on to careers that involve less screen time.
Many of the industry’s most pressing issues need to be solved by organizational leaders—or by society as a whole. Yet, despite these issues, tech is a uniquely rewarding industry. Many roles allow, or even encourage, remote work and flexible schedules. Opportunities abound to create solutions that impact the lives of vast numbers of people.
The ReadME Project senior editor Klint Finley assembled a panel to talk about why they stay in tech, how they’ve advanced their careers, the value of mentors, and more.
Nick DeJesus is a full-stack developer with a background in React, React Native, and Jamstack architectures. He’s currently the CTO of Black Tech Pipeline and the maintainer of the use-shopping-cart library. He’s also a professional video game competitor and participates in Tekken tournaments around the world.
Diana Liang is a technical writer. Previously she was a software engineer at Homesite Insurance and, before that, a full-time registered nurse.
Nick: I’m part of this organization called Resilient Coders, which helps bring BIPOC people into tech jobs. So one of the reasons I want to stay is to help other people find their way into the industry and make it better for all of us. The community aspect is really important to me and it helps keep me motivated.
Besides that, I love being able to take my ideas and turn them into reality. I love being able to use my coding skills to provide value to people through my projects. And then, of course, there’s the financial stability that the technology industry provides.
Diana: Financial stability is the big thing for me. I made more money as an entry-level software engineer than I did in my previous career as a nurse. It would take several more years of working on the hospital floor to make the same salary. Tech is stressful, but it’s not the sort of mental and physical stress I experienced in healthcare. I don’t want to discourage people from pursuing careers in nursing, because helping people heal was more satisfying work. But technology is satisfying in its own ways, and I’m much happier with my personal life now. I also feel like I have more options in tech than I did in healthcare. There are many different roles besides coding. I made the transition from engineering to technical writing, which is a better fit for me. So if you’re feeling like leaving the industry, maybe you just need to change the type of work you do.
Justin: What keeps me here are the technical challenges. It’s like coming to work every day and there’s a Rubik’s Cube that you have to solve by the end of the day. Then, when you’re done, someone switches up the cube so the solution will be different tomorrow. No two days are alike. There are always new, cutting-edge challenges to keep you busy. There’s a real sense of achievement. I’m proud that I have a steady income and have reached a point in my life where I don’t have to worry about my bank account, but if you’re only chasing money you won’t be happy in this line of work.
Klint: Can you talk about a goal or milestone you’ve achieved in your career and how you were able to reach it?
Justin: My first career goal was to become a senior engineer within three or four years. I did that by finding opportunities that weren’t outlined for me. I looked around and saw things that could be done to improve the organization and asked the leadership team if I could work on those things. That showed them that I was interested in more than a paycheck: I was interested in advancing the company. It was a lot of work. I came in early and stayed late. I under-promised and over-delivered. What it came down to was showing initiative and not being afraid to ask for opportunities.
Nick: Skill-building outside of work has been the most helpful thing for growing my career. I started out working in IT support, but I wanted to move up, so I went to a coding bootcamp and built my first app. I compete in professional tournaments for the video game Tekken, so I created an app that helps people study the game. That app attracted 30,000 users and that success helped me make the transition from support to engineering. But the company I started at went through a lot of instability due to an acquisition, which made it hard to progress. Most of my career advancement—and this is true for many people in tech—came from changing companies rather than moving up within a company. Side projects like use-shopping-cart help me learn and demonstrate skills beyond the ones I use at work and have helped me advance my career.
Diana: I suppose my most significant milestone, besides getting my first software engineering job, was the transition to technical writing. After a year as a developer, I felt stuck. I wasn’t as comfortable coding as I wanted to be, I wasn’t advancing my skills fast enough. So I did some research on Google on other careers I could pursue given the level of experience I had. There were a lot of possible roles, including project manager, business analyst, scrum master, or technical writer. Of those, I thought technical writing was a good fit for how I work. I’ve always liked to write. I did some writing as part of my software development work and always enjoyed that more than coding. I reached out to a few people who had transitioned from coding to technical writing. They all took different paths, but they seemed happier, and that gave me the push to pursue it.
Klint: How do you plan for the next stages of your career? Do you have a five-year plan, or just play it by ear?
Diana: A year ago I couldn’t have imagined that I would be a technical writer today. I don’t have a plan for the next five years, but I would like to continue as a technical writer.
Nick: I don’t have a specific timeline, but I have some big-picture goals. I would love to build something that can sustain itself without me, whether that’s by being acquired or by me passing the torch to another maintainer. Besides that, I’d like to be able to focus on solving problems I care about. I feel like that is everyone’s dream, to just work on the things you care about and not have to consider finances, but that’s where I’d like to be.
Justin: I did have a very specific timeline for becoming a senior engineer, but now I try not to get caught up in that sort of thinking. Giving yourself arbitrary deadlines is a good way to set yourself up for disappointment and it can stop you from thinking bigger. I don’t want to be tethered to a timeline. I want to see what life can be like if I strive to be the best human possible, through acts of kindness and by honing my craft. I find that by doing things I’m passionate about, like organizing Render ATL, my goals become more clear.
Diana: It was essential for me to have a mentor. He gave me the push I needed. My mentor encouraged me to broaden my technical skills and deepen my knowledge, and that gave me more options in the field. Without him, I don’t know that I would have gotten the technical writing job. The interview wasn’t as hardcore as an interview for a software development role, but it’s still a technical interview and you need to demonstrate your knowledge.
Justin: I’ve had a lot of unofficial mentors—people I looked up to and who gave me good advice. I like to talk, and I’ve been told that people who talk a lot need to listen. If you are intentional about listening, then you can use the gift of gab to export what you’re learning from other people. So I don’t want to ever limit myself by having only one mentor. I learn from people of differing backgrounds, different genders, and different socioeconomic statuses. I think about where I would like to get to in my career and look for people who are already there. Then I follow them on social media and see if they have answers to my questions or know where to find the answers.
Nick: I’ve suffered from a lack of mentors in my career. It would have been constructive to have had someone in my corner when I was starting out. But like Justin, I talk to people I respect who have had successful careers and ask them questions. I interviewed at Netflix a few years ago, and even though I didn’t get the job, I still talk with the hiring manager. I wrote a blog post called “Don’t seek mentors, seek friends.” It’s much easier to ask people for help if they’re your friend.
Klint: One of the things I often hear from people thinking about leaving tech is that they want a job where they don’t have to look at a screen all day. It’s definitely something I struggle with myself. How do you manage your screen time?
Diana: I don’t manage it. Laughs. I’m not an outdoorsy person, and I like playing video games in my free time. I did get worried about how much time I was spending looking at screens when I worked as a software engineer because I spent a lot of time outside of work learning new skills. Combined with my leisure time playing video games, it really added up. Now that I’m a technical writer, I’m more likely to stop working at 5 o’clock, instead of staying up late learning React or something. And being remote, it’s easy to take a 15-minute break to walk around and stretch. There’s no pressure to sit around and look busy all the time.
Justin: I try to keep my average screen time on my iPhone under six hours daily, but I don’t worry too much about it. I think a lot of the worries about screen time are overblown. Our devices are how we connect with people. Since I own my own company, it is important that I am available to answer questions. That’s the reality of the highly connected world we’re in.
Nick: I am one with the screen. Laughs. I’ve been gaming since I was four-years-old, I like to imagine that I have more resilience than most people as far as that stuff goes. But there are periods when I don’t do any software development for months at a time. I’ll focus on writing for my blog instead of writing code. If I start feeling burned out I do minimize the screen time. No gaming, no coding. I’ll do things like go on hikes and eat with my family.
Nick: I think one clear warning sign that people ignore is when you start thinking about what you’d rather be doing instead of what you’re supposed to do. When my heart rate increases thinking about the things that I don’t want to do, that’s a red flag. When I feel overwhelmed I start taking things off my plate. I’ll prioritize things I absolutely have to do and deprioritize the things that are more or less optional.
Nick: I think I’d get into video production. I was a stand-in producer on a project once, and I think if I’d discovered production before software engineering I might have gone that route instead. It’s overwhelming and stressful, and there are so many things producers have to deal with that you can’t predict. But it’s also fun. There are many moving parts: the set, the camera crew, and on and on. You’re like a pilot trying to land them all safely. There’s a real sense of accomplishment when you finish a project.
Diana: I think I would try to do a 180 and do something to leverage my experience in both nursing and tech, but going back to nursing would be a last resort.
Justin: If I got out of tech, first I’d go on a trip around the world. Then I’d go live at the McMurdo research station in Antarctica and find some cool projects to work on there, to get myself closer to my childhood dream of living on every continent. Then I would focus on finding ways to give back. I think the highest level you can reach in life is to spend your time empowering people to reach their goals and be the best they can be.
The ReadME Project is a GitHub platform dedicated to highlighting the best from the open source software community—the people and tech behind projects you use every day. Sign up for a monthly newsletter to receive new stories, best practices and opinions developed for The ReadME Project, as well as great listens and reads from around the community.