We’d like to introduce you to Justin Martinelli, one of our amazing software engineers. The purpose of this Role Spotlight interview is to give a window into what life is like as a Software Engineer at Artemis. Justin shares his experience of the hiring process, daily life in his role, and the culture of his product team at Artemis.
Why did you join Artemis?
Prior to joining Artemis, I volunteered at wildlife sanctuaries and botanical gardens, and was taking a class on sustainability. The class really changed my perspective and inspired me to make changes to live a more sustainable life. At the time, I had only ever worked at big corporations that weren’t focused on sustainability. I decided I wanted to work for a company that valued the environment, and I was particularly interested in how we can grow food more sustainably. I was excited to find Artemis because the mission really resonates with me; “We are determined to create a more profitable, more sustainable, traceable agricultural supply chain.”
What was the hiring process like? What did you like, what was missing?
After the initial screening call, I was given a task to create a game that had to do with growing plants. I had a few days to start it and then during my first technical interview, a paired coding interview, I was able to finish the game. Technical interviews can be really intimidating and high pressure, especially because you have to think on the spot. Being in a paired interview made me feel more comfortable because I could share my thought process with someone, describing how I approached coding. I also got to meet several members of the team – I was paired with three different engineers across three technical interviews.
It is unusual to have a paired coding interview. At other companies, the first few interviews are tests that drill you on basic computer science fundamentals. You may have 5-6 interviews that are tests, and then eventually they fly you out to white board an example of a problem and your explanation of what you’d do to solve it. At other companies, it’s all solo work. It doesn’t give you a sense of what the role will really be like, and it feels like a one-way process. Part of why I don’t think tests are an effective interviewing method is because in real life, you wouldn’t memorize a bunch of syntax and stick to that because it would so quickly get outdated. Rather, you’re always looking things up to learn the latest syntax. It’s much more important for a interview process to get a sense of how you approach problems and how you work together as a team, because those are the skills you’d actually use on the job. These are skills I use on a day-to-day basis at Artemis. Artemis’ interview process was actually enjoyable, and I felt really comfortable the whole time. By the last interview, I felt like the team understood how I think, and I felt like I had a good sense of what day to day life would be like at Artemis and what the role would entail.
What did you most want to know about when you were a prospective hire?
I really wanted to know if there would be a real work life balance at Artemis. There is a culture in the US which is all about work, and it’s not healthy physically or mentally. Artemis really does value work life balance. We have the flexibility to work out our schedules with our supervisor and we can adjust them when needed.
I also wanted to know if I would really feel valued. In the past I’ve worked at huge companies, and I always knew I was replaceable. At Artemis, you get to know everyone really well on a personal level. My team also works with me so I can learn the technology and develop an expertise on aspects of the architecture that I’m really interested in. Each individual has a growth opportunity and is clearly a valued member of the team.
Lastly, I wanted to work somewhere where I felt respected. During my interview process, I spoke with a female engineer who was initially nervous to enter a male-dominated industry where she wasn’t sure she’d feel valued or respected. It meant a lot to me that she shared her experiences during an interview, and then for her to assure me that she’s always felt respected and valued at Artemis. I love that we are encouraged to express our opinions, to learn, and to ask questions during our team calls and weekly 1:1 meetings with our managers. We even have quarterly 1:1 meetings with our CEO which gives us the opportunity to raise our opinions to the top. A lot of companies talk about respect as a core value, but they don’t do the work of actually enforcing it. At Artemis, our core values really do guide how we work.
What does a typical day look like?
My day typically starts with finishing any leftover tasks from the day before, whether it’s working on a new feature or a bug. If I was pairing with someone the day before and we didn’t finish our work, I’ll pick up pairing with them the next morning. We also have team meetings in the mornings to discuss what we’re working on, what blockers we may be encountering, and to ask for help if we need it. The rest of the day is working on the projects and tasks we discussed during the morning meeting. Mondays and Fridays are more meeting heavy, when we scope projects and plan. Tuesdays through Thursdays tend to be when we have heads down coding time, and Fridays are days when we try to wrap projects up.
I spend a lot of time pairing with another engineer. We’ll both be on zoom together, looking at a problem together and working out how to fix it. Usually, one person is coding while the other is researching, verifying, guiding, and generally filling in any gaps. I even pair with non-engineers when I need expertise on design, UX, or customer workflow. Even though we are a fully remote team, I never feel lonely because I talk to and collaborate with my coworkers every day. If I was always coding alone, I know I’d feel isolated. I see a ton of value in paired coding.
What is an example of the types of projects you work on?
Most of our projects are related to creating or improving features to help clients improve how they manage their workflow and standard operating procedures in Artemis. We meet to scope out the goals of the project, timeline, etc. The product team is organized into teams that we call pods. Each pod is assigned a feature project to work on together, and each feature project has a team lead who delegates tasks, tracks work, organizes feedback and schedules meetings. Team leads are assigned on a rotating basis, so each member of the pod gets a chance to lead and no one is overburdened leading every time.
We also rotate what aspects of the platform we work on, both front end and back end, so each engineer has a well-rounded skillset. If we develop an interest or a certain competency, we also work with our supervisor to develop a specialty. It is a very accommodating team – for some people it makes sense to be generalists and others prefer to be specialists.
Outside of projects, I also spend time some time reviewing other’s code to make sure it’s readable, understandable, and won’t break anything in the platform. On a rotating basis, I will also be on call to work on fixing bugs.
What is your favorite part of your job?
I love when we finish a project because we see how all the hard work came together, and how everyone’s skills supported the project. I especially love to hear customers say they love the feature and that it’s exactly what they needed. Their excitement makes it all worth it.
What are the biggest challenges you face in this position?
For me, there are still certain aspects of the architecture that I don’t understand. In these cases, I have to ask for guidance or ask to pair with someone to work through a problem and learn the right skills.
What are the skills and experiences you feel are most important for this job?
There are a lot of soft skills that are important beyond the technical skills that you need in a software engineering job. You have to be disciplined when you’re working remotely. I find that the best way to increase productivity is to have a routine. You have to know when to work, but also when to take breaks so that you can clear your head and actually remain productive when you get back to work. You also have to be good at collaboration. At Artemis, you will be working with a lot of different people with diverse experiences and skillsets. Being open and adaptable when you’re pairing is key.
Can you tell me about your team?
The engineers and senior engineers are organized into smaller teams, or pods, that work on projects together. The pods get really close. My team is really fun to work with – people share what’s going on in their personal lives, we send a lot of memes on slack, and we’re all friends. The team is very diverse in terms of skill sets, demographics, and abilities. We all learn a lot from each other and blend really well together.
What core values do you most focus on at work?
Core values are values that we really truly live by. We embrace them and always recognize teammates that embody those values.
What’s different about working here than anywhere else you’ve worked?
My opinion is valued here. Each of us have a say in where we think the product is going and what is best for the team. I’ve worked at bigger companies where I felt like I could be replaced, and people weren’t investing in me as a person. Now I’m on a team that knows me and cares about my physical and mental health. We get a lot of vacation days and sick days to take care of ourselves.
The job description talked about mentorship, and we really do have true mentorship here. I have a weekly meeting with my supervisor where we talk about my goals, he gives me feedback and advice on how to better myself, as we think about the future of my career.
At Artemis, people will always hop on a call to help you work something out if you’re stuck. My boss said that one of the things that makes me successful in my role is that when I come across something that I don’t know how to solve, I reach out to people to help me figure out het solution, but I take it one step further and ask for feedback, so I learn how to handle the situation in the future.
What would you recommend for potential future Artemis employees?
Reach out to get to know people, and don’t be afraid to ask for help. When I first joined, a lot of people across the company messaged me to get to know me. Initially, I was on one pod and got to know that team really well. Then, I joined another pod and started working with a whole different set of people on a day-to-day basis. In the beginning, I only asked people in my own pod for help, but I should have felt comfortable asking people across the company because everyone is so kind and willing to help. Now because I know everyone’s personalities, roles, and strengths, I feel comfortable asking anyone. I wish I had reached out to more people in the beginning – I could have benefitted from the full spectrum of talent and e