The things that surprised me in my first tech project
I thought the hardest part of a software project was the technology. Spoiler: it's not. When I started my first tech project, I didn't have a clear picture in mind, but I had an expectation: client states requirement x, project manager creates concept, developers write code, there are a few alignments in between, and everything works in the end. Sounds logical, right? Reality was similar, yet different. Here are the things that really surprised me.
1. Communication isn't part of the project, it's the main part
I never thought how much time goes into conversations.
Meetings, alignments, follow-up questions, explanations, clearing up misunderstandings. And then all over again. The legend of the silent developer who just sits in front of screens all day coding in solitude doesn't work in reality. Communication skills are also an important trait of every developer, because the real challenge is rarely the code, but ensuring that everyone is talking about the same thing and that both the non-tech part of the team and the client can be brought along in digital decisions.
2. Requirements aren't fixed rules
I went in with the expectation:
At the beginning, what will be built is defined, and then it's implemented.
In reality, requirements constantly change.
- New insights emerge
- Users behave differently than expected
- Priorities shift
- New possibilities through technology updates
A good project adapts and doesn't follow a strict agenda.
3. "Done" is a very flexible term
I thought: done is done.
In the project, I learned that "done" can have many meanings:
- Technically complete
- Internally tested
- Ready for the client
- Live, but not yet final
And sometimes something is "done"... and gets changed again the next day, or it seamlessly transitions into a new project, since there's usually always something that can still be optimized or built on top.
4. Meetings are more important than I thought
Before I worked in an office, I also believed that meetings were just a way to waste time together.
But meetings aren't just "status updates". They're the place where:
- Decisions are made
- Misunderstandings become visible
- Everyone gets back on the same page
Bad meetings waste time. Good meetings with clear communication save an incredible amount of it.
5. The most difficult problems are rarely technical
This was probably my biggest surprise.
The biggest challenges weren't:
- Bugs
- Code
- Tools
But rather:
- Unclear requirements
- Different expectations
- Missing context
- Communication between different perspectives
Technical problems can usually be solved (quickly).
Human and organizational ones are the ones that really cost time.
6. Future of software projects
It's crazy to observe how quickly AI is changing the work of developers, and with each new version, improvements occur that not long ago would have been considered unrealistic.
AI is increasingly taking over the "boring" coding, which means developers must increasingly step into the roles of communicators, organizers, and decision-makers.
Conclusion
A software project isn't just writing and testing code.
It's an interplay of people, communication, decisions, and yes, technology too, all constantly influencing each other.
If one of these doesn't work, even the best technology won't help.
)
)
)
)
)
)
)
)