What are the most important qualities for a developer?
Like a tasty recipe, it is the combination of the various elements that ensures a coherent resulting product. There are however, those parts which the whole cannot go without.
In this regard, uprightness, trustworthiness, and rectitude of conduct ensure that the individual's work can truly benefits the lives of others. Focusing the mind on a single point, the ability to break things down and make meaningful abstractions, and the power of reflection allow for innovations, solutions and discovery. Humility, consultation, kindness and enthusiasm in dealing with others produce collaborations which can have exponentially more powerful results.
How do you plan a project?
Start with some questions. For example:
- What is the user's goal? What is the creator or owner's goal?
- What are the seperate steps? (asking this recursively gives us access to different levels of abstraction of the object under study)
- What tools already exist to acheive a given step?
- Which is a better solution?
- How long would it take to learn how to use?
- What are some necessary requirements for success? This could be, how much would it need to make to be profitable? How many users would have to contribute for it to become useful?
- How long do I think it would take?
What motivates you to develop software?
I want to produce results that benefit myself and others. I want to excercise my talents, and I want to learn and do enough to be able to make a contribution to the ongoing discourse and to the field itself.
What tools do you use? Why did you choose them?
There are so many great tools! Here are a few I have been enjoying recently:
Vscodium: VScode is great, I prefer it over atom, largely because I am not trying to hack my text editor at the moment. 😆 Closed source telemetry, not so great. Vscodium makes gives us the great work from microsoft and access to the many great community plugins without the commitment to unknown telemetry.
Firefox: Powerful dev tools. Powerful browser. Mozilla's lofty Manifesto pledge aligns well with my own beliefs.
The UX Collective: A great collection of articles, artwork, guidelines and tools for the field of User Experience. They recently put together a great guide full of rich resources! I think the insight gained in this field is treasure for developers and most any other work really.
superProductivity: Now this is a gem! I was looking all over for a tool to time my work, giving me as much data with as little effort as possible. All I found was subscribe to this and sync that. Really, I'm just looking for a good timer with a long history. superProductivity is exactly what I was looking for. Input tasks with as little clicks as possible. Track work as off hands as possible. Output as much data as possible. Try it out, really.
BoostNote: This is a great markdown tool for organizing notes. It helps me make sure I am actually accumulating knowledge and tools and not just going through it, creating a record of process and discovery as I go from project to project.
Inkscape: I use Inkscape for turning my drawings into SVGs right now. It's a great tool so far as I can tell and I will be delving deeper into it soon.
Procreate Pocket: I absolutely love Procreate, I do alot of my drawings from my phone on Procreate pocket. Such an intuitive and smooth interface, allows me to get right into the drawing and stay there, despite switching brushers, layers, and paints.
Vectornator: Recently I did a good bit of work in Vectornator recently and really enjoyed it. The Svg's were quick to draw and web optimized.
MacSvg: Great tool for drawing and animating SVGs. Well designed and powerful. Free and Open source.
What do you do when you aren't coding?
I have three children, raising and educating them is one of my central goals, most important endeavors, and greatest responsibilities. It's a joy. Super difficult too. Wouldn't trade it for anything.
I also spend anytime outside of contributing to family life and work trying to establish the institute process in my neighborhood. The training institute seeks to raise capacity within populations to respond to their own exigincies. Making the world a better place for all of us, is going to require work and an ever growing number of collaborators.
The time we have in this world is short and fleeting, it is then even more important that our time is spent concerned with the needs of others, and not caught up in our own selves.