3 Key Things to Consider When Choosing a Software Engineering Job

No, it’s not the salary.

Madé Lapuerta
4 min readOct 14, 2021
Source: Fernando Hernandez via Unsplash

After graduating college (COVID class of 2020!), I quickly moved to New York City and began working full-time in software engineering. Choosing a post-graduate job was not an easy decision for me, and I was quick to consult my peers, mentors and, of course, mom, for advice.

When considering your options, it’s easy to get caught in the tech-buzzword world of high-salaries, stock packages, and cool-office commodities (see: Microsoft’s tree houses). However, software engineering is a field that can offer you so much more than just a really good salary, or playground-like office, if you know what to look for.

Today, now one year into my job, I’m glad I prioritized certain factors over others. Allow me to share my hard-earned, totally-un-biased wisdom with you all.

Here’s my (non-exhaustive) list of elements you should consider when contemplating software job offers; factors I wish more people in engineering talked about.

The More Out-of-your-Comfort-Zone, the Better

Many engineering roles, from big-tech companies to new startups, will hire you for a specific function; e.g. mobile app development, UX/UI design, full-stack web dev….and so on.

While focusing on your best skill set is certainly not a fault, it is important to consider whether a job will offer—no, guarantee—you the opportunity to learn or perform other coding tasks as well.

This time last year, I was working on full-stack web development project, coding in React/JavaScript. Today, I’m performing data analysis for AB tests, coding in Python (NumPy/MatPlotLib). Did I learn either of these skills in college? Nope.

If you can code in one language, you can likely pick up another fairly quickly, and you should. Don’t be afraid of, or think you’re unqualified for, jobs which demand you code in several different languages. Instead, urge yourself to gravitate towards them.

As a software engineer, you should always be learning on the job. If you’re not hitting the Google search bar with debugging questions at least a couple of times a day, well, you’re either an absolute genius, or remaining too deeply inside your coding-comfort-zone.

The more technical skills you pick up, the greater your opportunities will be—both within and outside of your company.

Talking to People

Emphasizing a job’s culture is not a new, breakthrough piece of advice. However, software engineering in particular is often an introverted, silo-d job, that requires very little interaction with other, real-live people (see: Amazon allowing tech employees to work remotely, indefinitely).

Ensuring that your engineering role is within a collaboratively-working team, or client-facing, or requires some sort of discussion and presentation of work in meetings is, in my opinion, crucial.

Not to mention, a silos culture in engineering has led to a multitude of grand, technical failures. See: Boeing’s 737-MAX failures, or the crash of the Mars Climate Orbiter — both instances where miscommunications between engineers lead to (literally) fatal outcomes.

Building collaborative and communication skills is not often prioritized in engineering, though is essential for both your personal and professional development. The better you can work with others, share and present your work, and effectively manage people, the better engineer you’ll be.

That’s right, I said it—being a good coder requires a more than just being a good coder. Gasp!

So, next time you receive a SWE offer, think beyond the tech stack itself and towards the people.

Geographical Mobility

My senior year of college, I interviewed for a full-time, post-graduate software engineering job at a large, successful technology company. The biggest catch, in my opinion? It had offices in solely one, US city: Los Angeles.

This was a huge decision-making—or decision-breaking—factor for me. The ability to move to different offices or locations worldwide is a huge asset for a company many prospective software engineers often don’t consider.

Currently, I work for a company with offices across over 50 countries. What does this mean? Well, last year, after graduating from college, I lived in New York City. Today, I live in Paris.

That’s right—I’m able to live out my Emily-in-Paris dreams, live in a new country, experience a new culture, and eat croissants every morning without judgement, all while doing the same job.

If you dream of living abroad, or discovering new places, or, perhaps, one day your spouse, or your parents, consider moving cities and you’d like to tag along—you won’t have to sacrifice your career to do so.

Geographical mobility, in my opinion, is a huge factor to consider when interviewing, and one that will pay dividends—in both life experience and flexibility—down the line.

Who knows—maybe, this time next year, you’ll find me in a different country altogether. Thanks, software engineering!

I’m a NYC-based software engineer, currently living and working in Paris. Read more of my writing here, or check out my book, ‘The Little Book of Big Fashion Data”.

--

--

Madé Lapuerta

Big nerd writing about the intersection between technology & fashion. Spanish/Cuban turned New Yorker. Founder & Editor at Dashion: medium.com/dashion.