Thursday, October 13, 2016

Wartime Lifestyle & Earning to Give

One of the main reasons I am excited about my transition from teaching to software development is that I believe that I can do more good in the world as a software developer than a teacher because of my skill set and interests. A key part of using my life effectively for the good of others is using my money effectively.

John Piper talks about the idea of living a 'wartime lifestyle'. Rather than maximizing our own comforts and luxuries now, the way we live should be "based on clear biblical passages of love and sacrifice and suffering in ministry and the brevity of life and the lostness of the world and the suffering of those around us." We should "move toward need rather than toward comfort and security, toward generosity and simplicity." All of this is based on the biblical commands to love others and share the Gospel to the ends of the earth.

It was probably over ten years ago that I thought about the idea of setting a certain income limit and giving away anything I made over that limit. There is so much need in the world and so many lost people, I feel morally obligated to limit my comforts to help others.

A few years ago I came up with the idea of giving away all of my income over 200% of the federal poverty level. This is something my wife and I have committed to doing.

The good thing about tying my income limit to the federal poverty line is that it automatically adjusts for inflation and family size. My income has yet to reach 200% of the federal poverty line but we may get to that point this year. In the meantime, I have been trying to give away 10%. Basically, my family is committing to staying at our current standard of living.

For a long time I thought that I should keep this plan a secret from others because of Jesus' command in Matthew 6:3: "But when you give to the needy, do not let your left hand know what your right hand is doing."

While my desire to give is rooted in my commitment to Jesus, I first started wondering about the benefit of sharing my giving plan with others when I read an argument from a secular perspective. A blog post from givingwhatwecan.org makes the case that talking to others about what you give and the benefits of giving can motivate others to give. This will lead to more people being helped. That blog post starts off, "A five-minute conversation has the potential to prevent 40 lives being lost."

What really made me think I should be open about my giving plan was when I read "Is It Wrong to Let Others Know How Much We Give Financially to the Lord’s Work?" by Randy Alcorn.

Randy Alcorn is a best-selling Christian author who earns minimum wage and gives away 100 percent of his book royalties. He has given away more than $6 million to date. He is someone I have tremendous respect for.

Randy directly addresses the verses above from Matthew. He makes a very good case that the verse is mainly about motivation and that in other parts of the Bible it is a positive thing to share about giving. I will quote his conclusion in full and emphasize what I feel is the key point.

This is why in the church we need to take the risk of openly telling stories of what God has done for us in the arena of giving. In fact, what may force me to swallow my pride more than anything is talking about giving when it runs the risk of making it look like I’m patting myself on the back. (Our motive for not talking about our giving is not always humility. Sometimes it is fear, doubt and, yes, even pride.) To vulnerably express to others where I am in my giving pilgrimage can be an act of humility. Though we must always check our spiritual pulse, it certainly does not have to be an act of pride.
So, I shouldn’t be bragging about my Bible study or prayer or evangelism or parenting or giving, but I shouldn’t be covering it up either. It’s easier for people in our churches to follow footprints than commands. If we aren’t willing to openly and humbly discuss giving, how can we expect to raise up givers? The church has plenty of examples of consumers—we need to see examples of givers. (That’s why hearing all the testimonies is appropriate.) Hebrews 10:24 tells us to “spur one another on toward love and good deeds.” We can only be spurred on to by what we’re aware of, what we can see.
This commitment to giving has opened up a lot of freedom in my thought life in terms of my career path. I am about to hit my income limit. At this point, earning more money will not benefit me or my family. It will only benefit others.

Without the idea of money clouding my judgement, it is much easier to just focus on serving others with my life. Any career decision will be based on what is going to have the biggest impact on advancing God's kingdom on Earth. I understand the focus discussed here should apply with or without an income limit. It is just a little easier for me with the limit.

I will still be motivated to increase my income so I can give more. But I have to determine if I can help more people by using my time to make money so I can give more or using my time to serve people directly.

The current plan is to give 1/3 to spreading the Gospel to unreached people groups (the primacy of this was inspired by reading "Let the Nations Be Glad!" by John Piper), 1/3 to local causes, and 1/3 to high-impact charities fighting global poverty.

Something that this plan has already motivated is my web development company that currently gives 60% of all income to charities.

It is my hope that sharing about my plan for giving will motivate others to give more. I hope that this increased giving will lead to more people hearing the good news of Jesus and getting out of poverty.

Monday, October 10, 2016

Angular 2 vs React: Which one should a new developer learn?


I have been learning both React and Angular 2 and have been wondering which one to focus on. They both are useful in front-end development, helping to manage states, and making it possible to create one-page web apps. However, there are some major differences. While both could be helpful to learn, this short article focusses on which one is best to learn for an entry-level developer.

Decisions
Angular 2 is a framework, while React is a library. This means that there is more of a set way of doing things in Angular. There is a lot more built-in to Angular. With React it is common to add other libraries to get all the functionality needed.

In some ways, this makes things easier in Angular since you don't have to spend as much time learning about the other libraries you need. Although some people may like that the core of React is a little simpler.

HTML or JavaScript
Angular 2 and React have different focuses when it comes to HTML and JS. One article I read sums it up like this: "Angular 2 continues to put 'JS' into HTML. React puts 'HTML' into JS."

React uses the JavaScript we already know while Angular adds a lot of Domain Specific Language to HTML. In this way, there is a steeper learning curve to Angular.

React's focus on JavaScript also means that the skills will transfer better to other JS libraries and frameworks.

Job Outlook
Since React is younger than Angular, there are very few developers that have much more than 1 year of React experience. There are a lot of Angular developers that have 3+ years experience. So if you start to learn React now, you won't be as behind compared to learning Angular now.

Most importantly, at this time there are more companies hiring developers for React than Angular and the hiring trend for React is still increasing while the trend for Angular is decreasing.

Conclusion
React seems like the best choice for a new developer to learn. However, it may depend on what job you want to get. For instance, one of the companies that I most want to work for uses Angular and not React. Because of this, I am going to continue to learn Angular.

Thursday, October 6, 2016

How to get a developer job in a small market, part 1


This is is the first in a series of posts about how to get a developer job in a small market. This series will ideally end with me getting a developer job in a small market. :)

I have spent a lot of time learning about web technologies and mobile application development. I have done some freelance projects and created many projects for myself. 

The problem is that I am coming from a career as a teacher so my actual work experience in the software field is low. Also, I like living in Saginaw and I would like to find a position nearby. At just under 50,000 people, Saginaw is a very small market when comes to jobs for software developers.

So how am I supposed to find a job in a small market with very little experience? I have found a strategy. I am following some of the suggestions in a blog post by Haseeb Qureshi titled "How to Break Into the Tech Industry—a Guide to Job Hunting and Tech Interviews". Haseeb is a person who went from knowing almost nothing about software development to landing a job at Airbnb paying $250k/yr in only one year.

Haseeb's advice for networking is to "just buy everyone coffee." He suggests offering to buy coffee for as many people as possible in the tech industry. I don't know very many people around my area who are software developers. 

Which brings me to a key idea he gives: cold-emailing people. 

I have spent a lot of time on LinkedIn and Google lately finding local software developers to contact. Just today I had my third meeting with a software developer in the area. I have been able to find out a lot about the companies they work for and about the application and interview process. 

Two of the meetings were for lunch and one was over Google Hangouts. Meeting for lunch definitely allowed me to connect with the people better. 

The Google Hangout meeting was exciting because it was with someone who works at Covenant Eyes, which is the company I most want to work at. He said Covenant Eyes was his favorite place he has worked. The interview process he described at Covenant Eyes seemed to be more challenging than what the other people I met with described for their companies. 

There was one question that all the people I met with seemed to agree on. I have been reading a lot about the importance of knowing algorithms and data structures for an interview. Everyone I met with said that they did not have to answer any questions about algorithms or data structures during their interview. I think maybe it is because these people work at smaller companies. I am still going to try to get better at algorithms but maybe I don't have to put the emphasis on it that I was originally planning.

I have definitely learned a lot from these meetings and I am going to continue to try to line up meetings so I can learn as much as I can about the industry in the area.

Sunday, October 2, 2016

History and Future of Programming

I watch a lot of YouTube videos about software and I came across a very interesting video by "Uncle" Bob Martin called "The Future of Programming". It is actually more about the history than the future. It was very interesting for a budding programmer such as me.

He starts by talking about Alan Turing who wrote the first code that we would identify as code in 1936. In 1960 there were a could hundred computers in existence and a couple thousand programmers. Just 5 years later there were around fifty thousand computers and a hundred thousand programmers. So in about 20 years we went from one programmer to a hundred thousand programmers. Just 5 years later again in 1970 there are over a million programmers. After this the number of programmers doubles every five years. That means half of all programmers have less than five years experience and the profession is in a perpetual state of inexperience.

Programming has only been around for about 80 years.