Marcus O'Brien

Author Archives

  • Interview Number 3 – The Software Manager

    This is the last blog from interviews for a while now.  I think up to this level is enough for us to ascertain the different jobs available, and what they involve. in the development of software engineering projects. Next week I will be moving back on to electronics and focusing on some more technical articles again. But for now, here is a worthy perspective, the software manager (SM).

    ME : Well, I suppose there are many facets to your position, why not start by giving us an overview of what your job entails ?

    SM: You’re right, there are many tasks I perform on a daily basis, but when looking at the position it quite often doesn’t align with those. From a top level perspective, my main responsibilities are nurturing the team, delivering product and reporting progress and road blocks, I help the team achieve their directives, and I set the directives.

    ME: So why doesn’t that translate very much to what you’re doing each day then ?

    SM: Well everything works on the cycle of the development, when something is being planned the tasks are very different to when a product is being finalized. So if you look at the stage we are at right now, I am micro managing key members of the team to make sure we can deliver a highly valuable product on time, and to the right level of reliability. This has been going on now for about a month, and we have another month like this. So I am not really spending any time nurturing the team, or planning the future, I guess you could say we are on the front line at the moment. This will change though, and there will be a planning phase before we start the next big development. During this time I can spend some time making sure my team is ready for the next project.

    ME: So how do you cope with not being able to achieve everything you need to do all the time ?

  • Interview Number 2 – The Team Lead

    Welcome again to this months blog entry. Let’s continue from last month with the next stage up in the food chain from the humble engineer, that is the team leader. This highly sensitive creature is supposed to be the approachable mentor, a facilitator for on-time, good quality deliverables. However it can be very hit and miss with the quality of a team leader. Sometimes they have many years of experience, deciding to sit in this position for fear of transmogrifying into a Dilbert type manager, and sometimes they are a newly experienced coding genius who has zero empathy and can’t lead a team to success for toffee. A team leader is just that, a leader (by example) of a team. The cycle begins with the defining of the project, then onto planning, executing and,finally delivering. They must be focused on what needs to be delivered, but they must also be dynamic, and be

  • Interview Number 1 – The Software Engineer

    Welcome to this months blog entry. As I promised last month, I would like to give some insight into how engineers view their own profession, and what kind of things to expect if you chose a career in software engineering yourself. So I’ve asked a friend of mine to be my interviewee…

    ME : Give us some background to who you are and what you do.

    Eng : Well, I’m a software engineer at a large video  games company. I’ve been working in this position for 2 years here at this company, and 3 years before that I worked at another video games company. I am currently a level 2 Software Engineer which basically means I have enough experience to take charge of designing and implementing features on a game. I am working on a title that I’ve been working on for a year. It is due for release next year,and will ship on PS4 and Xbox one. The title will also have other spin-offs, such as a free to play mobile title, and some web site tie-ins also.

    ME: Why did you enter the Software Engineering field ?

  • Joining the online engineering community

    Well, this has been a great start to the year 2017 if you are keen on technology ! There are lots of easy to access resources that have appeared on the internet recently, and in a matter of minutes you can have at your fingertips amazing tutorials, project instructables, learning resources, product specs, in fact right all the way through to suppliers of esoteric electronic components can be found, and then, even places to distribute your wares at popular and cheap distribution outlets like the iStore or Android App store etc.

  • Step 2 of your I.O.T. Project – Setting up the Raspberry Pi 3 for the Weather Station

    Welcome back. In the last post we were half way through putting together an I.O.T. system. Let’s recap on things first. The idea behind the Internet Of Things (I.O.T.) is to allow small electronic devices to connect to the internet. It is supposed to be a quick and easy way to take any electronic device networked. The power behind this is obvious, allow anybody with a small cheap device to create data, post it to some kind of web service, then use this data from either the device that created the data itself, or allow any other web connected device to utilize the data, including simple web pages via web browsers.

    Some quick examples are a :

  • Step1 of your I.O.T. Project – Setting up your Cloud Web Services

    So this week I said  would be showing you how to connect a device up into the cloud. First a basic overview of some of the technology we are going to be using. The idea behind IoT, or the Internet of Things, is to allow remote connection to an electronic device. There are two ways we can set a device up. The first is to set up the system for input, or to collect information. This would mean that the device is collecting, and/or processing data from it’s environment, and posting that information up to the cloud, where we can see it. The second configuration pattern, is to allow the device itself to be controlled from a remote location, via the cloud. The term “cloud” in this context, refers to the world wide web, or internet. The cloud can either harness data ready for us to examine with a web browser (or any other web service consuming client), or the cloud can allow us to configure the devices via a web browser. The power behind this setup is the remote nature of it. Where ever the user is in the world, as long as they have access to a web browser they can either monitor the remote environment, or control it.  The Internet of Things then, is the utilization of remote web connected devices. Examples of such devices could be a USB camera, an alarm system or a weather station. We could have for example have an Raspberry Pi board connected to a USB camera set up in the garden of our home. When an animal activates a PIR sensor connected to the Pi, the Pi takes a snap shot with the camera and uploads the photo to a remote server,where,at the end of the day,we could see what has been lurking in the garden ! Alternatively we could have a web page that allows us to change the lighting in our home. Sitting on the couch, we could bring up a web page in a browser on our phone, and dim the lights and bring the projector screen down, ready for a movie night ! The limitations are bounded by your imagination.

  • The Cloud and The Internet of Things (IoT)

    The new exciting technology that seems to be here to stay is IoT. Have you heard of it ? If not you’ll soon be using it without even knowing it’s here, or there, or everywhere. and believe me it will be everywhere. It is the only, truly omnipresent technology. Before I start discussing what on Earth it is though, it’s worth noting that if you are embarking on a career in Engineering, you must become a Zen master at the art of the T.L.A. The ironic thing about T.L.A.’s is they are Three Letter Acronyms themselves, and the irony is the self-describing quality of this oft coined term. Today’s Blog T.L.A. then is I.o.T. There will be a little mention on A.W.S. also, actually I think I will summarize…

    I will be looking at how we can use a M.K.R. M.C.B. as an I.o.T. device, talking to A.W.S. using U.D.P. Got it ? O.M.G.

  • Always strive for self-improvement

    As an engineer, your future can be blessed with working on profound,maybe even life changing technology. That is,of course,if that is what you want  your career to be! You might find yourself working on the latest pandemic iPhone App, the most hotly awaited virtual reality based video game, an Earth shattering AI algorithm capable of predicting the next stock market crash, or even a defense shield for weapons of mass destruction. The future could be filled with exciting and rewarding opportunities, let’s hope so ! But take a step back.How do you make sure whilst creating such imperative, progressive applications and services, that you are producing the highest quality of work that you can ?

  • Software Engineering – First Steps – Learning to Code

    As I discussed in my last blog entry, there are two main areas in Computer Engineering, Software and Hardware. I thought it would be good to start a discussion today with the area that I know best,Software Engineering.Since the age of 9,when my parents first bought me an Atari 400 home computer (back in 1980 !), I’ve been learning to code.The 400 was a behemoth in it’s day,having a flat membrane keyboard, an 8 bit CPU with 8 KB RAM,and you had to use a detachable cartridge with BASIC on it to even program it to do anything.Those first years gave me the basic concepts of programming that still hold true today in the world of declarative or functional programming.I’ve been programming now for over 25 years, in many different languages,for many different applications,and I can say with all honesty that if you learn one language,it’s not too hard to transfer those skills on to the next.So it doesn’t really matter which language you learn (as long as it’s one of the more popular ones), it will teach you valuable concepts that will be applicable to most other languages.With that in mind, What are the languages to learn to program ? And what are the strengths and weaknesses of them all ? Obviously,there are many modern computing languages,most of which are free to download the compiler or the run time engine for, and most are also easy to learn. If you want to learn to code there are 4 good languages to start with. Let’s discuss the history of what are known as C based programming languages.

  • Computer Engineering and the Hidden Neural network brain in the Arduino 101

    Some people are already clued up about the way the world of Computer Engineering is composed, and even the way it is currently moving. If you are not one of these people, perhaps you are someone who is confused, or maybe even nonchalant about Computer Engineering, then allow me to elucidate.

Search for online Engineering degrees