56 IT companies that offer jobs to developers in Nis are now listed here

August 27th, 2014

The unofficial list of IT companies in my town (Nis, Serbia) has enlarged and now it contains 56 IT companies.

Many thanks to all the people of good will that provided info and updates and helped me to build and maintain this list.

The latest entries are: AppModule, Edev, and Shindiri.

Share/Save/Bookmark

General, outsourcing , ,

More than 50 IT companies currently operate in Nis (Serbia)

June 17th, 2013

Almost two years ago I have started to populate the unofficial list of IT companies in my town (Nis, Serbia). In the beginning it contained something above 20 companies and now it reached more than 50. I want to thank you all who provided me with the info about the companies that work well and generate jobs in our town. I have received feedback from a lot of people that were very happy to know the fact that Nis has vibrant IT community and is a place where developers can find a decent job.

My impression now is that talented developers are headhunted very early (even 1 or 2 years before graduation) and that there are not so many talents available at the local market. Therefore, if we want Nis to have more than 100 IT companies we (not any governmental institution or agency) should promote programming and ICT to young people and collaborate closely with faculties in order to get more and better prepared fresh graduates.

Latest updates: Webelinx, Peaksel - no of employees, added HTec and Netico-Group (many thanks to Milan Rukavina for these)

Share/Save/Bookmark

General, outsourcing , ,

IT Companies in Nis Updates

May 23rd, 2013

I have decided to register updates to IT Companies in my town (Nis, Serbia, Eastern Europe) as separate posts.
So here is the first update in that manner:
- I have updated the info for StangaOne branch in Nis
- I have added the Joomboz company

Now, this unofficial list contains 46 potential working places for developers in Nis and still growing.

Share/Save/Bookmark

General, fun, outsourcing , , ,

Practice programming by solving challenges on job sites

February 4th, 2012

A few months ago, I read a really great article by Jason Rudolph on how to be a better developer http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer/ and it left a great impact on me. The impact mostly affected the way I think on how to improve programming skills because I didn’t took much action in relation to what it writes about.

That was so until recently, when I discovered increasingly popular job sites codeeval and interviewstreet. They are different from other job offering sites in means that they allow their users to participate in solving various challenges and earn achievements or job offers from great companies. In this way at the same time you’re becoming a better developer and can instantly evaluate how “good” you are based on how many challenges you solve or based on the offers you get. Isn’t that great? Even if you currently have a great job they are really great for practicing and who knows when you might need your achievements.

Update (Jan 09, 2013): Today I discovered https://www.hackerrank.com. A bit different concept but seems more interesting than previous two. I’ll definitely give it a shot.

Share/Save/Bookmark

General, fun , , , ,

IT Companies in my town (Nis, Serbia, Eastern Europe)

September 25th, 2011

serbia-europe-location

Serbia, Europe

Nis, Serbia

Nis, Serbia

The town of Nis (Niš, pronounced Niche) with its population of over 300,000 people is the University center of the South Serbia. South Serbia is the region with the lowest average salaries, broken industry (including EI Nis electronics which was the symbol of my town 20 years ago), it is often forgotten by government centered around Belgrade, etc. etc (there are numerous places in Serbian language containing more detailed ramblings (complaints mostly) on the current state in the region).

Being an optimist I tend to think that this hard economical situation has positively influenced the development of IT sector. There are numerous IT companies in Nis which are outsourcing partners of US and European companies (for example Accordia, Seavus, Youngculture). There are also companies that have their own products such as MotionDSP’s video enhancment products or Atomia’s server and hosting automation platform (they were also one of the Gold Sponsors of 2011 HostingCon). Please note that the above mentioned companies do not necessarily originate nor are completely located in Nis but have significant development resources located there. Also there are many freelancers including Genius-Tech, Disample, or individuals like me :) who work from home. I’ve noticed that on elance.com freelancers from Nis are the majority of Serbian freelancers. For a more thorough list of IT companies in Nis take a look at the table below. The given list is unofficial and probably incomplete but helps in getting the overall picture. I’ll update the list with new info from time to time.

Unofficial list of Nis IT Companies
Id Link ~No of Emp Technologies, Comments
1 http://www.horisen.com 17 PHP, Java, Mobile Services
2 http://www.youngculture.com 20 Java EE, Spring, Hibernate (Have developers in Belgrade as well)
3 http://www.smdesign.rs 5 PHP, Design, custom CMS
4 http://www.seavus.com 58 .Net, Java, C++
5 http://www.ilumnis.com 5 Java EE, C#
6 http://www.irvas.rs 10 Java EE, C#, Elearning
7 http://www.morenaict.com 5 C#, .Net
8 http://www.troxo.com 35 PHP, C#, .Net, iPhone Apps, Automation software (Comment:Atomia and DFANY are sister companies of Troxo each having their own website)
9 http://www.logik.rs 10 ERP, Information systems, .Net
10 http://www.lmb.de/ 5* .Net, Hardwar
11 Cim group** 10** .Net
12 http://www.uni4gold.com 10 .Net, Oracle
13 ING software 7 .Net, ASP, web development
14 http://www.genius-tech.com 3+ .Net, Web development, PHP, Zend
15 www.digit.rs 15 Java, Oracle
16 Eurogenyx 3 Electronics, .Net
17 Simplicity 5 Web development, PHP
18 Alfatec 15 R&D, Python, .Net, Electronics
19 PSC Mobile Solutions 3 .Net
20 Ates Nearsourcing 12 Web design & developement (PHP – Symfony framework + .NET), Mobile (iPhone, Android)
21 Niri ~7 R & D center, Intelligent information management
22 http://www.autview.com 10 Java EE, Spring, Hibernate
23 Accordia Group LLC 50 .Net, Java, Delphi, Data mining, SVG, Flex
24 http://www.powersoft.co.rs n.a. Information systems
25 http://www.mihajlovicsoft.rs n.a. Information systems
26 http://www.motiondsp.com 15 C++, .Net, Video enhancement tools
27 Disample DCC n.a. Web design
28 Adriatiko (Inter Casa Ambienta doo) 5 PHP, Web design and development
29 http://www.fazi.rs ~7* C, C++, Electronics (Casino games, Led displays)
30 Younify 10 Magento, PHP
31 MobileWasp ~3 Android, iPhone
32 http://www.codespeed.rs 3 Php, Zend, Web development
33 http://www.webelinx.com 20 iPhone, Web design
34 Smart net 13 .Net, mobile, js (more info at http://www.smartnet.rs/technologies)
35 Dualsoft n.a. Information systems for betting support
36 Energosoft 5 Oracle, Java ADF, SAP
37 Diyomi n.a. .NET, PHP, J2ME, Flash/Flex
38 Kraftwerk GmbH 5 Android, iPhone
39 www.etondigital.com ~5 Web design & development
40 Megatrend 10 Information systems
41 FutureForward 3 php, flash, flex
42 StangaOne1 20 c#,php, mobile(ios,android), FED, QA, opened in june 2012
43 DMV n.a. .net, electronics
44 Tehnopetrol n.a. Delphi
45 Mainframe2 7 HTML5, Rails, C++, .net, python, nodejs (startup)
46 http://www.joombooz.com/ n.a PHP, custom CMS
47 DOCS Logistics 6 .Net
48 http://nissatech.rs n.a Embedded systems, HW
49 http://peaksel.com 12 Mobile apps (iPhone, Android)
50 http://netico-group.com/ n.a. Embedded systems, SCADA
51 http://www.htec.rs 20 PHP, Android, iOS
52 Zlatna buba 7 .Net
53 Aster Media Net n.a. Web and mobile development
54 App Module 7 Android and iOS development
55 Shindiri studio 15 Wordpress and themes (good rank on ThemeForest)
56 Edev 5 Web and mobile development

*No of employees in software department

**it is recognized among developers as the worst IT company in the region

Please note: This table should be observed from a developers point of view -> potential employment opportunities. Therefore the employee numbers given represent the number of developers that work in Nis even though company could be located elsewhere. It is the same for technology column.

Update: I have updated employee numbers for Seavus, Horisen, Youngculture, SmartNet (Thanks for corrections)

Update 2: Added dualsoft and corrected info about youngculture having office in Novi Sad

Update 3: Updated employee number for Seavus from 25 to 58. Apparently the information I had before was too old.

Update 4: Added Energosoft and updated employee number for ING Software from 5 to 7

Update 5: Corrected info about logik

Update 6: Added Kraftwerk, Diyomi, EtonDigital, Megalink

Update 7: Added FutureForward, corrected info on Megalink (megatrend actually)

Update 8 (June 25, 2012): Changed the number of employees for younify. Added StangaOne1.

Update 9 (July 16, 2012): Updated info for Ates nearsourcing (number of employees, technologies)

Update 10 (February 26, 2013): Added 3 new companies: DMV, Tehnopetrol as advised by Miljan and a new startup in Nis - Mainframe2. Corrected salary info (upper limit and percentage below 1000e).

The information about salaries is not given for obvious reasons, but for Nis they are within range 300e - 1700e net (for gross value add 40% to that number). Approximately 80% of developers have less than 1000e.

For more details about any of the above mentioned company you can check with provided links or you can contact me (email: sfsgagi attt gmail dottt com or on twitter @draganstankovic) and I would be very glad to help in making contact for you or to direct you in the proper way.

It’s good to be a developer in Nis :)

Share/Save/Bookmark

General, Javascript, outsourcing, ruby , , ,

Podcasts for Developers

April 29th, 2011

Until I started to travel on a regular basis I haven’t been aware of the value and information that can be found audio podcasts for developers. I thought, “Come on, what can you learn from listening to a radio?”.

Nevertheless, since I had to fulfill my time with something other than staring at empty space (I travel by night) I tried listening to some podcasts and since then I haven’t stopped to follow the ones that I liked the most.

In my opinion (being a Java developer most of the time), Java posse is the best podcast around. The guys behind it are very amusing, have different characters (opinions), and often make a roundups on hot topics where they include more people in discussions. For example, episode #337 they made together with guys from .net rocks which is I guess the best podcast for .net developers.

Apart from Java posse I like listening to grails podcast although they are not as regular with new stuff as Java posse is.

In near future I plan to check some python or ruby podcasts and compare their awesomeness to Java posse.

Try listening to any podcast for developers and you won’t regret. The feeling you’ll probably have is like you have found yourself a good developer friend who is willing to share his personal insights and programming knowledge with you. At least that is how it was in my case.

Share/Save/Bookmark

General, Java, fun, groovy, ruby , , , , ,

My startup ideas list (no it’s not revealed)

April 20th, 2011

I’ve decided to reveal my startup ideas list size (not the actual content which is in Serbian and would take some time to translate).

This is the list I populated in the last 3 years. Whenever I got an idea about something (in 99% it is IT/web/app stuff) that could be interesting to be done but may lead to startup company or something that can be done out of pure altruism I’ve written it to my tadalist. This tadalist helped me to reduce my frustration of not having time to work on “my stuff” and fear of forgetting what I wanted to do.

Today, I looked at this list to pick the best ideas and could easily enlist a few (actually six which are marked with green arrows on image below). Sadly, I’ve only managed to make some progress on only two items (out of 70 something) and even that small progress didn’t happened until recently.

I guess I am a bad executor but I am improving myself.

I wonder how many people have more/less ideas and what is their execution rate. Also, although I am not 18 for more than a decade, what do you think “Do I have potential?”

my startup ideas

my startup ideas

Share/Save/Bookmark

General, fun , ,

Dbunit composite primary keys

April 20th, 2011

For some task I was doing I had to make a snapshot of mysql database having only jdbc connection available. I wasn’t able to use mysqldump (remote access) or other backup tools (I wanted to do this as part of my java program - programmatically).

So, I came across http://dbunit.sourceforge.net/ which allowed me to backup my database to xml file.

The routine is rather simple (please note the escape parameter setting which is required if (like in my case) author of legacy code you have to use put ‘table’ or some other odd name as a column name :) :

public void saveDb(OutputStream os) 
   throws DatabaseUnitException, SQLException, IOException {
 
   IDatabaseConnection connection = new DatabaseConnection(getConnection());
   DatabaseConfig config = connection.getConfig();
   config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, 
      new MySqlDataTypeFactory());
   config.setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER, 
      new MySqlMetadataHandler());
   config.setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "`?`");
 
   IDataSet fullDataSet = connection.createDataSet();
   DefaultTableFilter tableFilter = new DefaultTableFilter();
   tableFilter.excludeTable("ignoredtable*");
 
   IDataSet filteredDataSet = new FilteredDataSet(tableFilter, fullDataSet);
   FlatXmlDataSet.write(filteredDataSet, os);
 
}

Then, when I wanted to restore it with:

public void restoreDb() throws Exception {
 
   IDatabaseConnection connection = new DatabaseConnection(db.getConnection());
   DatabaseConfig config = connection.getConfig();
   config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, 
      new MySqlDataTypeFactory());
   config.setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER, 
      new MySqlMetadataHandler());
   config.setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "`?`");
 
   IDataSet dataSet = new FlatXmlDataSetBuilder().build(new File(fileName));
 
   DatabaseOperation.DELETE_ALL.execute(connection, dataSet);
   DatabaseOperation.REFRESH.execute(connection, dataSet);
}

This method wont’t work if you have a table without primary key or oddly defined composite keys. It will throw: org.dbunit.dataset.NoPrimaryKeyException

The solution is to add primary key filter configuration option like this:

config.setProperty(DatabaseConfig.PROPERTY_PRIMARY_KEY_FILTER, new IColumnFilter() {
 
 Map<String, List<String>> tablePrimaryKeyMap = new HashMap<String, List<String>>();
   {
      tablePrimaryKeyMap.put("table_with_composite1",
         Arrays.asList(new String[] { "composite_part1", "composite_part2" }));
      tablePrimaryKeyMap.put("table_with_composite2",
       Arrays.asList(new String[] { "other_part1", "other_part2", "other_part3" }));
      // ...
   }
 
   @Override
   public boolean accept(String tableName, Column column) {
      if (tablePrimaryKeyMap.containsKey(tableName)) {
         return tablePrimaryKeyMap.get(tableName).contains(column.getColumnName());
      } else {
         // you can add default handling if for example all
         // other table ids are named as 'id'
         return column.getColumnName().equalsIgnoreCase("id");
      }
   }
});

And that’s it. Yee!

Share/Save/Bookmark

Java, testing , , , ,

Apache CXF Linux Deployment

April 11th, 2011

A short reminder of small issues I had with deploying Apache CXF web service I built on linux server (CentOS in my case):

yum install tomcat5 went really well :) and then I had to add webapps and manager packages with separate commands.

tomcat5 package depends on jdk-1.4 so in case you haven’t already installed a more recent version of java you’ll get this one.

I used the tutorial from http://www.jroller.com/gmazza/entry/web_service_tutorial to set up the options for deploying to tomcat using maven and that went well, but jdk-1.4 was causing spring context loader to throw:

SEVERE: Exception sending context initialized event to listener instance of
class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org.springframework.core.CollectionFactory
at java.lang.Class.initializeClass(libgcj.so.7rh)
...

and the actual error displayed when I tried to access the service from the browser was:

threw exception javax.xml.transform.TransformerFactoryConfigurationError:
Provider org.apache.xalan.processor.TransformerFactoryImpl not found  at
javax.xml.transform.TransformerFactory.newInstance(Unknown Source)  at
org.apache.cxf.helpers.XMLUtils.newTransformer(XMLUtils.java:118)

This was solved by installing open-jdk 1.6 devel package with yum, but then another, trickier error appeared:

java.lang.NoClassDefFoundError: org/apache/xml/serializer/OutputPropertiesFactory
at org.apache.xalan.templates.OutputProperties.(OutputProperties.java:82)
at org.apache.xalan.transformer.TransformerIdentityImpl.(TransformerIdentityImpl.java:86)
...

At several links (here and there) I figured it out that it has something to do with xalan.jar which was unavailable to my service deployed on tomcat. A command:

yum list xerces* xalan* | grep installed

showed that I already had xalan-2.7.1 in my /usr/share/java so I tried with copying it to CATALINA_HOME/common/endorsed but that didn’t fix the problem. I also tried symlinking xalan.jar to that file but that didn’t work either.

In the end, at the link which appeared to be some forum’s archive I found that someone had problems similar to this and was advised revert to xalan-2.6 version. I’ve tried with jar in http://archive.apache.org/dist/xml/xalan-j/binaries/xalan-j_2_6_0-bin.zip and it worked.

Yeee “me happy” :)

Share/Save/Bookmark

Java, Links, linux , , ,

Battle for Brilliant Developers (not Managers)

February 23rd, 2011

Recently, I’ve read about many companies offering rewards for referring great developers to them. Examples are Hubspot offering $10k, SeoMoz oferring $12k, and EnergySavy oferring $10k.

It appears that demand for developers exceeds supply so it’s good to be developer these days so I am using this opportunity to remind young computer science graduates that they are sometimes badly taught that being a developer is like being a plain old dirty worker and that they should strive to become project managers or team leaders. Graduates should ask themselves if they have ever seen a job ad asking for managers and offering reward before making a decision to become “great managers the world will know of” :)

After all, the most important thing is to be happy in what you are doing. And in my opinion being developer makes you happy and forever young (at least in spirit).

(The illustrations below show Happy developer and Miserable manager)

Share/Save/Bookmark

General, fun , , ,