About Juan
I am a full-time instructor of programming fundamentals, database analytics and web design & development courses at Portland Community College's beautiful Sylvania campus.
I have over
29 years of experience in tech as an educator, user experience and user interface designer and consultant. I have years of work experience in the corporate sector which includes designing web-based outage monitoring and process automation for Charter/Spectrum and just before joining PCC, working as the Community Manager and as a Technical Lead at Janrain (acquired by Akamai). I strive to bring my professional experience into the classroom to prepare students for careers outside of PCC, by providing real-world examples in my coursework.
Education
PCC Positions
Past Positions
Computer Applications & Web Technologies Instructor, 2014-2021
Computer Applications & Web Technologies SAC Co-Chair, 2017-2019
Philosophy of Teaching
As an instructor in a career and technical education program, my aim is to motivate students to become problem-solvers and life-long learners in tech.
I incorporate aspects of Case Method teaching in my courses. In short:
- Industry-standard concepts are broken down and explored, then implemented in an environment that encourages risk-taking and independent thought.
- Uncertainty in the learning environment is embraced. Our jobs are to make sense out of chaos.
- The opportunity to make mistakes and learn from them is key to learning how to navigate ones way out of problems. Therefore, I strive to get students thinking on their feet as soon as possible.
- Everyone works in a Case Method learning environment, including the instructor. Learning happens serendipitously while working and problem-solving.
Philosophy of Tech Education
- Software development is a trade, not a calling. Anyone who puts in the time and effort to become good at this can become so. There is no such thing as raw talent; you become talented through hard work and time.
- Trying very hard at something and failing at it should be celebrated as an opportunity to grow. People who don't fail some of the time aren't realizing their full potential... dust yourself off, fix the problem, then move on. It's more important to learn how to recover from mistakes (which will happen) as it is to just do things perfectly (which will never happen). This is how we learn to problem-solve.
- Networking is crucial to professional success. Networking is about creating and cultivating relationships. Networking is not about who you know; it's about who knows you.
- The end user is the final authority. The client is an important collaborator and pays the bills, but their influence ends there. It is necessary to pre-plan all projects with the end user in mind before writing even a single line of code. It takes a lot of work on the part of the designer/programmer to create systems that are intuitive to the end user.
- Unlearning bad habits and letting go of preconceived notions of how things must be done are both more important than picking up new skills.
Frequently Asked Questions
Q: What are your feelings on artificial intelligence and generative AI in the classroom?
A: It's hard to be brief here and also, the field is changing so quickly that it's hard to pin down sentiments, but I'll try.
First, it's important to understand that my department is career and technical education, which means that instead of preparing students for two more years of undergraduate work, we're preparing students for entry level positions in tech. In traditional academic work, generative AI can be considered a huge temptation for students to misrepresent their own learning (in other words, to cheat). Therefore, I'm more interested in helping students become productive than anything else and this certainly is what AI systems like ChatGPT accomplish, so there are some very specific instances in which I allow use of generative AI in some of my classes, under very strict guidelines that must be adhered to.
It's also important to understand that having access to generative AI isn't a comparative advantage for anyone, since everyone can get a ChatGPT account and write prompts to generate code. Our graduates will still have to compete for positions against other job candidates, many of whom will be their own hard-working fellow alums, who not only have access to those same generative AI tools, but they also are able to better utilize these tools because they have more foundational knowledge. Therefore, I lean more towards steering students away from generative AI and into building their own skills first, and then they can allow an AI to evaluate their original work for them. If it's used correctly and with integrity, ChatGPT is an outstanding personal tutor who is available 24/7. If it's abused, it's a dangerous crutch that will waste your time and money.
Long story short (too late): why would someone hire you to use ChatGPT, when they can do it themselves for free? Learn to do the fundamentals yourself so that you can multiply the productive power of generative AI, instead of being the superfluous and expensive middleman that will hold it back from its potential.
Q: What's the secret to becoming a great developer?
A: Create a project. Don't jump straight to code; plan out what success looks like first before you write any code at all, test your work a lot, keep working at it until you're satisfied its done. When that's done, do another project. Repeat this process constantly until you're so good at what you're doing, people want to pay you to do this for a living and you do it for 40+ hours per week and you become even greater at it. Then, pass on this secret "work hard at something to become more skilled at it" method to others.
Q: I see you use/don't use [random software] at PCC. Can we contact you regarding our amazing platform? Signed, Account Manager at [company].
A: I'd rather that you didn't do that. I'm not a decision maker and I assure you, if we're shopping for technologies, we'll have heard of your product and we'll call you. ;)
Q: How do I audit one of your courses?
A: PCC requires that all individuals auditing courses first apply to become a PCC student (why wait... start now!), and then register and pay for the course in question. In the first week of class, students then write to their instructor to let them know that they wish to take the course as an audit rather than as a letter grade. This is done for a variety of reasons, not the least of which is for the safety and the privacy of all the students (including audit students) in the course. Any requests I receive to circumvent this college requirement will be denied without exceptions, so please do not ask.
For anyone wishing to audit one of my courses which has prerequisite courses, write to me and we can discuss whether you have the skills necessary to receive an override.
Q: I got a prereq override! Does this mean I technically passed that course?
A: If you do receive an override of a prereq course, please understand that this is not the same as having received credit for the prerequisite course. If you do receive a prerequisite override and you decide later to complete a degree or certificate, you will most likely need to receive a course substitution to make up the credits or simply take that course to satisfy the requirements of the degree or certificate. Additionally, these overrides are at the discretion of that particular instructor, so if an instructor provides you with an override, there should be no expectation that a different instructor must honor the same override.