Jeremiah Flaga My thoughts and experiences on programming, life, atbp.

Resumé

Profile Image

Jeremiah Flaga


Email: flaga.jeremiah@gmail.com
Skype: jboyflaga
Mobile: +63918 374 5134
Blog: jeremiahflaga.github.io

Technical Knowledge

Architecture:

Clean Architecture model through Uncle Bob Martin's blog posts and talks, and through some sample projects I found online

Also have knowledge on some design patterns such as MVP, Decorator, Strategy, Factory

Also, a little knowledge on some DDD concepts

Software Development Principles and Practices:

SOLID, DRY, YAGNI

I also believe in Agile Software Development practices such as collective ownership of the code base, code review (even pair programming and mob programming), discarding practices that does not work in a particular team and retaining those that work, and others you might want me to believe in that works in software development.

I also believe that TDD can greatly help us make software that is easy to change.

Basic Computer Science Concepts:

Learned CS through free materials of Stanford's CS106B last 2012, and through MIT OpenCourseWare 6.0001 this 2017

I also have a copy of the book Computer Science Distilled of Wladston Filho

I also completed the first part of the "Nand to Tetris" course

Databases:

I took Introduction to Databases" from Stanford OpenEdX Online last 2014 (I might have already forgotten some of the things I learned from that course, most especially the theory part of relational databases, but I will review them if I need to. :smile:)

.NET:

C#, VB.NET, LINQ

ASP.NET Web Forms, ASP.NET MVC, WinForms, WPF, Entity Framework, Moq

Web:

HTML, Bootstrap, JavaScript

KnockoutJS

Android:

Java, RxJava

Other:

A bit of Python

Googling Stackoverflow :smile:


Work Experience

Jairosolutions

  • .NET Developer (April 2012 – October 2012)

Mynd Dynamic Team, Inc.

  • .NET Developer (December 2012 – May 2016)
  • Android Developer (October 2016 – Present)

Educational Background

Preschool

  • Fellowship Christian Baptist School (Nabunturan, ComVal Province)

Elementary

  • Nabunturan Pilot Elementary School (Grade 1-3)
  • Fellowship Christian Baptist School (Grade 4)
  • Kidapawan City Pilot Elementary School (Grade 5-6)

High School

  • Kidapawan City National High School

College

  • Two years at Bukidnon Fundamental Baptist Seminary (Christian Training Certificate)
  • Three semesters at Notre Dame of Kidapawan College (Computer Science)
  • Many semesters at Colegio de Kidapwan (Computer Science - not yet finished)
  • TESDA (three months) - Short Entry Course on VB.NET & ASP.NET Development

Some preferences with work:

  1. If I will be working on an existing project, I might be needing lots of help in understanding the structure of the project in the first few weeks… most expecially when I am involved in a project where I am not yet familiar with the frameworks or libraries that are being used.

    But if I will be involved in new projects… I believe that I can help with the architecture of new projects, even when I am not yet familiar with the specific frameworks and libraries that will be used in that project — I can learn about the frameworks and libraries inline, I mean, during my vacant times. :smile:

  2. And, if possible, I would also like to be mentored by someone who have much experience in the software development industry.

  3. I’m also interested in mentoring beginning programmers because, as what Uncle Bob Martin points out in one of his talks, “We’re in a state of perpetual inexperience” because half of the programmers in the world have less than five years of experience.

    I’m not yet an expert, but, as what I read in an article about apprenticeship by David H. Hoover,

    “The mentor doesn’t necessarily need to be a master of software development. In fact, there are advantages to having a mentor who is closer in proximity to the apprentice’s level of experience.”

  4. If it is possible, I would like to be involved in new projects that will be written from scratch, where I can have influence on the decisions that will be made (or at least I am in a position where I know the reasons behind the decisions being made).

    I would just like to add that if I will be involved in developing a new software from scratch, I would highly recommend using the Clean Architecture model of Uncle Bob Martin (or something similar to it) and, if possible, use TDD also; because, as you might have already known, it is hard to create software that is easy to change. Many software developers believe that this Clean Architecture model and TDD can greatly help in making software easy to change.

    … And businesses (and programmers involved in a software project) will greatly benefit if we do something to make software easy to change.

Thank you! :smile: