I Love My Nerdy Job

2024 05 03 head

I am a computer science engineer. I love to solve problems and provide cool solutions to users [1].

I love my software development job. I am already sixty years old. I started programming before I was 20.

And I still tremendously love developing digital products and writing software applications.

My passion is tinkering with source code to have a maintainable and efficient solution. I love to work with other developers and to coach them to become better software engineers. Some of the products I developed last millennium are still in use today.

I love technology and work to improve live quality for humanity [1].

I love to develop software applications and see how it helps customers [2].

Characterized by great enthusiasm for and knowledge about a particular subject, especially one of specialist or niche interest.

— Definition of Nerdy

I am so grateful for GPS navigation and precise maps on my mobile telephone. I never had to print any route to a new customer or to my holiday hostel in the last two decades. The mobile app guides me effortless to my destination. This is measurable progress for millions of people. And it saves trees and ink because nobody prints maps anymore.

Software Engineer

I found out the only drawback of my job in Switzerland is the age discrimination. It is challenging to get hired as a software developer when you are older than fifty years. I am now sixty years old. The Swiss companies are bigot and prefer to hire young people.

I seldom encounter active developers my age in the companies I work for. Managers think that older developers are not productive anymore.

Surprisingly, I easily found jobs as an independent contractor. So I founded an agile technical boutique tangly in 2015. We are quite successful since then.

I love designing and writing software using modern approaches [2, 3, 4, 5].

My preferred technology stacks are modern Java and modular monolith applications. I thrive with domain-driven design approaches and clean architecture. The available technical stacks and libraries are so powerful. I can develop complex applications in a fraction of the time it took me twenty years ago. My productivity is much higher than it was in the last millennium.

I use the Java technical stack for almost all my development activities. I mostly develop internal and management applications. Vaadin is my preferred technology for writing user interface. I wrote all the user interface code in plain Java for modern browser based solutions.

Teacher and Coach

I regularly complain that quite a few software developers are not well-trained. Often they are not aware of the latest software engineering practices and idioms of their preferred programming language.

I have therefore to actively initiate a change. I love to teach students at technical universities and coach software engineers

Teaching is a beautiful and rewarding activity. But it is sometimes frustrating. I am living in Switzerland and the education system is not the finest for technical education. It is a country with neither a STEM strategy at federal nor state education level. We are exceedingly missing young people with training in science, technology, engineering, and mathematics.

I also regularly hold workshops and training sessions for software developers.

I found it incredibly rewarding to observe talented developers grasping advanced software engineering concepts [6]. Ideally, these coachees are someday better than I am.

Entrepreneur

A professional software engineer considers various aspects when developing a digital product [7, 8, 9, 10].

  • The functional requirements to ensure that you build the right product. Talk with your customers and understand their needs.

  • The non-functional requirements to ensure that you build the product right. Performance, security, reliability, and maintainability are essential.

  • Corporate governance, legal, social and ethical constraint to ensure that you build a good product. A professional software engineer considers the impact of the product on society and the environment [11]. He has a sense of responsibility and ethics. Legal constraints are not a hindrance but a challenge to overcome.

  • Financial considerations to ensure that you create a sellable product. Software developers often underestimate or ignore The financial aspects.

I thrive in the entrepreneurial aspects of financial and legal constraints necessary for a successful product [12].

References

[1] R. L. Glass, Facts and Fallacies of Software Engineering. Addison-Wesley Professional, 2002 [Online]. Available: https://www.amazon.com/dp/0321117425

[2] E. Evans, Domain-driven design. Addison-Wesley, 2004 [Online]. Available: https://www.amazon.com/dp/0321125215

[3] N. Ford, R. Parsons, and P. Kua, Building Evolutionary Architectures: Automated Software Governance, Second. O’Reilly Media, 2023 [Online]. Available: https://www.amazon.com/dp/B0BN4T1P27

[4] M. C. Feathers, Working Effectively with Legacy Code. Prentice Hall, 2004 [Online]. Available: https://www.amazon.com/dp/0131177052

[5] M. Fowler, Refactoring, Second. Addision-Wesley, 2018 [Online]. Available: https://www.amazon.com/dp/0134757599

[6] D. Farley, Modern Software Engineering. Pearson Education, Limited, 2022 [Online]. Available: https://www.amazon.com/dp/B09GG6XKS4

[7] G. Kim, The Phoenix Project a novel about IT, DevOps, and helping your business win. IT Revolution Press [Online]. Available: https://www.amazon.com/dp/0988262592

[8] G. Kim, The Unicorn Project. IT Revolution Press [Online]. Available: https://www.amazon.com/dp/1942788762

[9] E. Ries, The Lean Startup. Crown Business, 2011 [Online]. Available: https://www.amazon.com/dp/0307887898

[10] N. Wasserman, The founder’s dilemmas anticipating and avoiding the pitfalls that can sink a startup. Princeton University Press, 2012 [Online]. Available: https://www.amazon.com/dp/0691149135

[11] G. J. Siedel, The Three Pillar Model for Business Decisions. Van Rye Publishing, LLC [Online]. Available: https://www.amazon.com/dp/0997056606

[12] M. E. Gerber, Awakening the Entrepreneur Within. Collins, 2008 [Online]. Available: https://www.amazon.com/dp/0061568147


1. I can buy all my public transportation tickets with my mobile phone. Or I can just swipe my phone and ride the bus or train. The application will track my movements and select the cheapest ticket for the commute. These features improve my quality of life.
2. My preferred technology stack is the Java ecosystem. The numerous open source libraries tremendously simplify the creation of complex products.