Find Web Developers
Find Web Developers

5 Secrets Of Getting A Microsoft Web Development Job

August 5th, 2018

1) Compromise on web development technologies

It’s very easy (especially if you are fed up enough to leave your current job) to try and look for the perfect fit in terms of technology and agile practice (you don’t want to go through this hassle again right?). In my experience it can be difficult to find a job that is ‘perfect’ in all areas often you will find jobs that cover most of the bases but not all of them. Given that this is the norm it might be worth compromising on some aspects.

2) Create a transparent online identity to prove you are a web developer!

I have mentioned this multiple times in other articles. And this could be THE most important advice. There is nothing stronger than proving you can do the job. I don’t care what anyone says. Make sure you open a Stack Overflow account and start answering questions. Then get your linked-in profile looking buff. Begin writing blogs, commit to open source projects (Github or Codeplex) and use an online continuous deployment tool like Appharbor.

3) Be happy with what you are currently doing

Whether it’s the projects you are working on inside work or the ones you are working on outside work then make sure you are happy with them. It can be hard when in work you are put on a project you don’t want to work on but I strongly recommend finding your peace with it. Become good at it and be diligent this will make it easier to be happy about it and this will come through in your interview. With regards to the projects you work on outside, well it should be easy to be happy with them if you aren’t then change them pronto!

4) Practice and learn about technologies that you need to know

If there is an area of your experience you are not too well versed in discussing or there is a project you have worked on that if you were questioned on you would falter then make sure you practice discussing it. Discuss it with your partner, the cat or even just to yourself. It will help you iron out problems with it before you try and bring it up in an interview. With regards to technologies that you don’t have but feel you should. Well the truth is many people embellish things on their CV. The problem is that you may get asked about it, so make sure you learn it inside out. Spend Saturdays learning about the stuff you want to work with.

5) Mirror the people interviewing you

If you’re being interviewed by a Geek crack geek jokes. If you’re being interviewed by a ‘Mumsy’ HR type then act innocent and for the ‘lads’ just laugh at all their jokes. Skills in being Chameleonic don’t come naturally for everyone but you can get better over time. You have to be mindful that the world comes in all shapes, sizes and types, you will get further if you can match your communication more closely with people!

Interview With a Web Developer

August 4th, 2018

I’m sure a large percentage of people who enjoy games or using computers have considered what it would be like to have I.T. as their profession. To try and answer this question we managed to drag the EGR tech department (one guy going by the name of Colonel Mustard) away from his desk to talk to us about his day job as a programmer.

Good evening. Could you give us your official job title and a brief description of what you do

I’m a web developer, and I work for a large publishing company in London on a number of different websites

How did you get involved in this type of work?

I’ve had an interest in computers for as long as I can remember, so when it came to deciding on what to study in further education computing seemed an obvious choice to me. I got lucky with a work placement during my University studies and landed myself a permanent role which is where I am now

Have you found using computers to be any different if you are using them for pleasure or for work?

When programming at home I have more time to work with technologies of my choice. Also

browsing the web can become a different experience when you’re a web developer, as you understand why things are done the way they are. So when a site breaks you can often pinpoint the bad/lazy programming that caused it.

Is it a challenge to keep up to date with advances in IT that may affect your work?

Yes, I think in that respect being a web developer is one of the most challenging jobs out there. There is such a vast range of technologies being used, and you have to understand everything from the front end to the databases.

Most jobs however focus on a smaller subset of technology, often supplied by a single vendor such as Microsoft, which makes it a bit easier

Is much of your time dedicated to training and learning new things? or do you cover enough of the same topics each day that this isn’t necessary?

Well I do try to keep as up to date as possible with the fundamental languages and the things I work with a lot, as I feel that I like to have a complete understanding of them. There are other things that seem to come and go, often like fashion in the software world. I try to get an understanding of these, but I don’t spend too much time focusing on something that I don’t think I’m going to use much.

I probably spend a few minutes a day reading blogs and articles covering a wide range of things. I particularly like the Microsoft blogs as they provide a good insight into the development of some languages.

What opportunities for advancing exist in the job? in terms of climbing the career ladder.

There are a number of directions in which to progress. The main directions you can go are either towards a more people-oriented position such as team management, or a more technical role such as a software architect.

There are many more opportunities, for instance a good company CIO will often have a programming background.

What would you recommend to people currently at school who are looking at this or a similar career?

Don’t study maths! I was told it was necessary for a career in computing, but they were wrong.

You can study maths if you want, I’m sure it will get you far, it just isn’t mandatory. It can help to get a degree in a computing-related subject, but often the course content won’t be hugely relevant, it’s just a way into the industry.

Try to be sure it’s what you want to do, as a lot of people give it a go and find they just

aren’t naturally good at software development.

with this being an EGR the interview wouldn’t be complete without some mention of gaming. Are you currently playing anything?

I like to play Insurgency occasionally, and a bit of TF2 every now and then. I’m against giving WoW a go as I’m scared it’ll consume my life for the next decade if I do.

I’m also currently contemplating playing Oblivion again as I started playing it when I was younger and never got round to finishing it. I used to play a huge amount of CS:Source, and was in a couple of clans a few years ago.

Do you have an all time favourite game?

That probably has to be the half-life series, especially HL2. The success of the series doesn’t surprise me. It’s one of the few games I’ve played more than once. My favourite online game has to be CS:Source

It does seem that Valve always produce top notch games, what do you think it is about them that other games companies find hard to emulate?

that’s a difficult question! Maybe it’s because they really seem to understand their audience and take the time to properly design games. Too many modern games seem to be a graphics showcase with little in the way of gameplay.

Then you get games such as Battlefield 2 which seems to have been rushed, constantly crashing before a patch was released.

Lastly, are you able to give us a quick sneak preview on what you’re working on for EGR?

Well hopefully in the near future we’ll have a more visually appealing site. It’s something that’s been on my mind for a while. Front end styling isn’t my strong point, but I think I have some good ideas. I am also busy working on both the “TF2 tactician” and “WoW tactician” which will allow users to build a large collaborative database of guides and tactics for the games they play. There is also a very snazzy CMS running behind the site which cannot be seen by the users but is being developed to allow easier posting of articles and updates and in the future will allow regular guest posts to be made by anyone wanting to try their hand at a bit of games journalism.

Those are the features I’m currently concentrating on coding and testing, there are also plans in the not too distant future to provide more functionality to the front page in the form of a calendar filled with gaming related events and various media players on the front page containing things like frag videos or just the latest virals.

Thank you for your time, I hope these answers have helped some people decide whether a career in software development is something they wish to pursue. Are there any final thoughts you wish to leave us with?

Yeah! Don’t ever bother with IE 6! Some of our biggest customers are various government bodies, and most of them happen to be stuck in the past with this monstrosity of a browser which makes my job that little bit more difficult.

Code Generators for Rapid Web Development

August 3rd, 2018

As a web developer, one thing that helps me to rapidly develop web applications is to use a common application framework that is flexible and robust. Additionally, I like to use code generators to build code for custom applications I build for my client. My most powerful code generators, create code for interacting with the local database dedicated to my website.

Normally, it is bad practice to repeat code when doing development. However, there are certain instances when this can be beneficial and assist in creating dynamic web applications. Here, we will discuss some of the many applications that I have found useful and how you can apply them to your own business.

Object-Oriented Classes

One way I enforce code reuse is by using object-oriented design. For my data access layer I create an abstract class which contains the common functionality. Next, I create derived classes which implement the specific methods which are needed for the entity model (usually a database table).

These derived classes have different fields which represent the fields defined for the table. They also contain mappings for the primary keys, any related fields that are retrieved from related tables, and custom methods for querying the database. The idea is that all of the database calls are encapsulated in the data access layer classes.

These derived classes have enough similarities between one another that it made sense for us to build a code generator to create these files from the database schema.

How to Generate Code in Your Intranet

On our intranet, we have the code generated connected directly to our database management scripts. When an administrator is viewing a table schema, they have a button on the bottom of the screen to generate the code for our data access layer. When the user presses this button, the code is immediately generated and the user can click anywhere on the code to select the code block and copy it to the clipboard.

The process of generating code is surprisingly simple. We simply retrieve the schema from the database and from that we define all the macros that are needed to substitute into a code template. These macros include things such as the script name, database table name, primary key fields, public fields, private fields, and a generated class name.

The code is output to the screen as pre-formatted text. Below this is a web form where the user may tweak any of the macro values that were generated. After making changes to these values, they can click a submit button which regenerates the code using the custom macro values. Of course this step is optional. The user may simply choose to copy all of the program code and paste it in their code editor and continue making changes that way.

Table Administration

In my website administration panel, I have a lot of pages that are built for managing database tables. I have a very capable library which handles all of the heavy lifting for paging through a table of records, creating a new record, editing and deleting a record. This is an object-oriented class that takes a variable number of parameters.

To create a new administration area, I just need to instantiate this class, define all of the required properties, and then call a method called “Process”. The resulting file is usually no longer than 25 lines of code. Creating these files doesn’t take very long when done by hand. However, I knew that creating a code generator for these server-side scripts would save us a lot of time.

Again, the key to accomplishing this goal was to first read the database schema for a table to get all of the field definitions. From these definitions, it would be a simple matter to create the code from an existing script template. I just define macros for all of the properties I need to substitute in the template. As the table schema is read, I build these properties which are later substituted in to the template.

Special Considerations

When generating code, it is important to keep in mind how the script is going to be used. In my data access layer scripts, I know that they are usually two directories beneath the website root. Because of this, I know that any relative links need to go up two levels to get to the site root.

Another important area to consider is form validation. There are certain constraints you can place on a web form to limit the amount of characters a user enters into a text field. You can even make Boolean fields display as radio buttons labeled “Yes” and “No”. Date fields can display using a specialized date picker.

Other special data fields can be displayed based on the field name. For example, fields containing the word “Password” can be displayed as password fields. I use fields with the name “created” and “modified” to track when a record has been changed. Fields that have the text “email” could be validated to make sure they contain a valid email address. Also, fields that have the text “postalcode” could be tested for valid postal codes.

I try to build my code generator so it is as smart as can be. The thinking behind this is that the developer can easily remove extra code that was added if they find too much validation is being done or the wrong type is done. The more work you can save for the developer, the better off you will be in the long run.