Posted by berek on Thursday, May 19. 2011
I am currently in a position where I am the sole individual on a in-house project. This project is used for new employees to work on until they are moved to their permanent position. Being the sole individual on the project I am responsible for the new employees from anywhere to a week to a month (hence short timers).
I have never managed people and I guess I technically still have not. I think I am more of a technical lead. I am responsible for introducing them to the project and getting as much out of the individuals as possible. There are many hurdles you have to jump:
- Most incoming developers are Java based and don’t have any C# or .NET MVC experience.
- Have you understand what the project is very quickly.
- Must adjust to new development environment (Repository, IDE, Issue Tracker, etc).
- Communication. All short timers are based in a satellite office about 90 minutes from the corporate office.
Now that I am done complaining maybe I can give some hints to help “manage” the situation.
- Communicate – First week twice a day, second week once a day, and after the second week talk as needed. You should also be available as much as possible especially in the first 2 weeks.
- Start small – Start with easy tasks. Even the ones with 20 years experience need time to adjust to a new setting and development style.
- Document - Make sure you know what they are doing and how they did it. This is especially needed if they don’t finish that new feature and your stuck with code you don’t understand. This goes for in code documentation, issue tracker notes, and wiki documentation.
- Freedom – Developers need it and flourish in it.
Posted by berek on Thursday, May 5. 2011
There is more to learning a new programming language then going over a few tutorials on how to build a blog.
I have been using Ruby.On.Rails on the side for about 2 years and after giving a short talk about Ruby I realized I didn’t really know Ruby or Rails. I had a vague understanding of Rails and MVC and Ruby was just another language to write if statements with.
I know the general syntax and concepts to do the basic stuff in Java, Ruby, C#, and a few other languages but I don’t think I have an advanced knowledge of any. To make excuses I think it is because when ever I need to learn a new language it is on a time restraint and I don’t seem to have the time to do the grunt work that is needed to “learn” the language.
Time needs to be spent to go through examples, read multiple books, and dive into the parts of the language that are unique to itself. By making the time you will gain a much better understanding and mastery that will allow you to build more effectively and efficiently.
I need to take that next step to become a better developer.
Posted by berek on Tuesday, March 29. 2011
Upgraded my key chain last night.
I got an 8 GB flash drive for Christmas last year and I was using it rarely. Stealing the idea from my brother I decided to move the flash drive to my key chain.
I am loading the drive with portable apps and for general storage use.
Current Feature List
- Electronic Car Lock
- Flash Drive
- Car Keys
- House Keys / Key Tool
- Work Keys
- Center Clip
- Easy to remove modules
- Flash drive
- Key Tool
Posted by berek on Friday, March 25. 2011
If you are a manager of developers you must set them up to succeed.
Developers need the proper tools, support, and expectations to be all that you want them to be. If there is disorganization in the project, in the team, or in the company than
There are three things that developers need when starting a project. This project could be in the middle of development or could be starting tomorrow.
- Project Manager. This individual does not have to actually be the project manager but they need to be the person that knows the specifications of the project front and back. Questions like ‘How should inputting the account data work?’, ‘Do we need a pie chart or a bar chart?’, and ‘Do they want a tabbed interface or a sidebar?’
- Technical Lead. If there is an existing code base then this person is essential. Without having some direction new developers can be lost in a sea of abstraction and new technologies.
- Proper Expectations. This is going to change on experience and how the first couple weeks unravel. Is the new developer really getting it or do they need some extra attention or some training?
When bringing in new developers or moving existing developers to a new project make sure they have what they need to succeed. By providing essential tools and support will allow your developers to be productive, happy, and create awesome.
Posted by berek on Friday, March 11. 2011
Curly braces should almost never be on a new line. So here are the steps to make MS Visual Web Developer Express more awesome.
Tools -> Options
Select ‘Show all Settings’
Text Editor -> C# -> Formatting -> New Lines
Uncheck all boxes except for the last three (the last three are all under the ‘New line options for expressions’ directory).
This will ensure that all curly braces are on the same line as the class, function, else, catch, and so on.
Posted by berek on Friday, March 11. 2011
I enjoy feedback and conversation when I am writing. By getting different viewpoints your thoughts and ideas can be enhanced, changed, or reinforced in a beneficial way. After using and enjoying Tumblr for a few months I realized that they don’t support comments or have many advanced features that WordPress has. So, I decided to switch to WordPress for my public blogging needs.
For a public blog I believe WordPress is far superior, however, for a personal journal or anything where feedback is not really needed I like the simple interface of Tumblr.
I will continue to use Tumblr for my monthly career journal and most likely any other personal writing needs in the future.
Posted by berek on Wednesday, March 9. 2011
When you are working on non-visual aspects of your project it can be hard to demonstrate to managers and customers that you are making strides to your goal. You need to be able to show that things are getting done, you need a way to demonstrate your kicking ass and you need to help create that perception.
Version control and issue trackers can be a very powerful tool to create that needed perception. You should be using these tools anyway. Any size development team should be using them, even if it is just you.
Version control systems allow teams to backup, share, and collaborate effectively. You can also use it to show all the commits you have pushed to the code base. By writing good code and committing new code on a regular basis it shows that your are contributing to the project and getting things done.
Managers and customers should really like issue tracker software because is allows them to see what bugs and features are being implemented. If you are clearing bugs out like the Orkin man then managers will be able to see your work.
Providing time spent on an issue, on going updates, and estimated time will provide valuable information to your manager for future planning and help them realize your value.
Creating, updating, and removing issues would also help. By helping to maintain issues you are showing that you care about the project and that you understand what it should be doing.
Having your version control and issue tracker integrate with each other is also a very good idea. Many issue trackers will recognize new commits and update the issue automatically. Some will also give statistics on you is committing and countless other breakdowns.
Doing your work is not always enough. Your manager needs to know how awesome you are but you want to do it the right way.
Do great work and use great tools.
Posted by berek on Wednesday, March 2. 2011
Knowing your weaknesses is a good thing, a very good thing. If you recently had a job interview you should have already considered your weak points and if you are getting ready for an interview it is a MUST.
Weaknesses do not include:
- I work too hard
- I love too much
Weaknesses will change with your job description. If you don’t know a lick of PHP that should not hurt if you are applying for a Ruby.On.Rails position, but you might need to know bash if your are going to be a System Administrator. There are weaknesses that will have an affect across the board. Verbal communication and writing are great examples that can’t hurt in almost any field.
You need to stay aware of the evolution of your skills and job description and constantly reevaluate them.
Having a recurring assessment of your weaknesses will allow you keep improving over time. By concentrating on the skills that are most needed and need the most work will allow you to build these skills like an RPG character.
Posted by berek on Monday, February 28. 2011
Why Company Network Restrictions Are Bad
- Tells your employees you don’t trust them
- Hamper communication
- People will find ways to waste time
- Creates bureaucracy
- Creates a bad guy (enforcer of restrictions)
- Don’t want people wasting time?
- Give them interesting things to do
- Hire good people
- Realize people need a break
Posted by berek on Wednesday, February 16. 2011
I graduated with a Computer Science degree in May of 2007 and I thought I was hot stuff then I realized I didn’t know anything.
Three and a half years later I still don’t know a damn thing.
I have noticed that I tend to go through cycles of different levels of confidence. One week I will think I can take on any challenge no matter the conditions and the following week I will be wondering why I am not working at Lowe’s.
The important thing is to keep in mind that in both states you are probably wrong. You need the confidence to take on the tough tasks that will help your career but you don’t want to be a dick.
So, walk with confidence and talk with modesty.
Page 1 of 1, totaling 10 entries