Monday, February 29, 2016

Python Programming Series - Part 4 - Factory Pattern Example

I have been doing software development for 18+ years, but I am relatively new to the open-source community. I learned a bit of Python back in 2013 and I put it on hold because I was not thrilled with the syntax and code readability as I am used to strongly-typed languages, and I just picked it up again because as I am going through some AWS training and AWS CloudFormation. 

If you are a Python expert, you should not be on this page :)

As I am revisiting Python as a programming language, I figured I would post things as I am learning and putting together examples. That's the point of this series.

DETAILS ON THIS EXAMPLE ARE HERE:
http://almirscorner.blogspot.com/p/python-factory-pattern-example.html


- almirsCorner.com -

#python #programming #code #coding #software #softwaredeveloper #softwareengineering #programmer

Monday, February 15, 2016

Cars & Coffee in Aliso Viejo, California - Feb 13, 2016

Cars & Coffee was fun this Saturday in Aliso Viejo. We had incredible weather. I only took a few pictures. Lamborghini Aventador stole the show in the supercar category. In the classics category, I vote for a view old school Benz. In the affordable category, I would give it to a brand new Mazda MX-5 (Miata) with gold wheels and also an older Mazda Miata with the custom roof and race specs.




Albums:
https://plus.google.com/+AlmirM/posts/diJTqJN88HV

https://plus.google.com/+AlmirM/posts/1SHRgh4xx13



almirsCorner.com

#cars #CarsAndCoffee #OrangeCounty #California #SoCal

Thursday, February 11, 2016

Defense is the BEST Offense — how do you apply this concept in Software Engineering?

Let me start by saying that I am NOT talking about developing software in such a way to protect your job; I am totally against that. I am talking about something else here.
I am talking about a mindset in software engineering that allows you to be offensive and the buzz word that describes this is “being disruptive”. You can develop software very fast, but can you consistently repeat this without creating chaos?
One real life example is the following: You developed a piece of software or a list of features and your QA and Stage testing passed perfectly. Then you are about to go to production and on the day of the production launch, the decision gets made not to launch those features for technical or business reasons. Now the question becomes: Can you easily disable these features and still launch everything to production with these features turned off? If the answer to this question is a CONFIDENT YES, then you are implementing things the right way and you have development methodologies in place that present you with a lot of capabilities and options. It is easy to say this, but this methodology starts before you even write a line of code. On the other hand, one might say “why do I need to develop the feature toggle if I can just be fast and go for it?”. I would say that going fast and taking chances is fine if you have the foundation, but without the foundation and methodology to support you, it is just reckless.
The confident YES in the above scenario gives your product management and your senior management enough confidence to try different things without worrying about failing because the failures or sudden decisions will not cause chaos. I provided just one example that accomplishes this goal.

In conclusion: You are building a defensive feature called “feature toggle” but in turn you are actually providing offensive capabilities for your leadership team to innovate and disrupt. It sounds counter-active, but it is not.


Almir M.
#SoftwareEngineering #SoftwareDevelopment #programming #programmer