Nathan Cooper’s background reflects his claim as an inherent problem solver. His passion for mathematics stems from always being attracted to puzzles and the “why” behind processes. “It helped that I always had a knack for math and numbers while growing up. I also had some exposure to programming with Java and C++ while in college and found it very interesting and a good challenge,” says Cooper.
Hoping to transition that programming knowledge into the ever-evolving technology field, he enrolled in Tech Talent South’s 8-week Code Immersion program, with a focus on Rails. While in the program he added a Rails-powered nutrition app to his previous roster of JavaScript tech projects, including a scientific calculator and a Game of Life simulation.
Learn more about why Cooper’s skills can add up to success for your team, including why React.js is next on his list to learn and what he’s looking for in his next company.
Why the interest in the technology field?
The technology field offers a great combination of creativity and problem-solving ability. You can think of an idea in your head and then go out and make it happen. I think humans have a natural drive to create things, and technology satisfies that itch. I also like how you can’t truly master programming; it’s constantly evolving and the tools are becoming more sophisticated by the day, so there is always something new to learn.
What tech projects have you worked on?
I created a nutrition app using Rails that allows you to track the foods that you’ve eaten for any specific day while displaying the total nutrients for that day. It uses the nutritionix API to fetch the data for the foods and has single-page rendering using AJAX. I still have a lot of features that I want to add to the program.
Additionally, before I attended Tech Talent South, I taught myself some JavaScript and made a couple of front-end JavaScript apps. A common entry-level web development challenge is creating a four-function calculator, so I decided to step it up and make a scientific calculator instead. Managing what gets displayed versus what gets calculated proved to be a nice challenge, especially for the delete/undo button.
The other JavaScript app is a simulation of mathematician John Conway’s Game of Life. I don’t want to go into detail about the rules of the simulation, but it’s easy to search for online. The board state is rendered with React.js components. Both the Game of Life simulation and scientific calculator are now rendered as modules in my web portfolio.
What tech or tools are essential to you as a developer?
I like to learn from a broad range of resources — Google for documentation, stackexchange posts, articles, GitHub repos, YouTube videos and more.
How do you stay informed and on-top of emerging trends?
There are so many different programming languages and technologies that it can be overwhelming when starting out. I subscribe to a bunch of programming sub-reddits to stay up-to-date with what’s going on in development.
I’m not too concerned with what is trending at the moment because every developer has their own opinion about what technologies we should be using. I would rather focus on the fundamentals: learning the intricacies of an object-oriented programming language and improving my problem-solving ability. As Bruce Lee says, “I fear not the man who has practiced 10,000 kicks once, but I fear the man who practiced one kick 10,000 times.” Trends come and go, but the fundamentals will stick around for a long time.
What are your best technical or creative skills?
I’m a problem-solver by nature. That’s a big reason why I’m pursuing web/software development as a career. There is always something new to learn and problem to solve. Additionally, I love to research. I think that a lot of developing is about being good at asking questions and going out to find the answer and learning why that answer works.
What’s next on your list to learn?
After I make a couple more larger-scale Rails apps, I will focus on learning more about React.js and how to implement it with Rails on the back-end. It proved to be a very powerful tool with my rudimentary understanding and limited use of the technology. Once I make my way into the industry, I will learn how to become proficient in the technologies and programming languages of the company that I work for.
Are you interested in working for a startup, mid-sized company, or a corporate giant?
The size of the company doesn’t really matter to me. The team that I will be working with and the company culture are more important factors, but as long as I’m being challenged and learning new things, I will be grateful.