As a software engineer, I must always be learning. The best way to learn is by asking the right questions and knowing how to find the right answers. I continue to master this art.
Following from my core ability to do expert research, I am largely self taught in software engineering. I have had wonderful teachers and mentors, but I pride myself on being able to pick up new skills on my own.
Engineers should be considered as the medium between the users and the tools that will enable them to best accomplish their goals. Thus, in order to best engineer those tools, I do my best to understand my users and their goals.
My first project, Tuurtle, was a social marketplace for students to buy and sell their belongings locally.
From there, I have gone on to develop more web apps and mobile apps with JS backends and frontends. I enjoy making MEAN stack web apps and MEAN mobile apps.
I learned Java primarily in school as it is the main language at my university.
Concurrency, Networking, Data Structures, Databases, Web Backends, Android. Those are among the areas of study I've focused on in my Java experience.
I've also written a book, Java for Humans, to teach beginners the basics of Java in a more enjoyable and human relatable manner. It's been read by thousands of people, from beginners to expert teachers, around the world.
I am a self taught Android developer. I have built many applications in Android including social networks, communication apps, and camera apps. Some of my Android apps were built specifically for Google Glass.
One of my larger apps is inTouch, which helps users stay in touch with those who matter most to them. I have since sold this app.
I have designed and developed many websites and web applications. Using plain HTML, CSS, JS as well as with Angular JS on top of the MEAN Stack. One of my favorite projects in this area is SMedian.