I have been building software since 1984. Other than to my family, I owe everything I have today to the software industry, software engineers and the world of computers and technology.
Why Blogging
A few months ago I decided to start writing about my experience and what I've learned. I started a blog called CoderHood and I have been enjoying the process of thinking and organizing my thoughts in the form of posts. I also regularly cross-post some of my posts here on dev.to because it is a fantastic community in great alignment with my mission.
I tackle topics related to life in the software industry: technology, careers in tech, software development processes, engineering culture, and anything else that has to do with the people who build software and how they work.
My goal is not to make money on my blog. Blogging is far from an easy way to get rich. I have a fulfilling career with a fantastic company in the EdTech business, and I get to help kids learn math every day. How cool is that? That keeps me happy, fulfilled and financially stable.
The goal of my blog is to help engineers and other software technology workers to have successful and fulfilling careers. In other words, my goal is to give back to you.
Technology Changes Quickly, People Change Slowly
Things have changed dramatically in the software industry during the last 30+ years, and they will continue to evolve. One thing, however, hasn't changed very much: people.
Software engineers continuously switch the tools and technologies they use. However, developers are people, and people today are the same as they were decades ago. They get into coding because they have the same burning passion for technology, love for programming and they are on a mission to learn and improve every day. Some are flow-junkies, others are visionary thinkers; some are leaders and team builders, others like solitude and the comfort of a screen and a keyboard. All are passionate about solving problems and building working virtual pieces of machinery that we call software.
In 2050 technology will be completely different from what it is today. People, however, will be pretty much the same. People evolve slowly, while the context in which they operate shifts dramatically faster. It is a constant race. On on hand, technology zooms forward quickly. On the other hand, humans still need water, food, and shelter. In the middle --- that strange place between humans and software --- there is friction. Where there is friction, there is heat. Dealing with that heat is an art that takes time to master.
My hope is to help you with that art, sharing what I have learned in a lifetime of hard work and passion, and helping you not make some of the mistakes I made or saw others make.
My Growing List of Topics
I maintain a list of topics I want to explore. A few items on my list are:
- When is a software engineer no longer junior?
- Engineer personalities and programming paradigms. Object Oriented, vs. Functional, vs. Imperative
- The role of QA.
- Doers vs. Leaders.
- How to say "no".
- How to deal with rejection.
The list continues and grows every day. While I have no lack of self-generated ideas, I realized that this is MY list, and my blog is for YOU. So, it is time to ask you what you would like to see on that list.
Help me help you!
What topic, question, issue, concern or idea would you like to see tackled on CoderHood and here on dev.to?
Open call with no expiration date
Please leave a comment with your ideas, thoughts, and suggestions. Alternatively, you can email me using this contact form or get in touch with me on Twitter.
I am always listening and taking notes.
Top comments (11)
Thanks for your blog posts. They have been really useful reads. Your list of topics is definitely intriguing.
From what I understand, around late 2000's there was a lot of roar about Mobile Apps when smart phones started becoming mainstream and a good chunk of developers switched to learning Mobile App Development. Now there are billions of apps in market and just having a new app on the store doesn't take you anywhere. Ofcourse, there are problems still which can be solved using the apps or maybe solved better than the existing apps. However it is starting to become stagnant atleast from what I see.
With the rate at which data is being generated now, there looks like an increasing need to extract meaningful information from the data being collected. There seems to be a growing rise in interest in Data Science, Machine Learning and other AI related fields. Seeing the need, numerous universities have also opened new professional graduate programs that provide students with specialization in it.
Then there is blockchain. Every other day, there seems to be a new startup attempting to use blockchain technology to solve existing problems in better way.
I am inquisitive to know your thoughts on the topic that with this fast paced industry, along side the full time jobs, what is the best way "to evolve better and faster"? Not everyone wants / can afford to go back to schools full time. Then there are MOOC's which are helpful for sure. But even if one put in efforts to learn from MOOC's and develop projects, how to approach making the switch to the new field professionally.
Since you started writing software years before I was even born, you would have seen similar trends multiple times in the past. Eager to know your thoughts.
Trends change all the time. We are in the middle of the AR/VR trend now, and I expect AI to explode in the next few years. How to deal with these kinds of changes is an excellent topic, and a difficult one. I will definitely write about it!! Thank you!!!
Hi Lorenzo, not sure if you are interested in this, but I would love to hear more people speak about testing software.
In particular I am lately thinking a lot about testing of systems in a time that everyone want to build micro services.
We can write unit and integration tests to ensure that each service works, but what approaches do people take to ensure their system is working as a whole? How do you create tests that have to deal with potentially hundreds of separate services at once? Do people run automated tests for this or do they spend a lot on QA in a dedicated staging environment?
Ah, that is a very interesting topic indeed. I'll put it on the list.
Lorenzo,
You have amazing topics lined up. Eagerly waiting for them!!
Could you throw your thoughts about working in multi-culture environment (different ethnicity/age group) in terms of technical leadership/helping the team to migrate to new(stable) technologies/development practices.
People fear change, but sometimes change is necessary, unavoidable. How could one can help the team mitigate this fear.
Oh, yes. This is a topic of great interest to me. I have been very focused on gender equality in the last few months and did a bunch of work to understand the strange phenomena of gender discrimination in tech (it drives me crazy).
I will definitely write about multi-cultural environments as well. In my team, I have many different ethnicities.
Thank you for bringing up this important topic!!
Doers vs Leaders is a topic of interest to me. I have observed this difference as well. Having worked with doers, I know that I am not one. I get really drained by rote implementation of assigned tasks. I love to learn about how things work and relate to each other. It often follows that people come to me for tech guidance because I have done the research, or can work it out if given a little time. But when it comes to volume of tasks that get checked off the backlog, I usually compare unfavorably to doers, and am disappointed in myself for that. I'd love to hear your thoughts.
Cool, thank you!! It is an important topic. I actually believe that the Doer vs. Leader balance often shifts throughout somebody's career and over the years. I am definitely planning to blog about it.
Love the idea! Also interested in doers vs leaders. I'm not too convinced that there's much of a difference, but I understand that leadership is essential to progress. I still have some thoughts milling though that I can't quite put into words yet, so it'd be great to hear your thoughts.
I think of leadership as a career choice more than a necessity for progress. I also see technical leadership and people leadership as two different things. That is a very interesting topic that I will definitely tackle.
Thank you for chiming in!! I really appreciate it.
Hi Lorenzo,
Great initiative. Since we are taking suggestions, I'm curious to learn more about software security.
What approaches to take for securing our systems (keeping cloud service platforms in mind)? how to test our software's security?