Currently, I'm not happy working as a programmer.

I really love the job, I've done coding and software development as a hobby since I was 14, maybe 15 years old, because it was always my dream to do this kind of thing.

After I've finished my apprenticeship as a java ee / android dev 2 1/2 years ago, I continued to work for the same company who hired me as an apprentice in the first place. After that, I decided that I need a "change of scenery" and to explore the big world of professional software development.

The second company, which I currently work for since a year now, is however somewhat very different.
I've started my career with an already existing business project (imagine your typical java enterprise project here -> rdbms + application server + java rich client), supporting it, making the clients happy with _everything_ they want.

It was in a really bad condition (architecture, software design, ui design of the main application, the client was fed up with), but it was doable, so I decided to make a change. I started developing a new client, with modern design and a cross plattform approach, and everyone loved it, I got great response from everyone and the project even got a stockup of developers from 2 to 6 - just because of my work and the resulting interest of the client (= more money++ for my company for a project which was theoretically thought dead). Everything was great.

The last 3-4 month however were terrible.
I learned enough about this project to understand of what hell im into now: the client hasn't the slightest idea of what this project is doing anyways. The team leader had no experience in leading teams or even projects, because he was actually an architect which has done a solo job on this project for 4-5-6 years now.

After all, the project was developed because the client's company had money. But this is a different story, however...

The feature requests of the client were getting more and more, the time to accomplish goals was getting less and less. There wasn't even time anymore to test things, (I know, testing - haha, but this company is pretty well known in the world of testing and test-consulting, every other project there is heavily tested for example), or to get rid of technical dept. - every accomplished jira task was just a patch of code and hopes, pushed into the project git, hoping that everything will work - but of course, if you changed something, everything fell down like theres no tomorrow.

I just couldn't work like this anymore, I've tried it several times to talk with my boss or my project lead to get rid of, or at least, minimize the impact of technical dept on this project, because it was the main problem which consumed most of the time AND budget, when solving features for the client. After the "critical path" of this project, and 2 happy clients, we had a sit in with the whole team, including the team leader, and my boss.

We talked about everything, what went good, what went wrong, how to improve ourselfs and how to manage clients in order to prevent something like this the next time and I was really, really happy with it.

As the time went by, the project lead was taking a break because of way to many additional workhours, I was fine with it. It was just one month to go until new year, and after that, I thought, everything will be fine - of course it wasn't.

The workload doubled in this month, no team lead, just me and my coworkers who had just half of an idea of this _great_great_ project. Anyways, we've made it. Everything the client wished for was done and even more, they were happy.

As my vacation began and the new year started, I fell into a deep depressive hole. Me and my project lead were so terrible burned out, that after 3 weeks of vacation, I needed another 3 weeks just to get into real life again. Today is my last free day of this 6 week timeout and I hope that I've got enough power and endurance to get back on track.

I've learned a lot about company politics in the last year, how to handle clients, new coworkers, bosses and a lot of do's and dont's on enterprise java development. But I've also learned alot about the "darkside" of software development.

I love the craftmenship and all the clever thoughts and every single person I've worked with - but if you start a career in that industry or a new job be aware, that money is the only thing that counts at the end of the day. So be grateful if you're getting paid to play with the newest technology or just try stuff out.

P.S. - Sorry for the long personal post and the horrible spelling, english is not my native language. I feel better.