I am a former software engineer and current software architect seeking a position related to community advocacy and urban planning. Currently, I am working on a project to promote public spaces https://createthirdplaces.org/.
I still enjoy coding, and hope to use software development as a tool for specific use cases. I am currently working on a decentralized Meetup alternative.
Here are things I consider when thinking about writing software. Often, the result is me deciding to not write software.
My software development goals
- All professional work is human generated without generative AI: Outside of researching generative AI capabilities, or explaining why generative AI is flawed, I do not use generative AI. On the other hand, I think task-specific AI with objectively defined inputs and outputs is useful. Also, manually creating work helps me incorporate user specific context and ensure a higher quality product. For more details about my view towards AI, see this page
- Minimize unnecessary complexity: I believe work should be created with a minimal set of dependencies, and the code should be organized in a modular way such that areas of complexity are isolated. For frontend web application development, I prefer using HTML, vanilla CSS, my internal JavaScript framework, and external dependencies for specific tasks such as syntax highlighting for code. Also, I will often recommend a website builder such as WordPress for static content.
- Promote human connection: I see human connection an an essential part of living a fulfilling life. Human connection also helps ensure that people aren’t left behind due to unfortunate circumstances. My favorite job was the one where I was a team facilitator in addition to being a software developer, since I was focused on working with others. As technology advances, I believe that human connection is going to be increasingly important to manage the effects and make sure everyone benefits. Also successful technology has to be created by humans working together.
- Get more people involved in software development: This is one of the reasons why I place a high value on simplicity in open source development. I want people without much coding experience to use my code as a learning example for their own sites, or modify it for their own use. Also, simplicity allows more people to have a voice in how software is developed. In the future, I hope to see more people creating small scale software for their own personal use or small communities. Often, this means stepping back from active software development and giving other people opportunities.
I consider the last two goals to be personal preferences, and not goals that should be followed for every software project.
For example, a monitoring system for a nuclear power plant needs to focus on reliably providing accurate information, and does not need to promote human connection. The code should also be securely stored on a private server, and making the code public is a major security risk.
How I start working on a project
When I’m starting to work on a project, I want to focus on the needs of the project and figuring out how to work with others.
If I’m joining an existing project, this means talking to other project members to understand the reasoning behind decisions that were made, and how they prefer to work. I’ll also want to talk to users or a project manager to understand the user problem the product is solving. When I start contributing changes or making suggestions,, I should understand the project well enough to know that my suggestions make sense.
If I’m going to be creating a new project, I’ll spend time talking to users and other people I’ll likely be working with. Afterwards, I will pick specific technologies to use.
My websites
- Websites for Create Third Places
- https://createthirdplaces.org/
- https://dmvboardgames.com/
- https://gatherspiel.com/
- Source code
- Create Third Places: https://codeberg.org/createthirdplaces
- Other source code: https://github.com/repos?q=owner%3A%40me
Contact Information
Email: bponnaluri@gmail.com
Resume