I keep finding myself back here.
Burnt out. Exhausted. Watching time pass while trying to convince myself that I am making progress. I recover enough to start moving again, find something to work towards, build something, learn something, and slowly begin to believe that perhaps this time I can get somewhere.
Then it happens again.
I don’t know how many times I can repeat this cycle before it starts to feel like my entire life has become one long exercise in recovering from the last attempt at living it.
Tha mi ann am pian mòr.
I am in great pain. Not physically, but in the sense that being here, in this position, over and over again, is wearing me down. I can explain my circumstances, list the things I have done, and point towards the things I still want to do. None of that necessarily makes the feeling any easier to live with.
Always catching up
I’ve felt behind for most of my life.
It started early. I spent the first five years of my life in speech therapy, learning to speak my own native language. I struggled to walk properly. At primary school, I was excluded from foreign-language classes.
Then came the years of trying to get through qualifications that seemed to take me longer than they took other people. It took me five extra years to get my Maths GCSE. English took another two years beyond the expected time. After that, I spent three years completing my IT BTEC, graduating in June.
There is a particular kind of exhaustion that comes from having to work so hard simply to reach milestones that other people appear to pass without thinking about them. Every achievement matters, but every achievement also seems to arrive with the reminder that I am late.
I know that people take different paths. I know that comparing myself with others is not necessarily useful. But knowing something intellectually doesn’t make it stop hurting.
When you’ve spent so much of your life catching up, it becomes difficult to stop measuring yourself against where you think you should be.
There is always another milestone. Another qualification. Another skill. Another thing that everyone else seems to have figured out already.
And now I’m twenty-one, and I feel as though I’m still trying to get to the starting line.
The problem with being behind
I don’t think the problem is that I lack interests, ambition, or things I want to do.
I build things. I learn things. I write software. I experiment with programming languages, systems, compilers, and ideas that interest me. I have projects that take real time and effort to develop, and I keep returning to them because I care about making them work.
I’ve taught myself Spanish to around A2. My Scottish Gaelic is around A2 and approaching B1. My French is around B1, largely through GCSE study. These aren’t necessarily enormous accomplishments in the grand scheme of things, but they are evidence that I can learn independently and persist with something over time.
The difficulty is turning that effort into the kind of life I want.
I want to work in software development. I want to become more independent. I want to be able to go places, meet people, make decisions about my future, and feel as though my life is moving somewhere.
Instead, I often feel trapped between what I can do and what I can actually access.
I can make software, but I can’t get the professional experience employers demand. I can learn independently, but I can’t always tell whether that learning is taking me closer to a job. I can spend hours building something, but that doesn’t necessarily translate into an opportunity, an income, or a greater degree of independence.
There is a gap between being capable of doing things and being able to make a life out of doing them. I keep trying to cross it, and I keep finding myself on the same side.
And there is another complication that makes the gap harder to cross: my physical circumstances limit the choices available to me in the first place.
The options I actually have
People talk about finding work, trying something different, going somewhere new, or changing direction as though these things are equally available to everyone.
They aren’t.
My physical limitations affect how independently I can get around. I can’t drive, and I can’t leave town without assistance. Those aren’t incidental details about my life. They shape what I can realistically do, where I can go, and which opportunities I can pursue without depending on someone else.
I can’t simply decide to attend something in another town, travel to an unfamiliar workplace, or take a job that requires me to be physically present somewhere inaccessible to me. Even when an opportunity looks promising on paper, the practicalities can make it impossible.
That has consequences for my career, but it also affects my life more generally. Independence isn’t just a matter of wanting to be independent badly enough. It requires access to the means of doing things for yourself.
I want to be able to make plans without having to work out whether I can get there. I want to be able to pursue opportunities without every journey becoming another problem to solve. I want to have more control over my own time and the direction of my life.
Instead, I have to account for limitations that other people may not even think about.
This is part of why software development matters so much to me. It is something I genuinely want to do, but it is also a field in which I can build useful things from my computer and potentially find work that doesn’t require me to be physically present at a particular location every day.
Remote work isn’t guaranteed, and software development isn’t free of barriers. Finding a remote position is competitive, and employers still have requirements around experience, communication, availability, and qualifications. Working from home doesn’t automatically solve every problem associated with disability or limited mobility.
But it offers possibilities that some other paths don’t.
I am not pursuing software development in a vacuum, with an unlimited selection of equally accessible careers waiting in reserve. My circumstances shape the decision. They make this path both an ambition and a practical route towards the independence I want.
That means I can’t treat abandoning it as a simple matter of trying something else.
And now my friends are at university
A lot of my friends are at university now.
I find myself thinking about that more than I would like to admit. They are studying, meeting people, and moving through an experience that I chose not to pursue. Even when I know that university isn’t necessarily easy or that everyone there is having a good time, the fact remains that they are doing something with their lives that looks like a recognisable next step.
Meanwhile, I’m at home, trying to work out what my next step is supposed to be.
It makes me question my decision not to go.
Should I have studied computer science? Should I have chosen software development or cybersecurity? Would having a degree make it easier to get through the filters that seem to keep me out of the industry? Would I have met people who could have helped me find opportunities? Would I feel less stuck if I had followed the route that so many other people seem to be following?
I don’t know.
I know plenty of people who have gone to university and are struggling to find work, too. A degree is not a guarantee of employment, and I don’t want to pretend that university would have magically fixed everything. It might have left me with debt, a qualification, and many of the same problems I have now.
But that doesn’t stop me wondering whether I made the wrong choice.
Sometimes it feels as though whichever route I take, I find myself looking at the road I didn’t choose and wondering whether it would have been easier.
There is another layer to that uncertainty. University would have meant more than choosing a subject. It would have meant figuring out whether I could access the place, the course, the social life, and the opportunities surrounding it within the constraints of my physical circumstances.
I can’t know how that would have worked out. I can only imagine the possibilities, both good and bad, and wonder whether I might have found something there that I am struggling to find where I am now.
University isn’t exactly a straightforward answer
Even when I hear about my friends’ experiences, I struggle to work out whether I have genuinely missed out.
One of my friends studies psychology, and some of the experiences they’ve described sound remarkably close to things that were taught at GCSE level. They’ve also told me about questionable experiences with professors. I don’t mean that to dismiss their degree or suggest that I know better than someone studying the subject. I simply don’t have enough information to know what the overall experience is like, and the details I’ve heard don’t make university seem like an obvious answer to everything.
There are undoubtedly courses, lecturers, and institutions that offer excellent opportunities. There are also people who finish degrees and discover that the employment market hasn’t improved as much as they hoped.
I’m on the fence.
Part of me wonders whether I should have gone. Another part wonders whether I would have spent several years studying something I could have pursued independently, only to end up competing for the same jobs afterwards.
What bothers me most is that I can’t go back and test the alternative. I have to make decisions with the information I have, then live with the possibility that another decision might have worked out better.
When you’re already worried about falling behind, uncertainty has a way of turning every choice into a potential mistake.
And when your options are already constrained by your circumstances, it can feel as though there is even less room to make a wrong choice. I don’t have the luxury of assuming that every route is equally practical, or that I can always change direction later without consequences.
The evidence is sitting on GitHub
One of the things that makes my situation so frustrating is that I can point to work I’ve actually done.
My GitHub profile is ewanc26. It contains projects that I’ve spent time designing, implementing, debugging, and extending. They aren’t all finished, and I don’t claim that every project is production-ready. Some are experiments; others are ongoing attempts to solve problems that interest me.
But they are real work.
I’ve developed Wolfram, a C23 SDK for AT Protocol. I’ve worked on Cobalt, a native Bluesky client for the Nintendo Wii U, and Indigo, a Bluesky client for the Nintendo 3DS.
Those projects involve working with APIs, platform-specific constraints, and software environments that aren’t necessarily the easiest places to develop for. They require more than simply following a tutorial and copying its output.
I’ve also worked on Plainspeak, a programming language built around prose-like syntax, with a C++20 compiler frontend.
Then there are projects that don’t fit neatly into one category. Esoterica is a constructed-language generator written in Rust, with features involving phonology, morphology, sound changes, and orthography. MathMusic explores a digital audio workstation based on mathematical curves. Isolith is an isometric 3D platformer.
I maintain a collection of tools, too, including software for working with music listening histories and visualising them. I’ve also developed an AT Protocol MCP server and published a TID-generation package.
I don’t list these things because I think a long list of repositories automatically makes someone a good developer. It doesn’t. Code can be messy, projects can be incomplete, and there is always more to learn.
I list them because they demonstrate something that I struggle to communicate when describing my situation: I am not waiting around for someone to teach me how to write software. I already write software.
I have things to improve. I have gaps in my knowledge. I make mistakes and have to fix them. That is true of developers generally, not just people who haven’t yet managed to get a job.
What I find difficult to accept is that none of this necessarily counts for enough.
I build systems, not just isolated demos
A repository can make a project look deceptively simple. You see a README, a few screenshots, perhaps a list of features. You don’t necessarily see the time spent investigating an API, figuring out an unfamiliar platform, tracking down a bug, or changing an implementation because the original approach turned out to be wrong.
Software development is full of those invisible hours.
Working on a native client for an older console is not the same as building a generic web application with a well-documented framework. Writing a compiler frontend involves thinking about language design, parsing, and how source code becomes something a machine can execute. Building tools for music listening histories means dealing with real data, external services, rate limits, and the awkward edge cases that emerge when people use software in ways you didn’t initially anticipate.
I have had to work through those problems.
I’ve implemented features, investigated issues, and revisited code when the first solution wasn’t sufficient. I’ve had to deal with the difference between a feature appearing to work and actually handling the conditions it needs to support.
None of that means my work is beyond criticism. It shouldn’t be. Criticism is part of development, and I still have plenty to learn from people with more experience.
But it does mean that I have practical experience doing the work itself, even if I haven’t yet secured the employment that would let me call it professional experience.
That distinction feels increasingly absurd when I try to explain it.
Other developers have used my work, too
My projects haven’t existed entirely in isolation.
My TID package has been adopted by Multi-Scrobbler, which replaced its own TID-generation implementation with the package. That is a concrete instance of another project relying on something I made.
Cobalt has also been included in the community repository for the Wii U Homebrew App Store. That means it has a distribution route beyond my own GitHub page.
With Malachite, part of my tools collection, I’ve dealt with users importing large music-listening histories, hitting service rate limits, reporting issues, and asking for additional functionality. I’ve worked on improvements in response, including configurable publishing rates and better handling of large histories in related tools.
These are ordinary parts of maintaining software. They involve listening to reports, understanding what has gone wrong, and making changes that address the actual problem rather than just the first symptom.
I don’t want to exaggerate what this evidence proves. Adoption isn’t the same as widespread success, and a handful of interactions isn’t the same as a large community of users. Third-party listings aren’t independent reviews, either.
But these are still examples of my work reaching beyond my own machine. Other projects have used something I’ve built. People have interacted with my software, reported problems, and asked for changes.
I wish I could make that count for more when looking for work.
I even build programming languages
One of the things I keep returning to is programming-language design.
I’ve been working on Numlang and Sigi, esoteric programming languages with C++20 compiler implementations in progress that emit C. I’ve also worked on Plainspeak, which takes a different approach to the relationship between programming syntax and ordinary prose.
These projects are not all complete, and I don’t want to pretend otherwise. Compiler development is a substantial undertaking, and there are plenty of details that need careful design and implementation before a language can be considered mature.
Still, I find the work interesting enough to keep doing it.
I like thinking about how languages express ideas, how their syntax shapes the way a programmer approaches a problem, and how an implementation translates those ideas into something executable. I like exploring what happens when you deliberately depart from familiar conventions.
This is the sort of thing I do because I want to understand it, not because I expect every project to turn into a job application advantage.
That is part of what makes the current situation difficult. I have interests that can sustain me for hours, and I have the ability to make tangible progress on them. Yet the existence of that work doesn’t resolve the larger problem of what I’m supposed to do with my life.
I can build a compiler and still have no idea how to get an employer to take a chance on me.
I keep learning anyway
I continue to learn because I don’t know what else to do with the desire to improve.
Languages are one example. Software projects are another. There is always something I can investigate, some concept I can explore, or some feature I can attempt to implement.
But learning can become an uncomfortable refuge when it is the only area in which progress feels possible.
I can tell myself that I’m improving my skills. I can start another project, read another document, or spend an afternoon solving a problem. Those things are worthwhile in themselves, and I don’t want to dismiss them.
At the same time, I sometimes wonder whether I am using learning to postpone the more frightening question of what happens if all this effort doesn’t lead where I want it to go.
How long am I supposed to keep preparing?
How much more do I need to learn before I am allowed to begin?
And if I am already doing the work, what exactly is it that I am still waiting for?
Tha mi ann am pian mòr.
The experience paradox
I want to become a software developer professionally, but employers want experience.
I understand why. Hiring someone is a risk. Employers want evidence that a candidate can work in a team, maintain code, deal with deadlines, communicate clearly, and contribute to a real product. A collection of personal projects cannot demonstrate every aspect of a professional working environment.
I don’t expect a GitHub profile to answer every question an employer might have about me.
But there is a difference between acknowledging that professional experience matters and treating a lack of employment history as though it means there is no evidence of ability at all.
I need an opportunity to gain the experience employers want. To get that opportunity, I need to demonstrate that I already have enough experience to be worth hiring.
I keep running into that circular requirement.
I apply. I look at what is being asked of me. I try to work out what I could improve. I keep building things. Then I look at the next opportunity and wonder whether any of it will be enough.
I don’t know how to break the loop.
I don’t want to abandon software development. I am dead set on doing this. I don’t see my projects as a hobby that I might eventually replace with a different career. This is the work I want to do.
But I need to be honest about why giving up feels so difficult to contemplate.
It isn’t just that I enjoy programming or that I have invested a great deal of time in it. My physical circumstances make the alternatives harder to access. Software development offers a potential route towards work and independence that fits some of the practical constraints I live with. I cannot assume that another career would be as accessible, or that changing direction would be straightforward.
I am not choosing between a career I like and an endless list of equally feasible alternatives. I am trying to find a way to build a life within the options I actually have.
That makes the experience paradox feel even more suffocating. I need a job to gain professional experience, but I need a viable route into employment to gain the independence that would give me more choices in the first place.
In a sense, I already am a software developer. I write software, design systems, implement features, and debug problems. What I don’t have is the job, the salary, the professional environment, or the experience that employers recognise as professional experience.
I am unemployed and professionally stuck, not waiting for the desire to start.
That distinction matters to me, even if it doesn’t always seem to matter to the people making hiring decisions.
Two metres
At the moment, my world often feels as though it has shrunk to the distance between my bed and my desk.
Roughly two metres.
I move between the two. I spend time at my computer, working on projects or trying to learn something. I rest, then try to start again. Sometimes I can get absorbed in what I’m doing. Sometimes even the things I care about feel difficult to approach.
I am not literally doing nothing with my days. I build things. I think about things. I learn. There are things I have made that I am proud of, even if I struggle to feel proud of myself.
But there is so much outside that small space that I want to be able to access.
I want to work. I want to earn money. I want to be more independent. I can’t drive, and I can’t leave town without assistance. Those limitations make a difference to the opportunities available to me and to how easily I can make plans for myself.
I want to feel like a twenty-one-year-old man living his own life. Instead, I often feel as though I am waiting for permission to begin one.
I know that being twenty-one doesn’t mean everyone should have the same circumstances. I know there is no universal schedule for becoming independent. But I also know what I want, and I know that I haven’t found a way to reach it yet.
There is a peculiar loneliness in having things you want to do and being unable to make them happen at the pace you need.
And there is a peculiar frustration in being told, implicitly or explicitly, that you should be making progress when so much of your effort is already going towards trying to create the conditions in which progress becomes possible.
When I think about the distance between my bed and my desk, I don’t just think about how much time I spend at home. I think about how much of my world depends on access I don’t always have: transport, assistance, opportunities, and the ability to get somewhere without having to organise half a day around it.
The distance is small. The limitations it represents are not.
Burnout, again
Burnout isn’t always one dramatic collapse.
Sometimes it is a gradual loss of the ability to keep doing what you have been doing. You can still care about the things you care about. You can still want the future you have been working towards. You can still understand what needs to happen next.
You simply find that you have less and less available to give it.
Then you stop for a while, recover enough to try again, and discover that the underlying circumstances haven’t changed.
The work is still there. The uncertainty is still there. The job applications are still there. The distance between what you can do and what you can access is still there.
So you begin again.
I don’t know whether I am getting better at recovering from burnout or merely becoming more familiar with it. I don’t know whether the periods of recovery are getting shorter, whether I am learning to recognise the warning signs, or whether I am simply becoming accustomed to the cycle.
What I do know is that it is exhausting to keep rebuilding the capacity to pursue a life that still feels out of reach.
There is no single obstacle I can point to and say that removing it would solve everything. There are several, and they interact with one another. Employment affects independence. Independence affects access to opportunities. Lack of professional experience affects employment. Physical limitations constrain the routes available to me. Burnout affects how much energy I have available to keep trying.
I can understand the cycle perfectly well and still be unable to stop it.
There is a particular frustration in knowing that I need rest while also feeling that I cannot afford to lose more time. Resting can feel like falling further behind, even when carrying on without rest is what makes the next collapse more likely.
I end up caught between two fears: that I will wear myself down by continuing, and that I will never get anywhere if I stop.
Neither fear gives me a clear way forward.
Tha mi ann am pian mòr.
The boulder keeps coming back
I think about Sisyphus sometimes.
The boulder has to be pushed uphill. The work is difficult, but it is at least understandable: push, struggle, make progress, get closer to the top.
Then the boulder rolls back down, and the work begins again.
That is what this has started to feel like.
I put effort into getting somewhere. I make progress, sometimes meaningful progress. I build things that work. I learn skills I didn’t have before. I find ways to solve problems that once seemed beyond me.
Then I return to the same questions.
How do I get a job? How do I gain professional experience without already having it? How do I become more independent when my physical circumstances limit the ways I can pursue opportunities? How do I stop feeling that every year is passing without enough changing?
The boulder is never permanently at the top. There is always another application, another rejection, another problem to solve, another thing I need to do before I can move on.
I know that this is not an exact comparison. My life is not a Greek myth, and there is no reason to assume that the future must repeat the past. Things can change. Opportunities can appear. Work can lead somewhere unexpected.
But when you’ve been caught in a recurring pattern for long enough, it becomes difficult to trust that the next attempt will be different.
The hardest part is not always pushing the boulder. It is remembering what it felt like to believe that this time you might get it to stay.
And it is harder still when the boulder is not just the work itself, but all the circumstances surrounding it. I can make another project, improve my portfolio, learn a new skill, or apply for another position. I cannot make my physical limitations disappear through effort alone. I cannot force employers to give me a chance. I cannot make the world more accessible simply by being determined.
Some of the obstacles are mine to work on. Others are not mine to solve by myself.
Yet I am the one who has to live with the combined result.
My body is yew and I am being hollowed
Yew is a tree associated with longevity. It can live for an extraordinary length of time. Its wood has its own particular character, and the tree carries associations with endurance, death, and the passage of time.
It is also the tree my name comes from, as most of you may know from reading this blog.
I keep thinking about that: the idea of something that endures, and the difference between enduring and being untouched by what you endure.
I don’t feel untouched.
I feel worn down by the repetition, by the time passing, by the effort of trying to build a future while feeling unable to reach it. I keep standing up and trying again, but that doesn’t mean nothing is being lost along the way.
I can be persistent and exhausted at the same time. I can keep working and still feel as though the work is hollowing me out.
Perhaps that is what makes this so difficult to explain. From the outside, persistence can look like resilience. Continuing to build things can look like proof that everything is fine enough to carry on. Being able to describe the problem can look like being in control of it.
None of those things tells the whole story.
I don’t want to turn endurance into a virtue simply because I have had to endure. I don’t want to pretend that struggling for long enough makes the struggle meaningful by itself.
I want things to change. I want the effort to lead somewhere. I want to experience a life that is more than trying to recover enough energy to keep pursuing one.
And I want to be able to say that without having to prove, in the same breath, that I am still productive.
There is something particularly uncomfortable about the connection between my name and the tree. Yew can stand for longevity, but longevity alone does not tell you what it costs something to keep standing. A tree can endure for centuries; that doesn’t mean endurance is the only thing worth saying about it.
I don’t want my life to become a demonstration of how much I can withstand. I don’t want to be defined by my ability to keep going through circumstances that wear me down.
I want to live, not merely endure.
I’m frightened of time passing
There is a word for the fear of growing old: gerascophobia.
I don’t know whether it describes everything I feel, but I recognise something of myself in the fear behind it.
I am twenty-one. I know that is young. I know I have time ahead of me, and I know that many people don’t find their footing until much later in life.
But I am frightened by the possibility of looking back and realising that years have passed while I have remained stuck in the same circumstances.
I am frightened of reaching twenty-five, thirty, or older and still trying to solve the same problems. I am frightened of watching my friends move through different stages of their lives while I keep trying to get to the one I thought I would already have reached.
I am frightened that I will spend so much time preparing for life that I won’t feel as though I have lived it.
This isn’t because I think there is something inherently wrong with being unemployed at twenty-one, or with taking longer to achieve things. It is because I want a particular kind of life, and I am struggling to see how I get there from here.
Time passing is inevitable. The fear comes from feeling that I have so little control over what happens while it passes.
I can make plans. I can work on projects. I can apply for jobs and keep learning. I can try to be patient with myself.
I cannot guarantee that these things will produce the outcome I want, or tell myself exactly how long I will have to wait.
And the usual reassurances about having plenty of time don’t always help. Time is not an unlimited resource simply because I am young. I have spent years working through difficulties that other people seemed to pass more quickly, and I cannot pretend that the time those years took means nothing to me.
I don’t need to believe that my life is over at twenty-one to be frightened of reaching twenty-five and discovering that the same barriers are still there.
I want to look back and see that something changed. I want to feel that I have gained some ground, that the work has led to something tangible, that I have more freedom than I did before.
I don’t know how to make that happen on a schedule, and that uncertainty is difficult to live with.
I don’t know how to stop repeating myself
I keep coming back to the same place.
I get tired. I recover. I start again. I build something. I learn something. I try to find work. I question my decisions. I look at the time that has passed and wonder whether I should be further along.
Then I do it all again.
I don’t want this to be a story about how adversity made me stronger, because I don’t know whether that is what has happened. I don’t want to turn it into a motivational lesson about persistence, because persistence is not the same thing as getting somewhere. And I don’t want to pretend that I have found the answer simply because I can describe the problem.
I am still trying to become a software developer professionally. I am still trying to find a way towards greater independence. I am still making things, still learning, and still trying to understand how to turn all that effort into a life that feels like mine.
I don’t know whether the next attempt will be different.
I don’t know whether I should have gone to university, whether the right opportunity is around the corner, or how much longer I will spend trying to get out of this position.
I know that I am tired of being here. I know that I want more than this. And I know that wanting more, working towards more, and actually getting more are three very different things.
I also know that my circumstances cannot be reduced to a problem of attitude. I can be ambitious and still face physical barriers. I can be capable and still lack access. I can work hard and still need other people to help me get places. I can be committed to a career and still struggle to enter it.
Those things are not contradictions, even if they sometimes feel as though they ought to be.
I don’t have a neat conclusion. I don’t have a triumphant announcement about finally getting somewhere, and I don’t have a lesson that makes all of this worthwhile in retrospect.
For now, I keep returning to the work, and I keep trying to find a way forward.
Again.
And again.
And again.
And again.
Comments
Checking AT Protocol sign-in…
No comments yet
Be the first to share your thoughts on this post.