Something I love about the software engineering profession nowadays is that the type of work and organisations available is very broad. Software engineers of our generation are able to explore many different paths, industries and types of products. From growing start-ups to large-scale mature organisations, from hierarchical process-driven to flat ones typically requiring more autonomy, and everything in between, the opportunities are endless.
I always believed that working with different types of organisations is beneficial for our career, as it gives exposure to multiple ways of running teams and building software. Depending on the business needs, structure, and culture of an organisation, the processes and prioritisation can differ significantly.
From a more personal viewpoint, I always had an aspiration to have a positive impact on the world. Joining a non-profit organisation and using my skills for a good cause was something I have been thinking of from my early professional days.
It wasn’t straightforward to imagine, however, the kind of work I could do combining my skillset with my passion for communities. So when I got the opportunity to join the ChangeX team as a Software Engineer, to help grow their social impact platform, it felt like a great fit that would allow me to put my dream into action. Building a platform that empowers sustainability, social inclusion and education projects while learning more about the social entrepreneurship world? I’m sold.
Having worked at ChangeX for twelve weeks now, I noticed that the list of things that were different in my day-to-day life grew quickly. Here are some of my first observations and learnings on how it feels to work as a Software Engineer for a non-for-profit start-up organisation.
I love the new level of autonomy & breadth of responsibility.
The most obvious change for me was the breadth of work and the level of autonomy. Generally speaking, the larger the organisation and the product is, the more specialised an individuals’ work needs to be. In a smaller organisation, where all team members can fit around one table, and especially when the software product is not the main product, needs might vary wildly. A lot of the automation or process challenges might not be solved yet, and this can be an excellent opportunity for creativity.
Ownership is naturally high as well, as there is no technical problem that is not a problem you effectively own. In my first couple of weeks, I went from doing database upgrades or assessing tools we use, to building a new impact dashboard and investigating issues in our funding infrastructure. Continuous Integration builds are suddenly failing? A teammate is blocked because of some slow functionality? Some security alert fired? These could be some examples of tasks that I needed to give attention to.
This allowed me to have growth and impact quite fast, even in areas without much previous exposure. How did I know that I can achieve growth and deliver results? I couldn’t always, but this is the magic of working with start-ups. I needed to be resilient and fearless to take on new challenges and deal with setbacks with an open mind, some humour, and a desire to learn. Lean into my teammates for support when needed, and regain the motivation to keep going.
The impact of my work is always right in front of me.
As a software engineer, it’s not uncommon to lose sight of your work impact, especially if you don’t get much exposure to customers. In more complex environments, linking back revenue or user experience to an individual’s work is a hard problem. Being part of a small team made the impact of my day to day work quite evident, as my tasks would simplify my direct teammates’ workflows. The excitement of me building something new was even greater when I shared my progress with them.
Developing a product where one of the main goals is to measure social impact also contributes to this feeling. For example, we have daily Slack notifications to notify us about the progress of the projects, like a Community Fridge in El Mirage, or the starting of a new Men’s Shed in Donegal, Ireland.
Those can boost my motivation even on the lowest energy day. I found it very inspiring to see what technology can empower — improving people’s lives in parts of the world I had never heard of before.
We tackle an exciting combination of technology & social problems.
When the software application you build is essentially an enabler for the main product, in this case, social innovations, the focus is always clear: technology should assist humans and make their life better. It becomes the medium, rather than the main goal. With the ChangeX platform, I loved seeing how solutions are spread across the globe with technology. The challenges that come with it are quite interesting as well. Most of the innovations are non-technology driven, like school gardens, or Welcome Dinners, but there is a need to model and visualise their outcomes with technology. We have to account for different types of cultural backgrounds to expand to different areas. In some cases, we need to think more about how to reach the local population. And as a fund management platform, what about fraud detection? This blend of technology and social problems to solve forms an exciting combination.
We have lightweight remote-first processes.
With team members distributed between Ireland, the United States, the Netherlands and Spain, and a distributed product team as well, processes have to be remote-first and lightweight. This was a new work model for me, which I was eager to explore. So far, my impression is that it enables a lot of focus time and quality meetings. Maybe some downsides are that you don’t get the opportunity to spend as much time with your team members, or cannot so easily pair on a task ad-hoc. However, with regular check-ins, and support from other team members when blocked or during incidents, feeling like part of a team was never an issue.
We need to be smart about resources & priorities.
Working with a non-profit organisation often comes with limited resources, that need to be distributed wisely. In terms of the team capacity, prioritising what to build next based on the impact at the current stage of the business is a crucial and ongoing process. Aligning the team behind this vision to keep everyone focused on the right thing is also critical for the best utilisation of our time.
As for financial resources, we have to ensure the sustainability of our costs. For example, in larger organisations, requesting a new piece of software to experiment with is usually a trivial process and a negligible cost. In start-up environments, we need to be more pragmatic, which essentially means two things:
- We aim to purchase new tools only when they are proven to add value.
- We have to be able to articulate in technical and non-technical ways why this is beneficial for the organisation.
We can also be creative about finding alternatives, which links back to the direct business impact of our efforts.
The opportunities for exposure are endless.
In a small team, the boundaries between different principles are often blurry. Hence, it’s common to get exposure to things that you won’t see in larger organisations. For example, I had the chance to learn about the fundamentals of running business operations or accessing funding through our bi-weekly team meetings, where we share work and strategy related updates.
I appreciated the work of my teammates in different roles more when I saw the impact on our goals first-hand. I learned about the challenges they face and built not only empathy but also an interest in different roles and objectives. I used their input to make product decisions and thought about solutions to collectively achieve better results. In larger environments with more levels of hierarchy, this information is harder to reach.
Managing energy levels across the team is essential.
Finally, working with start-ups inevitably has its ups and downs. There will be good and bad days, and the team members might experience those differently. Paying some attention to how your teammates feel, and whether they need that extra energy boost can make a big difference for everyone. After all, this makes for the best teams, where people support each other throughout the way.
By the way: We’ll be hiring a front-end developer soon. Get in touch if you are interested in the role.