A few days ago I was contacted by HR to know if I wanted to participate in the Boys & Girls Day with some workshop or presentation about my daily job.
Boys & Girls Day is a project/event where 5th graders from different Hamburg schools can visit different companies to gather information about different types of careers that might help them choose their learning path in the future, and specifically with the intent of going beyond the idea of gender-specific jobs: therefore more Girls in Programming and more Boys in Kindergartens for example)
Of course, I was thrilled with the idea and I started thinking about how to handle that 30 minutes of Show & Tell + QA.
But there is a problem: My job is rather dull!
For a young kid really the opposite of exciting.
- I don't build planes
- I don't save lives
- I don't create art
I sit all day in front of a monitor, hunting bugs and getting mad at my or other's people code to implement things that can barely be seen like microservices or have no special graphical appeal such as react form components or data grids. And when I am not actively coding, I spend endless hours in meetings, often useless, boring, or frustrating, to discuss requirements, specifications, and technical details.
But I love it.
For me, it is rewarding and challenging. And since I completely switched career 16 years ago I never had a boring day!
Why do I love it? What does make it so special? How could I describe it so that people just don't think I am a socially awkward computer nerd?
Here are my reasons why Software Engineering is exciting:
- You build things
- You break things (and possibly then understand how they work)
- You fix things ( it is relieving and fulfilling and unfortunately it does not work so easily with people and the problems in society)
- You learn to break big problems into smaller, easier to accomplish, challenges (and this is really useful in life too)
- You solve problems (often it is not even a matter of technical skill rather, communication, critical thinking, asking questions)
- Every day is different, with different features, different bugs, different challenges, leave alone different tech stacks, libraries, and frameworks which change very fast and require us to stay up to date and refresh our skillset
Actually many people could find the last one their worst nightmare, but for me, avoiding boredom and doing something different, learning something new all the time makes me feel alive and enjoy my job.
I don't know yet how to phrase it in a way that could be attractive to a bunch of 10-12 years old boys and girls, but it is a good start.
These are my reasons, why do you love coding? Why did you start coding and keep on doing that?
Photo by Ian Schneider on Unsplash
Top comments (7)
I've always loved crafting but I found myself lacking a tool or two. In coding you basically can have everything needed at the tip of your fingers.
Also I enjoy the little riddles and brain teasers that come up in some projects/bugs
Making something out of nothing. Writing code and watching it come to life and actually "do stuff" is one of the most satisfying experiences! I tell my kids it's like building lego and they think it sounds amazing! (Plus they like the idea of working in their pyjamas in front of the TV)
It's a bit like a game. Like Minecraft, for example.
You can build things and try them out, build castles or even simulate computer chips. And after a while, when you know more, you can revisit those worlds you build and rebuild the same thing, only better, with a much more efficient use of lava. And that's satisfying, isn't it?
You can design things people will use more often than planes. You can build the app that lets people find their flight. You can build the call centre software. You can work on projects that improve safety in nuclear reactors1 or response times for ambulances2 or that helps scientists with their pandemic data.
You can solve problems. Solving problems is where it's at. It's like the best puzzle game, but you get to do it as a job. Sure, puzzles will leave you frustrated at times, but solving them is genuinely satisfying. You'll take the rest of the day off and sit in the sun with a cup of tea and put something in your timesheet about "internal admin"3.
While you can be proud of your work and show things off to other people, you can also get rid of the whole building and replace it if you're not happy with it. Try doing that as a bricklayer in real life!
And the people you work with, well most of the time you're in luck because they really love Minecraft too.
Unless you're using Windows. ↩
That's how the travelling salesman should have been pitched. ↩
This post does not reflect the opinions or standards of my company. All denials and condonings my own. ↩
Best definition ever!
There are lots of things that I love in my job. Here are a few
And more than that...
The meetings... Those I wish I could leave behind 😂
I love how natural it is to learn by doing, and by doing mistakes.
I love how I can start with writing some prototype, some first idea and just see what happens.
I love how you can create things from nothing.
I agree with the already listed reasons and I'd personally add the quick feedback loop as a reason why coding is my passion.
Effect of pretty much any written line of code can be tested on the fly to see how it affects the system as whole, which makes programming a very experimental and "playful" activity. By experimenting with and purposefuly breaking one's code one can build a deep intuition of how the system works and what can be done with it.
This act of playing with code also helps to reinforce non-programming knowledge, as one applies it to solve certain problems and when modeling certain aspects of life in one's code. So it sort of ends up giving education gamification for free.