Posts

Why a Programmer Must Have Sales Skills

Image
Have you ever had a great idea and pitched it only to have it ill received? Then later you found out that your idea is being implemented and the credit has gone to someone else? This probably raised frustration or even anger within you.  Perhaps they stole your idea and in their ego-centric ways decided to steal all the glory for themselves.  How could they?! Or perhaps there is another side to this. Recently I brought up the idea to the my team that perhaps we should consider setting our focus to certifications, but not programmer certs but rather system certs... you know.. Security+, Network+, Oracle Administrator, that type of thing.  Our core application is a Java application that is hosted on Solaris servers.  Our contract has strict requirements for any one that touches those systems. My pitch went something like this: Me : "Hey, now that our development efforts are winding down and much of the work load is on the SA and DBA side what do you all think  about con

A Guide to Learning Design Patterns

If you’ve been writing code for more than a year, you might have heard of design patterns. I’m always surprised while interviewing veteran developers that have not heard about design patterns. I always make design patterns a topic during interviews because I believe they are a concept that every developer with more than a year experience should at least be aware about. So when the interviewees response is “I may have heard of them, can you tell me more…”, I become quite surprised. In truth I’m no longer surprised as much anymore because I’ve come to realize that the developer universe is vast and  many developers work in these little vacuums  with very particular tools to get their job done without ever tracking the on goings of the bigger developer community. Is that acceptable for a developer, is it not? It depends. It depends if the developer wants to be more marketable or not. It depends if the developer wants to do better at interviews when the time comes for a new job hunt.

Using UML to Analyze Legacy Code...

For every programmer out there creating brand new code and working on the latest technology, there are many of us who are cutting our way through the code maintenance jungle. Maintaining code is not for everyone. Some programmers love creating brand new code and introducing new technologies. We need those programmers in order to move companies and coding technologies forward. At the same time all projects eventually require maintenance. That’s where we need programmers that will do the dirty work of maintaining code and if they love it it’s even better. Maintenance can mean a lot of different things. Maintenance can sometimes mean fixing defects. Other times it can mean enhancements. Sometimes it can mean refactoring and paying off technical debt. Or as in my latest case modifying the code to meet new technical requirements. Maintenance is not totally exclusive from creating brand new code. Maintenance sometimes means moving from the old to the new. The Problem In my latest ca

This Application Does Not Work!

Image
Recently I ran into a great offer that I just couldn't pass up.  I have been in need of screen capture software for creating online tutorials.  I've heard that Screen Flow is an awesome product and quite inexpensive.  Unfortunately I switched from Mac to a Windows 10 box and Screen Flow is only made for Mac OS.  My best alternative for a long time has been CamTasia Studio. I was reluctant to get CamTasia because $300 is simply too high a price.  So... recently I ran into this other product called Movavi which costs only a fraction of what CamTasia costs (as of this writing it costs 59.95 which includes 40% discount). I downloaded the trial version and did a quick demo to test it out.  It worked like a charm.  The trial version is limited to two minute videos. I proceeded to purchase the next day because finally I would have the software to create online tutorials.  I was not ready for the big disappointment that was lurking in the shadows.  I did my first video with acti

What is the best way to learn programming?

As a friend and I were walking through the Barnes and Noble Technology section today, he asked me "I want your opinion on what you would do to learn one of these programming languages today".  My response was "I would buy me a subscription to PluralSight.com and get serious about learning from there". Let's face it.  You have many options today to learn something new.  If you have a computer and an internet connection you learn just about anything.  You can learn most of what you need to know from the internet and yes the internet has a lot of your answers and you can learn it for free.  The problem is that you get what you pay for.  You may actually pay more for something that is free because although the monetary cost is zero you end up paying with your time.  That's the caveat on learning anything for free, you may just spend a lot more time than necessary trying to be cheap. That is why my top choice for learning programming today is PluralSight.

Python vs. Other Languages

For the last two months or so my fellow McLane Advanced Technologies Programmers and I decided to take on Python. We all have pluralsight accounts so we decided to engage in the Python Fundamentals course by Bingham and Smallshire. It took us a couple of months to get through the course since we only would do it through our lunch hour. With schedule conflicts, practice exercises it took us a while to get through the course but we finally completed it a couple of weeks ago. And I must say, it was an amazing course. The crazy part about the course is that it's only 5 hours long. Five hours plus another 10 hours of hands on practice and you can be pretty decent at python. Throughout the course we took time on our own to do some exercises after each of the lessons. I fiddled around with it quite a bit and decided to save my practice exercises to github.com ( https://github.com/fernandozamoraj/py_sandbox ). Although our goal is to go deeper with the sequel to this course, Python