We are about to enter a new year, with that will come new challenges and new accomplishments. There will be new projects, new people, and new experiences. I would like to go back and go through some of the things I learned in 2016, programming related and not:
Getting a Job in Tech:
You can never be too bold.
I have been working at my company for over 7 months now and It’s been wonderful. I got this job by attending a meet up for young professionals back in April or March. Having always been a shy and quiet person I was afraid that despite my skills I would have a hard time getting a job. So I decided to make it a point to talk to at least 5 people at that meet up, which was my first. One of them was a Recruiter for the company I currently work at and about a month after our initial meet up I was employed as a Developer at that company.
Getting a job is a full time job.
Although the situation that led to my current job was quite spontaneous I was also far along in the interview process and had offers from other companies which I didn’t take. I sent out about 15 applications to companies online every other day. I made it into the final rounds of interviewing at positions at companies like UpWorthy and Alcoa. As well as still being in the applicant pool at companies like DRB Lending and Datto when I took my position at Deep Focus. I worked on updating my Github with projects everyday and sent out cold outreach emails to CTO’s and Recruiters. I even got a response from the CTO of Art.com who invited me to coffee!
Once you get a job that is when you really have to start learning.
Every company has different technologies and frameworks that they use. The first 2 weeks of every job are always some of the most stressful. You have to learn the process the company uses be it Agile or Waterfall. You have to learn their technologies JIRA, Bitbucket, Github, Slack, Travis CI, Jenkins, TeamCity. Every company uses something different it’s always “fun” having to learn these new technologies in those first few weeks.
Learning doesn’t end after school:
Luckily I have some really good mentors at my job and the one thing they are always telling me is to keep learning, so i would like to tell you a few of the topics I have devoted my time to this year.
Machine Learning/Python/Linear Algebra.
Machine learning has always fascinated me. Towards the end of the summer I began really diving into the material. I am a multifaceted learner so just doing a Coursera course or reading a book usually doesn’t cut it. So I did a few things. I completed the Code Academy course on Python, started a coursera course on Data Structures and Algorithms. Got about halfway through Khan Academy’s Linear Algebra course. Started a course on AI on MIT open courseware. Did all the Tensor Flow tutorials that google provides. Listened to way too many podcasts! Machine learning is really cool you can look at some of my previous posts to find out more about it but it was probably one of my biggest learning Endeavors of 2016.
Theoretical Physics and Continuing education in Higher Math.
This happened in conjunction with the machine learning study. But I began to really invest in reading books on physics. I really began to beef up on my math. I studied linear algebra on Khan Academy. I Also took time reviewing Khan Academy’s Calculus courses. I bought a book called Parallel Worlds on Cosmology and Theoretical/Particle Physics and read it on the subway. I also visited some of the more fun math subreddits on Reddit. All of his has made me more confident in my math ability and has helped me remember that I can learn anything if I put my mind to it.
Russian and Enjoying magnificent works of literature.
I started learning Russian this year in the hopes that one day in the future I may be able to read some of Dostoevsky’s original works in Modern Russian. I also began to revisit some highly recommended books and short stories. Zen and the Art of Motorcycle Maintenance. Many of Chekov’s stories. I also became a frequent reader of the New York Times (No I don’t pay for it thats what deleting cookies is for).
Hacker News/CyberSecurity.
I have become a frequenter of the popular Developer news site Hacker News. I read several of the articles on the home page every day. They have really helped me grow in knowledge as a developer and a Cybersecurity enthusiast. I have even gotten to use techniques I learned from that site on the Job. It is very practical for anyone who is interested in Technology. I also began to play around with penetration testing tools and practiced my penetration testing on sites and networks I set up myself.
Self Awareness is Key:
Meditating every weekday.
It has helped me tremendously! I have become much more calm and confident in my abilities since I started this year. A 5 minute mindful meditation every morning is super helpful!
Mint is a life saver.
If you want to keep track of your money and see where you spend and see what you might wanna cut down on Mint is super helpful. Mint has helped me save money every month and it has really helped me save for the things I want to spend money on. I feel much more self aware of how I spend with Mint.
Journaling is the key.
I don’t journal religiously but it is a great way to get your emotions out when you are feeling a certain way. It often helps you get to the root issue of whats causing you distress and it helps you think of ways to address it while you are writing.
Key Notes I learned about Programming on the Job:
Coding Emails is actually pretty hard.
I feel like coding Email templates has been the enemy of the junior front-end/full stack developer for all of eternity. If you have never coded an email template congrats! This one is not for you. Basically email clients only support HTML the way it was in 1999, which if you are not familiar with the old web it was shit. You are basically left the options of using Tables to code everything, some email clients don’t even support the background image property or the position property. However coding emails has given me an appreciation for what it was like for my older coworkers being developers in the early 2000’s. They remember.
There is an order to asking for help. It goes:
My notes => The language or framework docs => Stack overflow => Google Search => Github Gist => BACK TO THE DOCS => Reading the frameworks source code => Breaking down and asking the guy next to you for help (This is only acceptable after at least 5 hours of scouring the internet for an answer) => Which usually leads you BACK TO THE DOCS.
It’s important to know when to ask for help. But its also important to not ask for help to much. I am currently in the position that if its not a production or QA site It’s okay to try that weird fix with no up votes that you found on Stack Overflow that you can’t test locally. Worst case scenario you fuck it up, then you go for help and look like an idiot. Best case scenario it works. Most likely scenario nothing changes (Which is why that post had no up votes).
Linux is the returned messiah.
Learning effective linux administration and how to navigate effectively around a command line interface is key to being a solid backend or full stack developer. You absolutely need to know some linux administration and basic commands to be effective. I work at a company with a small tech team and its important to know basic linux skills because we often handle the DevOps work at our company. Also knowing your way around Apache and Linux is a great skill no matter where you go.
We all have our rituals.
Which basically means even the most rational, Atheistic, Logical developer will do certain things when they are trying to get their code to work, which we all know won’t make the code work. Its actually pretty funny. I like to call them developer prayers. I will share a few of mine:
- Maybe if I clear cache one more time that img tag will be positioned properly = Nope
- Maybe if I just restart apache for a second time it will work = No F*cking way
- Did I spell my variable/function names wrong? = Works maybe once every thousand times and that is for a person with horrible spelling skills like me.
Development is a career of highs and lows.
There will be days when your code doesn’t work and you spend the entire day trying to get one thing to work, you’ve even asked others for help still no luck. There will be days where your solving problems left and right and everything just goes your way, you didn’t even have to use your developer prayers (see above). The mastery of the self and of development is to go home feeling the same way about yourself Confident, Humble, Happy, and Thirsty for Knowledge no matter what kind of day it was.
Things I learned about myself this year:
Feeling like shit is okay, as long as it doesn’t stop you from getting stuff done.
As a person with a lot of anxiety and negative emotions some coming from a troubled childhood others coming from my own brain and they way it is wired, I feel like shit, be it overly anxious or incredibly lonely and depressed, approximately 20-40% of the time. What separates me from the person I was 3 years ago is that now: When I am having a panic attack I don’t leave work. I just go outside get some fresh air and maybe call a friend. When I feel that life is absolute shit and that I am alone and that is all i will ever be, I don’t stay at home and watch the Twilight Zone on Netflix, I go out and go to a bar or club and strike up conversations with strangers and focus the topic of conversation on them; anything to get out of my own head. When I wake up in the morning terrified that if I go to work I will screw up and get fired, I don’t call in sick, I usually get up and go at that moment thus putting my anxiety on the back burner until shit gets done.
The things you think matter don’t matter and the things you think don’t matter do matter.
I was always worried about getting projects assigned to me done by deadlines. I would never call my family and ask how they were doing. I was worried about the wrong things. I always thought I could talk to my Dad another day, but he passed away suddenly in November and I never got to say good bye and tell him how much I loved him. So now I am determined to place more emphasis on relationships rather than on things that seem important but really aren’t that important.
Keep in touch with your God.
This one doesn’t apply to everyone and if you don’t believe in a higher power I sincerely mean no offense and you can skip right over this. If you’re still reading then I will share with you my findings about prayer and God this year. Prayer every night along with meditation in the morning has helped me tremendously this year. One thing I have found is that after a certain amount of time where things are going good prayer can become route and mindless. This is not how it should be. If you find yourself just saying the Our Father, Salat, or reciting the Lotus Sutra every night I encourage you to change your mindset from reciting a memorized set of words to expressing a sincere gratitude for something that happened to you that day. Not only does it make your prayer more sincere it helps you go to bed happy about something.
Your not in control, and the more you want to be in control the more you will be suffering.
This one relates to the one above but doesn’t have to be spiritual. From a mathematical and a religious perspective you are not in control of most of the things in your life. You really are in control of how you respond to what happens to you. You can take preventative measures to have the life you want but life is inherently absurd, at least according to Camus, and the more you try and control the uncontrollable the more you cause undue suffering for your self. The best response is to, if you’re religious turn your life over to a higher power, or if you a logician embrace the absurdity of this magnificent universe.
Leave a Reply
You must be logged in to post a comment.