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
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 ?
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 ?
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.